Plugin v GeoGetu napred smaze nalezey na serveru a pak tam nahraje nove. Pouziva k tomu API serveru. Takze smazat nalezy jde napr. tim pluginem, ale nepochybne to pujde take treba pres curl. A verim, ze na to je na serveru i nekde nejaky cudlik. Urcite na to muze odpovedet Pepa.
Gorde, díky za odpověď. Právě že plugin v GeoGetu mi nálezy nesmazal. Vždy jen přidal nové nálezy.
Povedlo se mi to až teď, když jsem v podmínce if DeleteList then zaměnil DeleteList natvrdo za true.
data\script\gc.cz\czgcmap.ggp.pas
procedure PluginStart;
var
download: string;
begin
ProcessFoundList;
if DeleteList then
begin
GeoBusyKind('Mažu nálezy na serveru...');
HttpAsk('POST', 'https://www.geocaching.cz/api.php', 'application/x-www-form-urlencoded',
'a=nalezy&v=1&u=' + EncodeURLelement(AnsiToUtf(gcUsername)) + '&p=' + EncodeURLelement(AnsiToUtf(gcPassword)) + '&d=&e=utf-8', download);
// ShowMessage('Výsledek mazání:' + CRLF + download);
ProcessFoundList;
end;
end;
Pepův blogový příspěvěk, na který odkazuješ, mazání nepopisuje. Naopak jsou pod ním na to taky nezodpovězené dotazy. Jinak je to hezky napsaný návod. Je škoda, že na něj nevede odkaz z té stránky nálezů.
Do hloubky toho kódu jsem moc nešel, tak nevím, proč ten flag DeleteList nemám nikdy true. Ale aspoň jsem přišel na ten způsob mazání přes API. A hlavně to jde i s metodou GET, takže stačí v prohlížeči načíst URL:
Ten plugin totiz funguje tak, že nejdříve zjistí seznam nálezů v Geogetu a porovná je se seznamem nálezů na gc.cz. Pokud zjistí, že na gc.cz něco přebývá, tak je asi něco špatně a ty nálezy na gc.cz vymaže. A pak to, co přebývá v Geogetu, pošle na server.
Takže za normálních okolností se tam pošlou jen přírůstky. Pokud na serveru něco přebývá, tak se to raději smaže a pošle se to tam všechno znovu.