Hodnocení GCVote a GC.CZ přes GEOGET - skript
#21
Publikováno 09 březen 2012 - 16:16
#22
Publikováno 09 březen 2012 - 16:23
#23
Publikováno 09 březen 2012 - 17:43
Tak buď jsem to špatně pochopil nebo dělám něco blbě.HaLuMa napsal/a:
Pokud v Geogetu mas hlasovani pro gc.cz, tak pri odesilani hlasu bude pouzito pro GCVote.
A naopak, pokud budes v Geogetu hlasovat pro GCVote, tak kdyz das pak odeslat hlasy na gc,.cz, tak se pouziji i ty hlasy z GCVote.
Rozumím tomu tak, že když chci nějaké kešce přiřadit např. 100% nemusím klikat zvlášť na skript "GCvote - hlasuj o kvalitě" (zapíše do tagu Vote) a zvlášť na skript "Oznámkuj kvalitu" (zapíše do tagu známka). Čili hodnotím jedním systémem ale odešle se na oba.
No a přesně to se nestane. Teď jsem si s tím hrál a jeden skript mi oba tagy nezapíše...
#24
Publikováno 09 březen 2012 - 18:01
mike_btk napsal/a:
Tak buď jsem to špatně pochopil nebo dělám něco blbě.
Rozumím tomu tak, že když chci nějaké kešce přiřadit např. 100% nemusím klikat zvlášť na skript "GCvote - hlasuj o kvalitě" (zapíše do tagu Vote) a zvlášť na skript "Oznámkuj kvalitu" (zapíše do tagu známka). Čili hodnotím jedním systémem ale odešle se na oba.
No a přesně to se nestane. Teď jsem si s tím hrál a jeden skript mi oba tagy nezapíše...
Ano pochopil jsi to špatně, stejně jako já . Jeden script opravdu zapisuje pouze jeden tag. Ale pokud necháš nahrát hodnocení na web druhým skriptem ty tagy doplní.
Lépe řečeno. Spustíš "Oznámkuj kvalitu" a dáš třeba 100%. Vytvoří se tag Znamka s hodnotou 100.
Pokud teď dáš Geocaching.cz známky, nahraje se hodnocení 100% na web GC.CZ.
Pokud ale zvolíš Ulož GCVote hlasování a předtím si pomocí skriptu NEvytvořil tag Vote, vezme data s tagu Znamka, tedy s hodnocení z GC.CZ.
To znamená, že stačí provést hlasování jedním skriptem a pak to druhým nahrát na web.
Jinak to se dá celé zautomatizovat pomocí Combain. Stejně tak jde, pokud si doteď hodnotil jen jedním způsobem, vše nahrát na druhý server. Jestli s tím chceš pomoct, napiš na [mail]vasa@geocaching.z[/mail]
#25
Publikováno 09 březen 2012 - 19:28
Už mi to docvaklo - ono to nahraje obě hodnocení, ale nevytvoří ten druhý tag, proto jsem myslel, že to nefunguje, protože jsem to na netu nekontroloval. No, tak jsem zase chytřejší Díkec!VasaM napsal/a:
Ano pochopil jsi to špatně...
#26
Publikováno 18 květen 2016 - 13:14
Ahoj, poradíte někdo, jak upravit plugin gcvote, aby načítal hodnocení pouze z aktuálně zobrazeného seznamu a ne pro celou db? Když jsem připojený přes mobil, trochu s tím bojuji a načtení celé db mi trvá i desítky minut. Pravděpodobně půjde o změnu v gcvoteread.ggp.pas, ale nevím co vlastně upravit. Děkuji
#27
Publikováno 18 květen 2016 - 14:13
Jo, taky by mě to zajímalo. Zbytečně to zatěžuje server GCVote a trvá to asi půl minuty. A to mám jen 5000 keší v db.
SW: a:Drake 6
HW: Ulefone PowerArmor 18t (Android 12), Qstarz BT-Q818XT bluetooth GPS modul
"When you go to hide a geocache, think of the reason you are bringing people to that spot. If the only reason is for the geocache, then find a better spot." – briansnat
#28
Publikováno 18 květen 2016 - 14:22
Tak jsem se na ten skript v gcvoteread.ggp.pas schválně podíval a celé je to trochu jinak, čímž vás asi nepotěším.
Skript totiž z url adresy http://gcvote.com/listUserVotes.php stáhne celý soubor s hodnocením konkrétního uživatele. Tento soubor pak parsuje a nastavuje tagy u keší, které v souboru najde. Takže prvotní problém je na straně GCVote, které poskytuje pro každého uživatele pouze celý soubor všech jeho udělených hodnocení. Na straně Geogetu tedy nevidím žádný prostor k optimalizaci.
Tento příspěvek byl upraven od mh.mail: 18 květen 2016 - 14:23
#29
Publikováno 18 květen 2016 - 15:09
Tak zrovna tohle je v poradku! gcvoteread slouzi k nacteni vasich vlastnich hodnoceni, tedy vami udelene znamky. To se dela typicky jen jednou na zacatku, protoze dlasi znamky se prideluji pres Geoget a odesilaji na gcvote, takze je netreba uz stahovat.
Pokud te zajima prumerne hodnoceni od vsech ostatnich uzivatelu, tak je to gcvoteget. Ten ted opravdu smaze prislusne kategorie tagu, a nacita je znovu. Tohle se nacita postupne podle seznamu GC kodu, takze by to upravit slo.
#30
Publikováno 19 květen 2016 - 9:18
Tak zrovna tohle je v poradku! gcvoteread slouzi k nacteni vasich vlastnich hodnoceni, tedy vami udelene znamky. To se dela typicky jen jednou na zacatku, protoze dlasi znamky se prideluji pres Geoget a odesilaji na gcvote, takze je netreba uz stahovat.
Pokud te zajima prumerne hodnoceni od vsech ostatnich uzivatelu, tak je to gcvoteget. Ten ted opravdu smaze prislusne kategorie tagu, a nacita je znovu. Tohle se nacita postupne podle seznamu GC kodu, takze by to upravit slo.
Koukám na něj a nějak se v tom gcvoteget nevyznám.
Je to tohle?
procedure PluginWork;
begin
data := data + GC.ID + CRLF;
end;
Nevidím tam žádný select ani update
#31
Publikováno 19 květen 2016 - 9:35
mikeant:
Částečně ano, ale nikoliv úplně.
Celý ten proces zpracování v pluginu funguje takto:
Na začátku zpracování se jednou zavolá procedura PluginStart, pak pro každý záznam, který je aktuálně označen, se zavolá procedura PluginWork a na konci zpracování se jednou zavolá PluginStop.
Když koukám do kódu, tak v PluginStart je jenom naplnění informačních údajů a vymazání proměnné data. V PluginWork pak do proměnné data dává postupně kódy všech keší, které jsou aktuálně označené v okně. A v PluginStop pak tuto proměnnou zpracovává - prochází jednotlivé načtené kódy, vytváří z nich dávky o 200 kusech a pro každou dávku zavolá proceduru GGvoteAsk, která provede dotaz na server GCVote a jeho odpověď pak zpracuje.
Nevím, proč je zvolená velikost dávky zrovna 200, otázkou je, jestli by to nešlo zvětšit, čímž by se zmenšil počet volání GCVote, ale v každém případě to vypadá, že to reflektuje, jaké keše jsou aktuálně označené v okně.
Ale pozor! V dokumentaci na Araratu jsem zjistil, že ještě existuje funkce PluginFlags, která říká, jaké záznamy má PluginWork zpracovávat. Píšou tam, že pokud není „global“ ani „list“, bude zpracovávat označené záznamy. Pokud je „global“, bude volána pro každý záznam v databázi. V pluginu tato funkce vrací hodnotu „general“, což není „global“ ani „list“, takže by to mělo zpracovat jenom označené.
Zdá se, že je to napsané správně.
#32
Publikováno 19 květen 2016 - 13:05
Tak já nevím, ale bez ohledu na to, které keše mám v seznamu, nebo označené, to zpracovává všechny keše v db. Zkusím si doma pohrát a upravit ten pluginflags na "list"
#33
Publikováno 19 květen 2016 - 13:50
Ano, dela to pro celou DB. Ma to ostatne v popisku...
uprava flagu by ale mela stacit, pokud ti nevadi, ze to smaze gcvote znamky v cele db, ne jen u tech postizenych kesi. Muselo by se ta to odmazavani cele kategorie tagu dat pryc a predelat prirazovani novych tagu.
#34
Publikováno 20 květen 2016 - 8:49
Takže když nahradím
Result := 'general'; za Result := 'list';
a dále odmažu
GeoTagDelCategory(TagCat);
GeoTagDelCategory(TagCatCnt);
a nahradím
geo.TagAdd(TagCat, trim(vm)); za geo.TagReplace(TagCat, trim(vm));
geo.TagAdd(TagCatCnt, trim(vc) + 'x'); za geo.TagReplace(TagCatCnt, trim(vc) + 'x');
mělo by to chodit?
#35
Publikováno 20 květen 2016 - 8:50
pokud jsem neco neprehledl, tak ano.
#36
Publikováno 20 květen 2016 - 8:58
Velice děkuji, vyzkouším a dám vědět.
Ještě jeden dotaz - ve statoru se nikde ten script gcvote nevolá, že? Co jsem koukal, tak se využívá pouze z db již hotový tag GCvote-median a TagCatCnt. Jde mi o to, že když si ten script trvale upravím, abych nezpřetrhal nějaké návaznosti...
#37
Publikováno 20 květen 2016 - 9:40
Ve Statoru se Michale GCVote nevolá. Může ho volat jen dávka Combine. Stator samotný se snaží jen a jen generovat statistiku z dat v databázi (a je mu to občas/dost často vyčítáno ).
#38
Publikováno 20 květen 2016 - 9:53
Skript neupravuj, ale vyrob si svuj z upravene kopie!
#39
Publikováno 20 květen 2016 - 10:03
Ve Statoru se Michale GCVote nevolá. Může ho volat jen dávka Combine. Stator samotný se snaží jen a jen generovat statistiku z dat v databázi (a je mu to občas/dost často vyčítáno ).
No výjimka se sem tam najde (třeba geojarry ) a tak jsem chtěl mít jistotu...
Haluma: to už mne také napadlo, že si raději další script přidám...
#40
Publikováno 20 květen 2016 - 11:42
Stator nikde GJ nevola!
MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)
- Stator - statistiky y GeoGetu (diskuse)
- Spoiler - uložení spoilerů do GPS jako POI (diskuse)
- Náhrada GJ legálními postupy
1 uživatel(ů) prochází toto téma
0 uživatelů, 1 návštěvníků 0 anonymních uživatelů