téměř automatické statistiky na geocaching.com
je pěkný, když má někdo v profilu na geocaching.com nějaké pěkné statistiky. jak těchto statistik dosáhnout je vcelku jednoduché, můžeme použít nějaky program pro správu keší, a třeba GSAK, nebo GeoGet nám statistiky nějakým způsobem vygeneruje. člověk je ale tvor líný, a tak hledá jak si celou činnost co nejvíce usnadnit
program GSAK nepoužívám, prostě mám nějak rád GeoGet. ten sice v základu jakýsi pokus o statistiky vygeneruje, ale bez pomoci třetí strany to není ono. používal jsem tedy ještě nedávno program GeoStatGen, ten nabízí relativně široké možnosti přizpůsobení, ale jeho vývoj nějak ustanul a tak se objevil nástupce ve formě GgStat. po jeho „instalaci“ se vám na liště v geogetu objeví dvě nové ikonky, z nichž jedna volá skript perlu, a druhá samostatný exe soubor.
perl v pc nemám, tak jsem zkusil ten exe. po nastaveni několika proměnných v makru stačí kliknout a statistiky (ne nepodobné těm z GSAKu) jsou na světě.
no jo, ale teď nastává ta část, kdy musíte obsah html souboru zkopírovat do schránky, a v nastavení profilu na geocaching.com jej ručně vložit, a dát uložit. to je hezké kdyby se to dělalo jednou, ale dělat to po každé nalezené keši je pěkná otrava.
jako spravnou PHP lamu mě napadlo použít něco jako include
, pokud by to stránka geocaching dovolila. ale medwyn_cz mě upozornil, že na stránkach, které běží pod ASP prostě PHP include nepůjde, a navíc přihodil malou radu, kterou zahlíd na něčím profilu
<object data="http://www.hradnik.cz/geocaching/index.html" type="text/html" width="98%" height="700">http://www.hradnik.cz/geocaching/index.html</object>
tohle už vypadá slibně! po několika pokusech s nastavením rozměrů už se mi v profilu ukazovaly statistiky, které se tahaly z mého webu! stačilo přidat
<!--[if IE]> Error, Internet Explorer has very poor support for tag &lt;object&gt; and geocaching.com blocking other options like iframe, js... You will find my stats <a href="http://gc.mikrom.cz/stats.html">here</a>. <![endif]--> <!--[if !IE]> <--><object type="text/html" data="http://gc.mikrom.cz/stats.html" width="790" height="4200"> Some error. You'll find my stats <a href="http://gc.mikrom.cz/stats.html">here</a>.</object><!--> <![endif]-->
teď jsme sice ve fázi kdy se nám tahají data z jiného webu, ale páci to ušetřilo leda tak v tom, že nyní stačí na web nahrát celý soubor a nemusíme se babrat se zdrojákem. vzpomněl jsem si proto na FTP((FileTransferProtocol)) a po chvilce už věděl, že se s FTP dá vcelku použitelně komunikovat přes příkazový řádek. po pár planých pokusech jsem vygooglil řešení v podobě následujících řádků upload.stats.bat
:: piseme bataky :: http://hps.mallat.cz/view.php?cisloclanku=2003070903 :: code :: https://web.archive.org/web/20080511201547/http://wiki.trivialbeing.net/Right_Click_Upload_to_Internet_via_Batch_File @echo off setlocal :: Variables set file=stats.html set f=log.txt set web=ftp.mikrom.cz set name=mikrom_cz set password=mojetajneheslo :: Compose ftp commands file echo open %web% > %f% echo user %name% %password% >> %f% echo binary >> %f% :: Change to correct directory echo cd gc >> %f% :: Upload to this directory echo put %file% >> %f% echo bye >> %f% :: Execute ftp command :: Use &amp;amp;amp;quot;-d&amp;amp;amp;quot; key for verbose output ftp -n -d -s:%f% :: Cleanup del /f /q %f% del /f /q %file% endlocal exit
nyní už jen stačilo poupravit makro GgStat.ggp.pas aby vygenerované statistiky uložilo do datového adresáře geogetu, zavolalo soubor .bat (obsah viz výše) uložený tamtéž a místo načteni souboru stats.htm v prohlížeči načetlo rovnou stránku s profilem. GgStat.ggp.pas
const GgStat = 'GgStat.exe'; Database = 'geoget.db3'; Statistics = 'stats.html'; Template = 'GgStatTemplate.en'; Upload = 'GgStatUpload.bat'; HomeLat = '50.558708'; //Geoget_RefX HomeLon = '15.913619'; //Geoget_RefY ProfilePage = 'http://www.geocaching.com/profile/?guid=c3b9afaa-8556-4ddc-9d17-12459c86528b'; function PluginCaption: string; begin Result := 'GgStat exe'; end; function PluginHint: string; begin Result := 'GgStat exe'; end; function PluginIcon: string; begin Result := DecodeBase64('Qk32AAAAAAAAAHYAAAAoAAAAEAAAABAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AIAAAAAAAACIB////////wgIAA8ABwAAcAcMwAuwCZEABwzEC7MJkQgHDMQLswmRCAcMxAuzCZEIBwzEC7MJkQgIDMQLswmRCAeAAAuzCZEICHCIC7MJkQgHgIgLswCRCA9wiAuzCAAIgPCIC7gIiIiIAIiAAAiIiIiAiIiIiIiI'); end; function PluginFlags: string; begin Result := 'toolbar'; end; procedure PluginStart; begin RunExec('&amp;amp;amp;quot;' + AnsiToOem(GgStat) + '&amp;amp;amp;quot; -d &amp;amp;amp;quot;' + AnsiToOem(Database) + '&amp;amp;amp;quot; -o &amp;amp;amp;quot;' + AnsiToOem(Statistics) + '&amp;amp;amp;quot; -t &amp;amp;amp;quot;' + AnsiToOem(Template) + '&amp;amp;amp;quot; -c ' + Geoget_Owner + ' -x ' + HomeLat + ' -y ' + HomeLon); RunExec(AnsiToOem(Upload)); //RunShell(Statistics); RunShell(ProfilePage); end;
vysledek? JEDNOu jedinkrát kliknu na ikonku v geogetu a v tu ránu mám na profilu aktuální statistiky! to je skvělé, ne?
EDIT 11.11.2008: trochu jsem zaktualizoval *.pas a *.bat a upravil kód do profilu abych ošetřil IE, který jako jediný prohlížeč nezvládá tag <object>
pozor!
EDIT 13.11.2008: nový geojarry (v.11) umí nahrávat soubory do profilu! pro stávající uživatele geojarryho to znamená POUZE upravit soubor GgStat.ggp.pas na:
{$INCLUDE geojarry.config.pas } const GgStat = 'GgStat.exe'; Database = 'geoget.db3'; Statistics = 'stats.html'; Template = 'GgStatTemplate.en'; //Upload = 'GgStatUpload.bat'; HomeLat = '50.558708'; //Geoget_RefX HomeLon = '15.913619'; //Geoget_RefY ProfilePage = 'http://www.geocaching.com/profile/?guid=c3b9afaa-8556-4ddc-9d17-12459c86528b'; function PluginCaption: string; begin Result := 'GgStat exe'; end; function PluginHint: string; begin Result := 'GgStat exe'; end; function PluginIcon: string; begin Result := DecodeBase64('Qk32AAAAAAAAAHYAAAAoAAAAEAAAABAAAAABAAQAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AIAAAAAAAACIB////////wgIAA8ABwAAcAcMwAuwCZEABwzEC7MJkQgHDMQLswmRCAcMxAuzCZEIBwzEC7MJkQgIDMQLswmRCAeAAAuzCZEICHCIC7MJkQgHgIgLswCRCA9wiAuzCAAIgPCIC7gIiIiIAIiAAAiIiIiAiIiIiIiI'); end; function PluginFlags: string; begin Result := 'toolbar'; end; procedure PluginStart; var gjini: string; datadir: string; inif: string; gjresult: integer; begin if gjUsername = '' then begin ShowMessage('Please, fill variables in geojarry.config.pas first and restart Geoget!'); exit; end; //build GeoJarry.ini gjini := '[geojarry]' + CRLF; gjini := gjini + 'username=' + gjUsername + CRLF; gjini := gjini + 'password=' + gjPassword + CRLF; gjini := gjini + 'proxyip=' + gjproxyip + CRLF; gjini := gjini + 'proxyport=' + gjproxyport + CRLF; gjini := gjini + 'proxyuser=' + gjproxyuser + CRLF; gjini := gjini + 'proxypass=' + gjproxypass + CRLF; gjini := gjini + 'countryid=' + gjcountryid + CRLF; gjini := gjini + 'stateid=' + gjstateid + CRLF; gjini := gjini + 'maxcount=10' + CRLF; datadir := geoget_datadir + 'gjtemp'; Forcedirectories(datadir); gjini := gjini + 'datadir=' + datadir + CRLF; inif := Geoget_datadir + 'gjtemp.ini'; StringTofile(gjini, inif); //build stats.html RunExec('&amp;amp;amp;quot;' + AnsiToOem(GgStat) + '&amp;amp;amp;quot; -d &amp;amp;amp;quot;' + AnsiToOem(Database) + '&amp;amp;amp;quot; -o &amp;amp;amp;quot;' + AnsiToOem(Statistics) + '&amp;amp;amp;quot; -t &amp;amp;amp;quot;' + AnsiToOem(Template) + '&amp;amp;amp;quot; -c ' + Geoget_Owner + ' -x ' + HomeLat + ' -y ' + HomeLon); //upload stats on FTP //RunExec(AnsiToOem(Upload)); //upload stats on gc.com profile gjresult := RunExec('&amp;amp;amp;quot;' + Geoget_datadir + 'geojarry.exe&amp;amp;amp;quot; &amp;amp;amp;quot;' + inif + '&amp;amp;amp;quot; profile &amp;amp;amp;quot;' + Statistics + '&amp;amp;amp;quot;'); //RunShell(Statistics); case gjresult of 0: begin RunShell(ProfilePage); end; end; end;
a je to! v podstatě vidíte, že jsem si jen z geojarryho maker vypůjčil vygenerovaní ini souboru a předhodil mu ho s parametrem `profile` a cestou k souboru se statistikami. hodně štěstí při zprovozňování! vlákno na fóru geocaching.cz najdete zde.
EDIT 7.12:2008: v dokumentech je ke stažení nová verze makra, která počítá ftf-index, využívá konfigurace přes samostatný soubor a přes rozhraní GeoGetu.
EDIT 21.1.2009: makro se trochu rozrůstá, takže občas sledujte sekci dokumenty, najdete tam GgStat2.zip
s popisem aktualníchzměn. pokud máte problémy s rozběhnutím statistik, tak nejprve koukněte na wiki a až pak mě kontaktujte (píše mi kvůli tomu čím dál víc lidí) v krajním případě jsem ochoten Vám to přes TeamViewer rozchodit. v současné době makro umí:
- poskládat si soubor BAT a nahrát s ním statistiky na FTP pro případ, že používáte prvni metodu přes
<object>
- nebo nahraje statistiky přímo na profil pomocí GeoJarry
- počítá FTF index, který uloží do souboru *html*, který pomocí
INCLUDE
vložíte do statistik - nalezené kešky opatří tagem
CZ kraj
aCZ okres
pro generování mapky nálezů podle krajů a okresů - nalezené kešky opatří tagem
Elevation
, který obsahuje jejich nadmořskou výšku a hodí se pro statistiky související s nadmořskou výškou - nalezené kešky nahraje na server geocaching.cz, aby Vám byl schopen vygenerovat mapku nálezů
- v případě problémů Vás bude po nastavení volby
SilentMode = 'no'
informovat o každém kroku všechny tyto volby je možné nastavit buď ručně v souboruGgStat2.config.pas
, nebo skrze rozhraní GeoGetu: Tools -> Settings -> Plugins víceméně aktuální podobu výsledných statistik si můžete prohlédnout na mém profilu.
Pokračování -> AutoStat
jen drobnost, tu statistiku máš prázdnou, někde chybka
Bravo! Líbí se mi, jak umíš docílit výsledku s použitím minimálních prostředků. Samozřejmě je jasné, že jde spustit ftp-čko pomocí bat souboru, ale že se ftp-čku dají předávat příkazy pomocí echa, to by mě tedy nenapadlo. A to jsem se vyučil na počítačích, které znaly jen MS-DOS blahé paměti a bat souborů jsem tenkrát napsal dost a dost. Používal jsem na to editor v Norton Commanderu, třeba si ještě někdo vzpomene, jak to vypadalo 🙂 S dovolením (tedy bez dovolení) jsem tvůj postup pustě okopíroval pro své použití. Měl bych jednu otázku, která by třeba zajímala víc lidí. Proto ji píšu sem a ne… Číst vice »
Myslim, ze pokus to objasnit uplne vsem nevysel. uplnym neznalkum by opravdu pomohl podrobny postup, treba me to jasny neni.:-)
Opravdu trosku slozitejsi, vyzkousim a uvidim. Dik za cac a trpelivost
Geoget prilis nepouzivam, ale ten napad s FTP je naprosto skvely. I ja si dovolil jej pouzit pro upload svych dat na server. Diky
Hmm, tak nic, ani se mi nepodarilo dostat v Geogetu potrebna data ke mne. To je ale muj problem a asi budu mit profil bez statistik. Ani nevim jak nainstalovat plugin (Ggstat) k Geogetu a o dvou ikonkach ani vidu ani slechu. Co je import PQ? Myslim ze uz nebudu dal obtezovat a pomalu podekuju. Myslim, ze statistiky jsou pro chytrejsi, nez jsem ja, Tolik casu, co jsem tim stravil a nulovy vysledek – ponizujici.:-(
Díky za tip. Myslím, že je to fakt fantasticky jednoduché a srozumitelně popsané i pro laiky jako jsem já. http://www.geocaching.com/…Default.aspx?…
Zdravím, Super nápad s tímto upgradem, asi 4 hodiny jsem u toho seděl než jsem přišel na to jak to funguje. Není problém nahrát soubor stats.htm na FTP server, ani s jeho voláním z mého porfilu na http://www.geocaching.com. Problém je ovšem v tom, že když to udělám přesně podle tohoto návodu, soubor stats.htm je pouze prázdná stránka a netuším co s tím. Naisntaloval jsem si verzi 2 geoget a myslím že problém je už v generování statistik, protože nefungují ani s makrem geostatgen. Můžete mi prosím poradit. Předem děkuji.
Postup je super, díky za něj, ale jediný problém je v tom, že
<object>
nějak moc nejde v IE :-?. Více je pospáno a možno vyzkoušet třeba zde. Ve firefoxu a jinde to jede bez problémů. Docela mě vytáčí jak GC.com mají postupně vše ořezané. Dříve jelo<iframe>
a tak se dalo vkládat externí obsah bez problémů.Jen se přidávám k LaLu Team … v IE to přes
<object>
prostě nejde … bohužel 😡tak nam vysel novy geojarry v.11, ktery umi upravovat profil na gc.com. mrknu na to, protoze tim by odpadlo trapeni s
object
a vse by proste fungovalo. 😎pro hračičky je tu ke stažení beta nového makra, které se snaží dělat opravdu vše naráz http://temp.mikrom.cz/ggstat2.ggp.pas jeste nedavno generovalo i statistiku zalozenych a FTF, ale to uz ted generuje GgStat sam, tak jsem to vyhodil..
Díky moc mikrome za to makro! Teď už prakticky ani není třeba Tvého super návodu – jen si editovat pár konfiguráků a vše krásně běží 🙂 Jupííí
tak pro lamy je článek naprosto na prd a ostatní to znají, takže celkově je to informačně uplně o ničem…
tak HuntBehind pro Vás připravil návod jak to všechno rozjet!
NÁVOD
nemate taky nejakou radu pro blondyny…? 😉
Nazdar lidi,
když si v poslední době nechám prostřednictvím AutoStatu vygenerovat statistiky, tak výsledný soubor obsahuje místo oblíbených českých znaků č, š, ž, etc… znaky zcela jiné, díky čemuž je daný text jen velmi obtížně čitelný. Vše jde samozřejmě ručně upravit např. ve FrontPage, ale je to neskutečně zdlouhavé. Chtěl jsem se proto dotázat, zda se někdo z vás s podobným problém setkal a jak jej vyřešil. Díky za odpověď.
Paja.71