Autor Thema: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?  (Gelesen 2664 mal)

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern? Ich hab das vor kurzem sehr umständlich über mehrere Schritte gemacht, bis ich die Daten herunterladen konnte.
Mit der Methode können maximal 50 Listings mit GeocachePhotos auf einmal heruntergeladen werden.

Offline flopp

  • Vereinsmitglied
  • Normal
  • *
  • Beiträge: 1010
  • OC-Clean-Team/Support/Entwicklung
    • Flopps Tolles Blog
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #1 am: 23. April 2013, 17:24:46 »
Für welches Betriebssystem soll's denn sein und wie soll das ganze aufgerufen werden?

Schrottie

  • Gast
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #2 am: 23. April 2013, 17:28:28 »
Für welches Betriebssystem soll's denn sein und wie soll das ganze aufgerufen werden?

Linux, Shellscript

Gern auch so, das man ein GPX übergibt und dann die Spoiler aller Caches darin heruntergeladen bekommt. ;D

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #3 am: 23. April 2013, 17:32:14 »
Für welches Betriebssystem soll's denn sein und wie soll das ganze aufgerufen werden?

Linux, Shellscript

Gern auch so, das man ein GPX übergibt und dann die Spoiler aller Caches darin heruntergeladen bekommt. ;D
Ich wollte eigentlich wissen, ob es schon irgendwas in der Richtung gibt.
Windows wäre nicht schlecht. Irgendwas über Python würde auch gehen.
GPX rein, Daten raus ist keine schlechte Idee...

Offline flopp

  • Vereinsmitglied
  • Normal
  • *
  • Beiträge: 1010
  • OC-Clean-Team/Support/Entwicklung
    • Flopps Tolles Blog
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #4 am: 23. April 2013, 17:42:25 »
Tatsächlich sollte das mit der OKAPI schnell zu machen sein, wie man im ersten Beitrag sehen kann...

Schrottie

  • Gast
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #5 am: 23. April 2013, 18:03:17 »
Tatsächlich sollte das mit der OKAPI schnell zu machen sein, wie man im ersten Beitrag sehen kann...

Hmm, jetzt das wäre eine tolle Sache für OCM. Ein Script, das ein GPX entgegennimmt, die Spoiler lädt und dann nach einem festen Schema in ein vorgegebenes Verzeichnis speichert.

So quasi

./foo.sh bar.gpx /home/haste/nich/jesehn/

und da wird dann in separate Verzeichnisse gespeichert (wie genau die Struktur da ist kann ich nachsehen). Dann könnte man das von OCM aus aufrufen und eben gleich die Caches mitgeben. Und OCM schiebt die Bilder dann gleich mit aufs Garmin.

Also wenn du mal Langeweile hast... ;D

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #6 am: 23. April 2013, 23:15:54 »
Eigentlich gebräuchte man nicht einmal eine GPX-Datei, sondern man könnte über www.opencaching.de/okapi/services/caches/search/nearest?center=52.866667|7.316667&consumer_key=XxXxXxXxXxXxXxXxXxX die OC-Codes/Wegpunkte abfragen.

following

  • Gast
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #7 am: 24. April 2013, 00:34:27 »
Jup. Hier ist ein PHP-Script, das das macht:

<?php

if ($argc != 2)
  die(
"You must specify a comma-separated list of cache codes as parameter.");

$site "http://www.opencaching.de";
$consumer_key "xxxxxxxxxxxxxxxxxxxx";

$caches_per_batch 100;
$cache_batches array_chunk(explode(",",$argv[1]), $caches_per_batch);
$requests 0;

foreach (
$cache_batches as $cache_codes)
{
  echo 
"OKAPI request #" . ++$requests "\n";
  
$json_data file("$site/okapi/services/caches/geocaches?cache_codes=" .
                    
implode("|"$cache_codes) . "&fields=code|images" .
                    
"&consumer_key=$consumer_key");
  
$data json_decode($json_data[0]);
  
  foreach (
$data as $cache)
  {
    
$cache_code $cache->{'code'};
    
$n 1;
    foreach (
$cache->{'images'} as $image)
      if (
$image->{'is_spoiler'})
      {
        
$image_url $image->{'url'};
        
$pi pathinfo($image_url);
        
$img_filename $cache_code "-" $n++ . "." $pi['extension'];
        echo 
"retrieving $img_filename";
        
$image_data file($image_url);
        
file_put_contents($img_filename,$image_data);
        echo 
"\n";
      }
  }
}

?>


1. PHP installieren
2. Consumer Key im Script eintragen
3. Aufrufen mit einer Komma-getrennten Liste der Cache-Codes als Parameter

No Limits, kannst die Spoiler von beliebig vielen Caches mit einem Mal abrufen.

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #8 am: 24. April 2013, 17:31:37 »
3. Aufrufen mit einer Komma-getrennten Liste der Cache-Codes als Parameter
Wo werden die Cache-Codes eingetragen?
Ich bekomme diese Meldung:
Zitat
Notice:  Undefined variable: argc in C:\xampp\htdocs\spoiler.php on line 3
 You must specify a comma-separated list of cache codes as parameter.

following

  • Gast
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #9 am: 24. April 2013, 17:37:27 »
Die Codes als Parameter angeben.

php spoiler.php OCBDA7,OC2117,OC9939,OC2791,OCECDA,OCB093,OC2793,OCEDE8,OC22E9,OCE8E0,OC4759,OCF403,OCABA6,OC85CD,OCC3F6,OC264C,OCF40B,OC6943,OC9133,OCF408,OCEC9B,OCB48B,OC7627,OCE12B,OC5FCC,OCDCA4,OC2D2D,OC9A53,OCBF61,OCA30D,OC9C48,OCEBE3,OCB14E,OCD63E,OCEBF1,OCB50E,OCCAE1,OC4383,OC2BF9,OCB5E5,OC692F,OCB36C,OCECD9,OCC4DF,OC4382,OCA5B2,OC762B,OC6C6A,OCDD70,OC8C0F

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #10 am: 24. April 2013, 23:23:13 »
Hab ich leider nicht hinbekommen :( . Ich werde es morgen früh nach der Arbeit noch mal probieren...

Offline Hanekju

  • Vereinsmitglied
  • Micro
  • *
  • Beiträge: 314
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #11 am: 26. April 2013, 10:20:54 »
 :doh: Ich dussel :doh: .
Das ganze wäre für mich einfacher gewesen, wenn ich auch PHP installiert gehabt hätte.
Danke klappt :)

Nachtrag: Auf dem zweiten Blick fällt mir gerade auf, dass mit dem Script die Bilder in einem Ordner und nicht, wie bei der OKAPI-Abfrage, in eine für Garmin-Geräte optimierte Dateistruktur.
Für Fotos wäre das:
\Garmin\GeocachePhotos\Last Character\Second To Last Character\Full Code\und für Spoiler wäre das:

\Garmin\GeocachePhotos\Last Character\Second To Last Character\Full Code\Spoilers
« Letzte Änderung: 26. April 2013, 11:00:09 von Hanekju »

Offline flopp

  • Vereinsmitglied
  • Normal
  • *
  • Beiträge: 1010
  • OC-Clean-Team/Support/Entwicklung
    • Flopps Tolles Blog
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #12 am: 27. April 2013, 20:58:40 »
Die Verzeichnisstruktur könnte man sich billigst mit einem Shellscript bauen...

following

  • Gast
Re: Gibt es für OKAPI eine App zum Herunterladen von Spoilerbildern?
« Antwort #13 am: 28. April 2013, 01:33:21 »
... oder direkt in das PHP-Script einbauen