OCDL

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen

OCDL (Opencaching Downloader) ist ein Python-Skript zum komfortablen Download von gespeicherten Suchen als GPX-Dateien. OCDL ist besonders dann nützlich, wenn man regelmäßig gespeicherte Suchen herunterladen möchte, beispielsweise um die Cache-Datenbank von OpenCacheManager auf einem aktuellen Stand zu halten.

OCDL auf Unix-artigen Systemen (Linux, BSD, Mac OS, usw.)

Um OCDL nutzen zu können, muss natürlich eine aktuelle Version von Python auf dem System vorhanden sein; typische Unixe bringen Python bereits mit.

Allgemein

Wie für Kommandozeilenprogramme üblich, verfügt OCDL über eine integrierte Hilfsfunktion, die über den Kommandozeilenparameter -h bzw. --help aufgerufen werden kann:

user@host:~/GPX> ./ocdl.py --help
Usage: ocdl.py [options] [ID...]

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -s, --setup           create the necessary directories; ask the user for
                        login credentials
  -c CONFIGDIR, --configdir=CONFIGDIR
                        specify directory for config files (cookies, login
                        information); default is '~/.ocdl'
  -l, --list            list available queries, do not download them
  -n STYLE, --name=STYLE
                        select naming style of downloaded queries, STYLE={ ID,
                        ID+DATE, NAME, NAME+DATE }, default is 'ID'
  -d TARETDIR, --dir=TARETDIR
                        select target directory for downloaded queries;
                        default is the current directory
  -v, --verbose         print verbose status messages

 ocdl.py logs in to opencaching.de using login credentials which are stored |
| in '~/.ocdl/config.txt' (the actual directory is configurable using the   |
| '--configdir' command line option).                                       |
|                                                                           |
| You can use the command line option '--setup' to create the configuration |
| directory and to initialize the config file with your login credentials.  |
|                                                                           |
| Alternatively, you can manually create the configuration directory and    |
| the config file:                                                          |
| Make sure the directory '~/.ocdl/' (or whatever you chose by              |
| '--configdir') exists and contains the file 'config.txt' with the         |
| following two lines:                                                      |
|                                                                           |
| OCDE_LOGIN='username'                                                     |
| OCDE_PASSWORD='password'                                                  |
|                                                                           |
| where username and password are your login credentials for opencaching.de |
|                                                                           |
|                                                                           |
| Moreover, ocdl.py stores the login cookie 'cookies.txt' in the selected   |
| config directory for future logins.                                       |


Konfiguration

OCDL hat eine Setup-Funktion, die die notwendigen Verzeichnisse anlegt und den Nutzer nach seinen Zugangsdaten für Opencaching.de fragt. Dazu ruft man OCDL mit dem Parameter --setup auf und gibt seine Zugangsdaten ein:

user@host:~/GPX> ./ocdl.py --setup
Performing setup.
Enter your username for OC.de: XXX
Enter your password for OC.de: YYY
Setup done. You may re-run 'ocdl.py' in normal mode.

Danach ist OCDL fertig konfiguriert und kann normal verwendet werden. Falls sich die Zugangsdaten ändern sollten, kann die Setup-Funktion jederzeit wieder aufgerufen werden.

Verfügbare gespeicherte Suchen auslesen

Mit dem Kommandozeilenparameter -l bzw. --list wird die Liste der online verfügbaren, gespeicherten Suchen abgefragt und ausgegeben:

user@host:~/GPX> ./ocdl.py --list
11339629/'Tradis in Berlin'
42325999/'OC-only Deutschland'

In obigem Beispiel sind zwei Suchen verfügbar, nämlich "Tradis Berlin" mit der ID "11339629" und "OC-only Deutschland" mit der ID "42325999". Die ID-Werte sind wichtig für den Download der Suchen.

Download der Suchen

Hat man festgestellt, welche Suchen überhaupt verfügbar sind, kann man diese auch herunterladen. Dazu gibt man die entsprechende ID als Parameter an OCDL.

Mit folgendem Aufruf läd man die Suche "OC-only Deutschland" als ZIP-komprimierte GPX-Datei herunter:

user@host:~/GPX> ./ocdl.py 42325999

Die heruntergeladene Datei wird dann 42325999.zip genannt und im aktuellen Verzeichnis abgelegt bzw. in dem Verzeichnis, dass über den Parameter -d bzw. --dir festgelegt wurde.

Die Benennung der Dateien kann über den Parameter -n bzw. --name beeinflusst werden:

  • -n ID erzeugt Dateien nach dem Schema ID.zip, im Beispiel: 42325999.zip
  • -n ID+DATE erzeugt Dateien nach dem Schema ID_Datum.zip, hängt also das aktuelle Datum an die ID an; im Beispiel: 42325999_2012-10-26.zip
  • -n NAME erzeugt Dateien nach dem Schema Name.zip, wobei Name der Name der gespeicherten Suche ist; Leerzeichen im Name werden dabei durch Unterstriche ersetzt; im Beispiel: OC-only_Deutschland.zip
  • -n NAME+DATE erzeugt Dateien nach dem Schema Name_Datum.zip; im Beispiel: OC-only_Deutschland_2012-10-26.zip


OCDL unter Windows

Unter Windows muss zunächst Python installiert werden, da es nicht zum Lieferumfang gehört. Hier bietet sich z.B. ActivePython an. Im Folgenden wird davon ausgegangen, dass Python ins Verzeichnis C:\Python27 installiert wurde.

Als erster Schritt muss die Datei ocdl.py an die installierte Python-Version angepasst werden. Dazu öffnet man die Datei mit einem Texteditor und ersetzt die erste Zeile durch

#!C:\Python27\python.exe

Als nächstes wird OCDL über die Setup-Funktion eingerichtet. Dazu öffnet man die Eingabeaufforderung, wechselt ins OCDL-Verzeichnis und ruft OCDL mit ocdl.py --setup auf und folgt den Anweisungen.

Jetzt sollte ocdl.py wie im Abschnitt OCDL auf Unix-artigen Systemen benutzbar sein.

Weblinks