OCDL: Unterschied zwischen den Versionen

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''OCDL''' ('''O'''pen'''c'''aching '''D'''own'''l'''oader) ist ein [[wikipedia:Python_(Programmiersprache)|Python]]-Skript zum komfortablen Download von [[Suchformular#Gespeicherte Suche|gespeicherten Suchen]] als [[GPX-Datei|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''' ('''O'''pen'''c'''aching '''D'''own'''l'''oader) ist ein [[wikipedia:Python_(Programmiersprache)|Python]]-Skript zum Download von [[Suchformular#Gespeicherte Suche|gespeicherten Suchen]] als [[GPX-Datei|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 [[wikipedia:Cron|Cron]].


== OCDL unter Linux ==
== Systemvoraussetzungen ==
Um OCDL nutzen zu können, muss natürlich eine aktuelle Version von Python auf dem System vorhanden sein; typische Linux-Distributionen bringen Python bereits mit.
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. [http://www.activestate.com/activepython ActivePython]).


=== Allgemein ===
== Allgemein ==
Wie für Kommandozeilenprogramme üblich, verfügt OCDL über eine integrierte Hilfsfunktion, die über den Kommandozeilenparameter '''-h''' bzw. '''--help''' aufgerufen werden kann:
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 <tt>--help</tt> aufgerufen werden kann:
<pre>
<pre>
user@host:~/GPX> ./ocdl.py --help
user@host:~/GPX> ./ocdl.py --help
Zeile 13: Zeile 14:
   --version            show program's version number and exit
   --version            show program's version number and exit
   -h, --help            show this help message 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
   -c CONFIGDIR, --configdir=CONFIGDIR
                         specify directory for config files (cookies, login
                         specify directory for config files (cookies, login
Zeile 28: Zeile 31:
| in '~/.ocdl/config.txt' (the actual directory is configurable using the  |
| in '~/.ocdl/config.txt' (the actual directory is configurable using the  |
| '--configdir' command line option).                                      |
| '--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              |
| Make sure the directory '~/.ocdl/' (or whatever you chose by              |
| '--configdir') exists and contains the file 'config.txt' with the        |
| '--configdir') exists and contains the file 'config.txt' with the        |
Zeile 36: Zeile 45:
|                                                                          |
|                                                                          |
| where username and password are your login credentials for opencaching.de |
| where username and password are your login credentials for opencaching.de |
|                                                                          |
|                                                                          |
|                                                                          |
| Moreover, ocdl.py stores the login cookie 'cookies.txt' in the selected  |
| Moreover, ocdl.py stores the login cookie 'cookies.txt' in the selected  |
Zeile 41: Zeile 51:
</pre>  
</pre>  


 
== Konfiguration ==
=== 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 <tt>--setup</tt> auf und gibt seine Zugangsdaten ein:
Als erstes müssen die Login-Daten zu Opencaching.de in der Datei '''config.txt''' im Verzeichnis '''~/.ocdl/''' abgelegt werden. Dabei wird folgendes Format erwartet:
<pre>
<pre>
OCDE_LOGIN='username'
user@host:~/GPX> ./ocdl.py --setup
OCDE_PASSWORD='password'
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.
</pre>
</pre>
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 ===
== Verfügbare gespeicherte Suchen auslesen ==
Mit dem Kommandozeilenparameter '''-l''' bzw. '''--list''' wird die Liste der online verfügbaren, gespeicherten Suchen abgefragt und ausgegeben:
Mit dem Kommandozeilenparameter <tt>--list</tt> wird die Liste der im [[Benutzerprofil|Opencaching-Benutzerprofil]] gespeicherten Suchen abgefragt und ausgegeben:
<pre>
<pre>
user@host:~/GPX> ./ocdl.py --list
user@host:~/GPX> ./ocdl.py --list
Zeile 56: Zeile 69:
42325999/'OC-only Deutschland'
42325999/'OC-only Deutschland'
</pre>  
</pre>  
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.
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 für den Download der Suchen benötigt.


=== 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.  
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:
Mit folgendem Aufruf läd man die Suche „OC-only Deutschland“ als ZIP-komprimierte GPX-Datei herunter:
<pre>
<pre>
user@host:~/GPX> ./ocdl.py 42325999
user@host:~/GPX> ./ocdl.py 42325999
</pre>
</pre>


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 heruntergeladene Datei wird dann '''42325999.zip''' genannt und im aktuellen Verzeichnis abgelegt bzw. in dem Verzeichnis, dass über den Parameter <tt>--dir</tt> 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. [http://www.activestate.com/activepython|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
<pre>
#!C:\Python27\python.exe
</pre>
 
Als nächstes wird die Konfigurationsdatei in User-Verzeichnis angelegt. Dazu zuerst ein Verzeichnis '''.ocdl''' im User-Verzeichnis (z.B. '''C:\Benutzer\Flopp\''' bzw. '''C:\User\Flopp\''') erstellen. In diesem Verzeichnis dann die Datei '''config.txt''' mit dem Inhalt
<pre>
OCDE_LOGIN='username'
OCDE_PASSWORD='password'
</pre>
anlegen, wobei '''username''' und '''password''' durch die Zugangsdaten von Opencaching.de zu ersetzen sind.


Jetzt sollte '''ocdl.py''' wie im Abschnitt '''OCDL unter Linux''' benutzbar sein.
Die Benennung der Dateien kann über den Parameter <tt>--name</tt> beeinflusst werden:
* <tt>--name ID</tt> erzeugt Dateien nach dem Schema '''ID.zip''', im Beispiel: '''42325999.zip'''
* <tt>--name ID+DATE</tt> 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'''
* <tt>--name NAME</tt> 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'''
* <tt>--name NAME+DATE</tt> erzeugt Dateien nach dem Schema '''Name_Datum.zip'''; im Beispiel: '''OC-only_Deutschland_2012-10-26.zip'''


== Weblinks ==
== Weblinks ==
* [https://github.com/flopp/ocdl.py Download bei github.com]
* [https://raw.github.com/flopp/ocdl.py/master/ocdl.py Direkt-Download von OCDL]
* [https://github.com/flopp/ocdl.py OCDL bei github.com]
* [http://www.python.org/ Python]
* [http://www.python.org/ Python]


[[Kategorie: Geocaching-Software]]
[[Kategorie:Geocaching-Software]]
[[Kategorie:Opencaching]]

Aktuelle Version vom 11. Oktober 2013, 15:13 Uhr

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 für den 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