Robin888
Geomaster
Moin zusammen!
Eigentlich wollte ich noch warten, bis ich meine Klausuren diese Woche durch habe, aber nun bin ich schon mal hier. 0
Seitdem ich kein Windows Mobile mehr benutze (also schon einige Jahre) stört es mich immer wieder, dass ich die Fundzeiten per Hand ins Profil nachtragen muss. Bei im CW durchgeplanten Touren geht es meist recht fixe, bei spontaneren Touren beginnt das Problem schon bei der Frage wie man (möglichst effizient) die Caches in den CW bringt. (Ja, GPX wäre eine Variante, aber dann muss ich die Funddaten trotzdem nachtragen.)
Langer Rede kurzer Sinn:
Ich habe mir ein kleines Python-Skript geschrieben, das eine Fieldnotes-Datei entgegen nimmt, die Waypoints und Fundzeiten ausliest und in einem vorgegebenen CW-Profil eine entsprechende index.xml erzeugt.
Öffnet man nun das Profil stehen alle importierten Caches mit Funddatum und -uhrzeit in der Liste und können ganz normal aktualisiert und ggfls. in das Finds-Profil verschoben werden.
Entgegen meiner ersten Version arbeitet das Skript nun mit der tatsächlich aufgezeichneten UTC-Zeit und ist in der Lage Sommer und -Winterzeit zu berücksichtigen. Zumindest in Deutschland. Wer außerhalb cacht hat immerhin die Option die Zeitverschiebung gegen UTC manuell einzugeben.
Benötigt werden:
Vor der ersten Ausführung sollte ein Import-Profil erstellt werden, die .index_pattern.xml dort hinein kopiert werden und der Pfad des Profils in das Skript eingetragen werden.
USAGE:
python fieldnotes2cachewolf.py --fiednotes $PathToFieldnoteFile [--timezone $UTCOffsetInHours]
python fieldnotes2cachewolf.py --f $PathToFieldnoteFile [-tz $UTCOffsetInHours]
Anmerkungen:
Ich weiß nicht, ob jemand anderes außer mit Nutzen aus dem Skript ziehen kann oder ob ich nicht doch irgendeine wichtige Information vergessen habe. Aber vielleicht interessiert es ja den ein oder anderen.
Robin(888)
Eigentlich wollte ich noch warten, bis ich meine Klausuren diese Woche durch habe, aber nun bin ich schon mal hier. 0
Seitdem ich kein Windows Mobile mehr benutze (also schon einige Jahre) stört es mich immer wieder, dass ich die Fundzeiten per Hand ins Profil nachtragen muss. Bei im CW durchgeplanten Touren geht es meist recht fixe, bei spontaneren Touren beginnt das Problem schon bei der Frage wie man (möglichst effizient) die Caches in den CW bringt. (Ja, GPX wäre eine Variante, aber dann muss ich die Funddaten trotzdem nachtragen.)
Langer Rede kurzer Sinn:
Ich habe mir ein kleines Python-Skript geschrieben, das eine Fieldnotes-Datei entgegen nimmt, die Waypoints und Fundzeiten ausliest und in einem vorgegebenen CW-Profil eine entsprechende index.xml erzeugt.
Öffnet man nun das Profil stehen alle importierten Caches mit Funddatum und -uhrzeit in der Liste und können ganz normal aktualisiert und ggfls. in das Finds-Profil verschoben werden.
Entgegen meiner ersten Version arbeitet das Skript nun mit der tatsächlich aufgezeichneten UTC-Zeit und ist in der Lage Sommer und -Winterzeit zu berücksichtigen. Zumindest in Deutschland. Wer außerhalb cacht hat immerhin die Option die Zeitverschiebung gegen UTC manuell einzugeben.
Benötigt werden:
- Python (getestet auf 3.4)
- pytz zur Erkennung der Sommerzeit
- das Skript: fieldnotes2cachewolf.py
- das Template für die index.xml.index_pattern.xml
Vor der ersten Ausführung sollte ein Import-Profil erstellt werden, die .index_pattern.xml dort hinein kopiert werden und der Pfad des Profils in das Skript eingetragen werden.
USAGE:
python fieldnotes2cachewolf.py --fiednotes $PathToFieldnoteFile [--timezone $UTCOffsetInHours]
python fieldnotes2cachewolf.py --f $PathToFieldnoteFile [-tz $UTCOffsetInHours]
Anmerkungen:
- Das Skript überschreibt die index.xml im angegebenen Profil.
- Ich benutze das Skript hier mit einer älteren Version vom CacheWolf. Ich kann nicht ausschließen, dass durch Änderungen am CW das Skript nicht mehr mit aktuelleren Versionen funktioniert.
- Ich habe das Skript bisher nur mit fieldnotes getestet die von c:geo generiert wurden. Ich kann nicht ausschließen, dass andere Programme/Geräte möglicherweise andere Formate benutzen. (Meine fieldnotes sind UTF16-LE codiert.)
- Für diejenigen die sich das Skript näher ansehen und sich wundern, dass ich auf Stringbasis und nicht auf XML-Basis mit der index.xml interagiere: Der CacheWolf hat (leider) Probleme bereitet, wenn die Attribute nicht in der richtigen Reihenfolge vorkamen. Und statt nun die Werte künstlich in einer bestimmten Reihenfolge auszugeben war es einfacher die Dateien als Textdateien zu verarbeiten.
- Jegliche Gewährleistung ist natürlich ausgeschlossen.
Ich weiß nicht, ob jemand anderes außer mit Nutzen aus dem Skript ziehen kann oder ob ich nicht doch irgendeine wichtige Information vergessen habe. Aber vielleicht interessiert es ja den ein oder anderen.
Robin(888)