Pomoc s doladením skriptu.

Sekcia: Ostatné 18.08.2017 | 22:36
Avatar Tomáš Lehocký Lubuntu  Používateľ

Ahojte

Mám takúto jednoduchú web stránku: pocasienahorach.sk

Stránka je generovaná bash skriptom, ktorý som si za týmto účelom napísal.

Skript funguje, ale má niekoľko bugov. Neviem ich opraviť, nakoľko programovanie mi moc nejde.

Je tu niekto, kto vie dobre skriptovať v BASH a je ochotný investovať nejaký svoj čas?

Ďakujem

Tomáš Lehocký tomas@lhc.sk

tomolc
    • RE: Pomoc s doladením skriptu. 19.08.2017 | 20:32
      Avatar bedňa LegacyIce-antiX  Administrátor

      Čau, čo tak opísať ten problém.

      Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
      • RE: Pomoc s doladením skriptu. 19.08.2017 | 23:24
        Avatar Tomáš Lehocký Lubuntu  Používateľ

        Ahoj

        Ďakujem za reakciu.

        - skript prechádza stromovú štruktúru a má mazať súbory podla prípony a generovať nové, stáva sa že zmaže aj súbory z iných adresárov ako je jeho pracovný. (neošetrené rm ...)

        - skript načítava url z konfigu. neviem z url vyextrahovať potrebnú časť a tak pri každej lokalite tú url extrehujem ručne a zapíšem do konfigu (slabá znalosť grep, awk a sed)

        - chcel by som do konfiguraku pridavať dalšie parametre pre generovanie podstránok. Mám blbo vyriešené čítanie konfigu. Skript ide vždy "3 riadky parametrov = jedna lokalita" dalšie 3 riadky dalšia lokalita. Ked niekde pridám 4 riadok tak sa slučka rozpadne a zhavaruje to. Neviem to ale lepšie.

        CONFIG:

        TERAZ (A): Rysy rysy_poland_759825 city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw Krivan kriváň_slovak-republic_724393 city=Kriv%C3%A1%C5%88&iso2=sk&lat=49.162498&lon=19.999901&asl=2495&tz=Europe%2FBratislava

        PONOVOM (B): =Rysy ==https://my.meteoblue.com/visimage/meteogram_web?look=KILOMETER_PER_HOUR%2CCELSIUS%2CMILLIMETER&apikey=5838a18e295d&cache=no&city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw&lang=en&ts=1503172538&sig=56c31385e3c5ad3ef939270007c0dc8f ==parameter2 ==parameter3 ==parameterXXX

        =Krivan https://my.meteoblue.com/visimage/meteogram_web?look=KILOMETER_PER_HOUR%2CCELSIUS%2CMILLIMETER&apikey=5838a18e295d&cache=no&city=Kriv%C3%A1%C5%88&iso2=sk&lat=49.162498&lon=19.999901&asl=2495&tz=Europe%2FBratislava&lang=en&ts=1503172680&sig=bb868728c68062fc79beda77de148a30 ==parameter2

        chcel by som aby skript spravil z "B" zas to "A", pričom v šablone html bude vymedzene miesto pre umiestnenie obsahu parametrov a tam ich skript použije. v pripade toho linku vysledok aj zapiše do konfigu.

        Tomáš Lehocký

        tomolc
        • RE: Pomoc s doladením skriptu. 19.08.2017 | 23:28
          Avatar Tomáš Lehocký Lubuntu  Používateľ

          nejako som to nezvladol - postujem ešte raz naformatovane

           

          - skript prechádza stromovú štruktúru a má mazať súbory podla prípony a generovať nové, stáva sa že zmaže aj súbory z iných adresárov ako je jeho pracovný. (neošetrené rm ...)

           

          - skript načítava url z konfigu. neviem z url vyextrahovať potrebnú časť a tak pri každej lokalite tú url extrehujem ručne a zapíšem do konfigu (slabá znalosť grep, awk a sed)

           

          - chcel by som do konfiguraku pridavať dalšie parametre pre generovanie podstránok. Mám blbo vyriešené čítanie konfigu. Skript ide vždy "3 riadky parametrov = jedna lokalita" dalšie 3 riadky dalšia lokalita. Ked niekde pridám 4 riadok tak sa slučka rozpadne a zhavaruje to. Neviem to ale lepšie.

           

          CONFIG:

           

          TERAZ (A):
          Rysy
          rysy_poland_759825
          city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw
          Krivan
          kriváň_slovak-republic_724393
          city=Kriv%C3%A1%C5%88&iso2=sk&lat=49.162498&lon=19.999901&asl=2495&tz=Europe%2FBratislava

           

          PONOVOM (B):
          =Rysy
          ==https://my.meteoblue.com/visimage/meteogram_web?look=KILOMETER_PER_HOUR%2CCELSIUS%2CMILLIMETER&apikey=5838a18e295d&cache=no&city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw&lang=en&ts=1503172538&sig=56c31385e3c5ad3ef939270007c0dc8f
          ==parameter2
          ==parameter3
          ==parameterXXX

           

          =Krivan
          https://my.meteoblue.com/visimage/meteogram_web?look=KILOMETER_PER_HOUR%2CCELSIUS%2CMILLIMETER&apikey=5838a18e295d&cache=no&city=Kriv%C3%A1%C5%88&iso2=sk&lat=49.162498&lon=19.999901&asl=2495&tz=Europe%2FBratislava&lang=en&ts=1503172680&sig=bb868728c68062fc79beda77de148a30
          ==parameter2

           

          chcel by som aby skript spravil z "B" zas to "A", pričom v šablone html bude vymedzene miesto pre umiestnenie obsahu parametrov a tam ich skript použije. v pripade toho linku vysledok aj zapiše do konfigu.

           

          Tomáš Lehocký

          tomolc
          • RE: Pomoc s doladením skriptu. 20.08.2017 | 11:37
            Avatar bedňa LegacyIce-antiX  Administrátor

            Rekurzívne mazanie html súborov v priečinku

            find . -name "*.html" -type f -delete

            Ulož si link do premennej

            http_link="759825https://my.meteoblue.com/visimage/meteogram_web?look=KILOMETER_PER_HOUR%2CCELSIUS%2CMILLIMETER&apikey=5838a18e295d&cache=no&city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw&lang=en&ts=1503172538&sig=56c31385e3c5ad3ef939270007c0dc8f"

            Keď chceš z linku dostať napríklad city

            city=$(echo $http_link | grep -o 'city=[^&]*' | cut -d "=" -f 2)

            Potom si z tých premenných poskladáš čo chceš.

            Inak mal by si si naštudovať ich API, aby si na to nešiel cez les.

            Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
            • RE: Pomoc s doladením skriptu. 20.08.2017 | 19:21
              Avatar Tomáš Lehocký Lubuntu  Používateľ

              Dikes za radu

              Link a applet skladám z parametrov, ktoré mám v premenných v skripte. Potrebujem skôr to jadro linku v kuse. Čiže odfiltrovať všetko čo je pred "city" a všetko dalej od "lang" včetne toho "lang". Jadro linku sa nemení.

               

              Ich api som si pozeral. Ale je to pre mňa moc velké delo. Dá sa podla toho generovať vlastný meteogram a tak. Mne bohate postačia tie ich hotové meteogrami a widget. Na nekomerčné použitie je to OK.

              tomolc
              • RE: Pomoc s doladením skriptu. 20.08.2017 | 20:01
                Avatar bedňa LegacyIce-antiX  Administrátor

                To sa môže v časopriestore meniť, takže si odfiltruješ obsah premenných a potom si to zas posklasáš, tak napr.

                city=Rysy&iso2=pl&lat=49.179100&lon=20.088400&asl=2499&tz=Europe%2FWarsaw

                Dostaneš tak že si vyfiltruješ (podľa môjho návrhu vyššie) city, iso2. lat, lon, asl a tz. Potom z toho poskladáš celý ten riadok, keď porozmýšľaš tak na to prídeš, ak nie, napíšem ti ako, ale bol by som rád keby si sa to snažil pochopiť.

                Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                • RE: Pomoc s doladením skriptu. 20.08.2017 | 21:19
                  Avatar Tomáš Lehocký Lubuntu  Používateľ

                  OK chapem, máš pravdu.

                  tomolc
                  • RE: Pomoc s doladením skriptu. 20.08.2017 | 22:32
                    Avatar bedňa LegacyIce-antiX  Administrátor

                    Kámo smelo do toho, ak budeš mať problémy napíš.

                    Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                    • RE: Pomoc s doladením skriptu. 21.08.2017 | 13:21
                      Avatar samalama.   Návštevník

                      ty budes asi tiez mimo... (zeby z toho chlastu...?)

                      • RE: Pomoc s doladením skriptu. 21.08.2017 | 14:52
                        Avatar bedňa LegacyIce-antiX  Administrátor

                        Možností je samozrejme viacero, ale nechápem čo ťa mohlo takto naštvať.

                        Táto správa neobsahuje vírus, pretože nepoužívam MS Windows. http://kernelultras.org
                        • RE: Pomoc s doladením skriptu. 21.08.2017 | 18:22
                          Avatar samalama.   Návštevník

                          ano, moznosti je viacero, a/ale bash medzi nimi urcite nebude (na taketo pouzitie)...

    • RE: Pomoc s doladením skriptu. 19.08.2017 | 22:00
      Avatar samalama.   Návštevník

      kriste pane, dalsi krehel :D:D:D:D

      • RE: Pomoc s doladením skriptu. 19.08.2017 | 23:29
        Avatar Tomáš Lehocký Lubuntu  Používateľ

        Dobrý večer.

        Vašemu humoru som nepochopil môžete ma uviesť do obrazu?

        Ďakujem

        tomolc
        • RE: Pomoc s doladením skriptu. 21.08.2017 | 18:23
          Avatar samalama.   Návštevník

          uvedomujes si, ze si si vybral asi ten najhorsi mozny nastroj, aky si si mohol vybrat...?