Přejít na obsah


Fotka

Hodnocení GCVote a GC.CZ přes GEOGET - skript


  • Pokud chcete vložit odpověď, přihlašte se
49 odpovědí na toto téma

#21 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 520 příspěvků(y)

Publikováno 09 březen 2012 - 16:16

Jinak tve hlasy jsou ukladany normalne do tagu. Gc.cz do tagu Znamka, GCVote do tagu Vote. Takze si to muzes libovolne editovat.
  • 0

#22 VasaM

VasaM

    VasaM

  • Members
  • PipPipPip
  • 855 příspěvků(y)

Publikováno 09 březen 2012 - 16:23

To už jsem taky zjistil. Hodnotil jsem na GC.CZ a odeslal. Myslel jsem, že v tuto chvíli se odeslali hlasy a na druhý server. Ale nebyly. Potom jsem to zkusil je odeslat na GCVote a odešli. Bylo by možné to nějak spojit, aby vše fungovalo na jedno kliknutí? Jednoduše bych klikl na nějaké tlačítko hodnotit, naklikal známky a ty by odešli zároveň na oba servery. I když teď mě napadlo to udělat přes Combain, ale i tak by to byla určitě zajímavá funkce. Co se týče ukládání do tagů, tak to už jsem zjistil a díky tomu jsem to i synchronizoval. Vytvořil jsem dva sloupce a ručně kontroloval, jestli jsou tam stejné hodnoty :). Naštěstí jsem zatím ohodnotil jen 70 keší, takže to byla rychlovka. Díky za pomoc
  • 0
Mapy pro přístroje Garmin: http://www.garmin.vasam.cz (GitHub)

#23 mike_btk

mike_btk

    Advanced Member

  • Members
  • PipPipPip
  • 151 příspěvků(y)

Publikováno 09 březen 2012 - 17:43

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.

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...
  • 0

#24 VasaM

VasaM

    VasaM

  • Members
  • PipPipPip
  • 855 příspěvků(y)

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]
  • 0
Mapy pro přístroje Garmin: http://www.garmin.vasam.cz (GitHub)

#25 mike_btk

mike_btk

    Advanced Member

  • Members
  • PipPipPip
  • 151 příspěvků(y)

Publikováno 09 březen 2012 - 19:28

VasaM napsal/a:
Ano pochopil jsi to špatně...

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!
  • 0

#26 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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


  • 0

#27 Pontiac_CZ

Pontiac_CZ

    Advanced Member

  • Members
  • PipPipPip
  • 2 169 příspěvků(y)

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.


  • 0

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 mh.mail

mh.mail

    Advanced Member

  • Members
  • PipPipPip
  • 1 781 příspěvků(y)

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

  • 0
„Normální je nepodvádět.“
http://gc.i-mh.net/ | gc@i-mh.net

#29 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 520 příspěvků(y)

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.


  • 0

#30 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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


  • 0

#31 mh.mail

mh.mail

    Advanced Member

  • Members
  • PipPipPip
  • 1 781 příspěvků(y)

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ě.


  • 1
„Normální je nepodvádět.“
http://gc.i-mh.net/ | gc@i-mh.net

#32 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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"


  • 0

#33 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 520 příspěvků(y)

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.


  • 0

#34 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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?


  • 0

#35 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 520 příspěvků(y)

Publikováno 20 květen 2016 - 8:50

pokud jsem neco neprehledl, tak ano.


  • 0

#36 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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...


  • 0

#37 kiReGPS

kiReGPS

    Advanced Member

  • Members
  • PipPipPip
  • 2 345 příspěvků(y)

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  ;) ).


  • 0

#38 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14 520 příspěvků(y)

Publikováno 20 květen 2016 - 9:53

Skript neupravuj, ale vyrob si svuj z upravene kopie!


  • 0

#39 mikeant

mikeant

    Advanced Member

  • Members
  • PipPipPip
  • 688 příspěvků(y)

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 :P ) a tak jsem chtěl mít jistotu...

 

Haluma: to už mne také napadlo, že si raději další script přidám...


  • 0

#40 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10 112 příspěvků(y)

Publikováno 20 květen 2016 - 11:42

Stator nikde GJ nevola!


  • 0

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ů

Reklama