OCDL (Opencaching Downloader) ist ein Python-Skript zum 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. Das Skript ist dabei weniger für die manuelle und interaktive Verwendung gedacht, als für den automatisierten, zeitgesteuerten Aufruf, beispielsweise via Cron.

Systemvoraussetzungen

OCDL ist ein betriebssystemunabhängiges Skript und sollte auf allen Systemen lauffähig sein, auf denen eine aktuelle Python-Version installiert ist. Typische Unixe bringen Python bereits mit; unter Windows ist meist eine manuelle Installation von Python notwendig (z.B. ActivePython).

Allgemein

OCDL ist ein Kommandozeilenprogramm und wird daher innerhalb der Kommandozeile (Linux/Unix: Terminalfenster, Windows: Eingabeaufforderung) verwendet. Wie für Kommandozeilenprogramme üblich, verfügt OCDL über eine integrierte Hilfsfunktion, die über den Parameter --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 --list wird die Liste der im Opencaching-Benutzerprofil 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-Nummern werden Download der Suchen benötigt.

Download der Suchen

Hat man festgestellt, welche Suchen überhaupt verfügbar sind, kann man diese auch herunterladen. Dazu übergibt 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 --dir festgelegt wurde.

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

  • --name ID erzeugt Dateien nach dem Schema ID.zip, im Beispiel: 42325999.zip
  • --name 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
  • --name 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
  • --name NAME+DATE erzeugt Dateien nach dem Schema Name_Datum.zip; im Beispiel: OC-only_Deutschland_2012-10-26.zip

Weblinks