• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

GCVote import für Cachewolf

rolf1327

Geowizard
Hi,
ich wollte endlich mal im Cachewolf sehen wie die GCVote Bewertungen für die einzelnen Caches aussehen. Leider gibt es noch nichts Fertiges und die Methode über ein externes Shellscript war mir zu umständlich und zu langsam. Also habe ich eine kleine Importfunktion für GCVote geschrieben. Die Funktion verwendet, wie hier auch schon mehrfach angedacht, das OC-Recommendations Feld. Ich habe lediglich die GCVote Bewertung mit 2 multipliziert um halbe Sternchen zu vermeiden. Es gibt also eine Bewertungsskala von 0 bis 10. Die Funktion ist als eigenständige Importfunktion gedacht, sie wird also nicht jedes mal automatisch aufgerufen, sondern es genügt alle paar Wochen oder vor einer größeren Tour einmal auf "Import GCVotes" zu klicken, das erzeugt keine unnötigen Wartezeiten und schont den GCVote Server.

Für alle, die sich den Cachewolf selbst bauen, habe ich die Importfunktion mal angehängt. In der Zip Datei ist auch ein Patch, um den Aufruf der Importfunktion in das Hauptmenue aufzunehmen.

Viele Grüße
Rolf
 

Anhänge

  • GCVoteImporter.zip
    2,7 KB · Aufrufe: 20

klausundelke

Geowizard
rolf1327 schrieb:
Leider gibt es noch nichts Fertiges
... ist so nicht ganz richtig!
Es gibt (noch?) nix für diejenigen, die die Windows-Version verwenden.
Aber wer die Java-Version nimmt, der kann über
"Verwalten" - "Rater" die GC-Vote Daten einlesen!
 
OP
R

rolf1327

Geowizard
Lamima schrieb:
wie muss man das ganze denn ausführen/einbaun?
Den Java-Code ins src/imp Verzeichnis kopieren, mit dem .diff File die MainMenu.java Datei patchen und dann Cachewolf neu übersetzen. Wenn du jedoch noch nie den Cachewolf selbst gebaut hast, wird dir der Code-Schnipsel leider nicht viel weiterhelfen.


@klausundelke: Das Rater-Interface war es, was ich mit externem Shellscript und zu umständlich und zu langsam meinte.

Gruß
Rolf
 

greiol

Geoguru
Vermutlich wäre Guido dir dankbar, wenn du es als two-pass-script implementierst indem du zunächst eine Liste mit Wegpunkten erstellst und die dann in einem Rutsch abfragst und das Ergebnis zurück spielst. Im meine seine Schnittstelle dafür wäre geeignet solche Abfragen zu machen und er schrieb mal das sei vermutlich weniger belastend für seinen Server. Wenn man es direkt in CW implementiert bietet sich ja die Chance es für andere Seiten so schonend wie möglich zu implementieren.

Es passt auch nicht so recht in der Ordnung der bisherigen Importer, die ja eher dem Einlesen von Cachebeschreibungen dienen. Vielleicht findet sich noch ein geeigneterer Platz.

Persönlich brauche ich es nicht, aber das trifft auch auf andere Teile des CW zu,
 
OP
R

rolf1327

Geowizard
@greiol: Ich habe den Importer genau so aufgebaut. Es wird eine Liste von Wegpunkten erstellt und dann am Stück von GCVote abgefragt, das ermöglicht auch recht anständige Geschwindigkeiten (hunderte von Wegpunkten in wenigen sekunden) und ist mit Guido auch schon abgesprochen.

Der Aufruf als Import gefällt mir zwar auch noch nicht so 100% aber es ist nunmal eine Funktion, die Daten von einer externen Webseite importiert und mir ist auf die Schnelle kein besserer Ort eingefallen.

Gruß
Rolf
 

klausundelke

Geowizard
@Rolf:
Alles klar! Da bin ich zu wenig Programmierer...
Wie wäre es, wenn Du die eingelesenen Werte mit 10 mulitplizierst,
das wäre evtl. eingängiger als mit 2 und gäbe auch keine halben
Sternchen.

Danke für die Erweiterung, ich nutz jetzt auch schon das Rater-Interface,
ich find das super.
 

greiol

Geoguru
greiol schrieb:
rolf1327 schrieb:
@greiol: Ich habe den Importer genau so aufgebaut. ... und ist mit Guido auch schon abgesprochen.
upps, dann hab ich wohl doch zu flüchtig drüber geschaut. sorry.
Ok, den Knick in der Optik konnte ich finden - ich hatte die 100er Schritte übersehen. Aber ich hab noch ein paar Knicke über:
Ich finde eine Meldung falls der Antwortstring leer ist, aber ich finde keine Meldung falls etwas unerwartetes drin steht (ex.printStackTrace() läuft auf einem Mobile Device imho ins Leere)
Sehe ich es richtig, dass auch bei Verbindungsproblemen die Schleife bis zum Ende durchlaufen wird? Muss ich dann nicht evtl. jede Menge Fehlermeldungen wegklicken?
 
OP
R

rolf1327

Geowizard
@greiol: Falls etwas unerwartetes in der Serverantwort steht, wird es vom Eventhandler des XML-Parsers geschluckt. Wenn man weiß, was man erwartet (z.B. einen GCVote Fehlercode) kann man dort eine Behandlung dafür einbauen. Den fehlenden StackTrace finde ich unkritisch, ein Mobil-User, der mittem im Wald steht wird sich wohl kaum einen StackTrace anschauen wollen. Das mit der Fehlermeldung im (äusseren) Schleifendurchlauf könnte tatsächlich zum Problem werden, wenn ein Fehler mehrfach (oder andauernd) auftritt. Das habe ich bislang noch nicht getestet, eventuell könnte man eine Abfrage reinbauen (Abbrechen oder Weiterversuchen...)


@klausundelke: Ich habe auch schon überlegt die Sternchen mit 20 zu multiplizieren, dann hätte man eine Prozentangabe von 0-100%. Ich bin aber davon abgekommen. Falls jemand GC und OC Cache gleichzeitig in seinem Datenbestand hat erhalten die GC-Caches eine Bewertung von 0-10 punkten, würde man mit 10 oder 20 multiplizieren, dann hätte selbst ein schlechter GC-Cache eine Wertung von 10, was bei einem OC-Cache ein spitzen Ergebnis wäre. Ein direkter Verglich wäre damit nicht möglich (falls das überhaupt geht, denn es gibt afaik bei OC keine negativen Empfehlungen).

Gruß
Rolf
 

greiol

Geoguru
rolf1327 schrieb:
@greiol: Falls etwas unerwartetes in der Serverantwort steht, wird es vom Eventhandler des XML-Parsers geschluckt.
Naja, dass die Software so robust ist nicht abstürzt ist eigentlich das mindeste was ich als Anwender erwarte ;)

Ich wollte auf etwas anderes hinaus. Als Anwender ist mir herzlich egal ob die Antwort aus einer leeren Zeichenkette, aus "500 Ich kann so nicht arbeiten" oder aus einer Antwort besteht mit der der Parser aus anderen Gründen nichts anfangen kann Eine brauchbare Information bekomme ich nur im ersten Fall., In allen anderen Fällen kann ich mir mangels Rückmeldung im Fehlerfall nicht sicher sein ob die Aktion die ich vom Programm erwartet auch ausgeführt wurde.
 

klausundelke

Geowizard
rolf1327 schrieb:
@klausundelke: Ich habe auch schon überlegt die Sternchen mit 20 zu multiplizieren, dann hätte man eine Prozentangabe von 0-100%. Ich bin aber davon abgekommen. Falls jemand GC und OC Cache gleichzeitig in seinem Datenbestand hat erhalten die GC-Caches eine Bewertung von 0-10 punkten, würde man mit 10 oder 20 multiplizieren, dann hätte selbst ein schlechter GC-Cache eine Wertung von 10, was bei einem OC-Cache ein spitzen Ergebnis wäre. Ein direkter Verglich wäre damit nicht möglich
Hallo Rolf,
da die große Mehrheit der User wohl mit GC arbeiten und dort auch wesentlich mehr
Caches eingestellt sind würde ich (aber Du bist ja der Programmierer) die GC-Vote
Bewertungen möglichst unangetastet lassen (Original oder mit Faktor 10). Dann
müsste man halt die OC Bewertungen entspechend anpassen. Aber wie Du schon
schreibst, so richtig passen die eh nicht zusammen, da ist dann halt der Anwender
gefordert, die Ergebnisse richtig zu interpretieren.
 

greiol

Geoguru
rolf1327 schrieb:
greiol schrieb:
Naja, dass die Software so robust ist nicht abstürzt ist eigentlich das mindeste was ich als Anwender erwarte ;)

Dann telefonierst Du bestimmt mehrmals pro Woche mit Microsoft...

:D :D :D
Das hat jetzt zwar irgendwie nichts mit dem Ausgangsproblem zu tun, dass der User im hier vorgestellten Code im Fehlerfall auch mal ohne Rückmeldung da steht, aber wenn man erst eine Rufnummer hat bei der man nicht als erstes nach einem Neustart gefragt wird, kann man auch mit den Jungs und Mädels bei MS durchaus vernünftig reden.
 
OP
R

rolf1327

Geowizard
greiol schrieb:
... im Fehlerfall auch mal ohne Rückmeldung da steht, ...
Das ist eher weniger das Problem, denn wenn es zu Fehlern beim fetch kommt, ist die Antwort ja leer und somit gibt es eine Fehlermeldung. Ich denke viel kritischer ist, wie Du schon erkannt hast, dass wenn es zu mehreren oder andauernden Fehlern kommt, der User einen ganzen Haufen Fehlermeldungen abbekommt, ohne etwas gegen die Ursache tun zu können. Hier wäre eine Abfrage (Abbruch oder Weitermachen..) an den User sinnvoll.

Gruß
Rolf
 

geolotto

Geocacher
Ich bin begeisterter GcVote-Benutzer und freue mich, nun auch endlich in der Windows-Version einen Importer zu haben: DANKE!
Mir scheint aber, dass der Mittelwert der Bewertungen abgefragt wird, oder? Der Median wäre robuster, was Ausreisser betrifft. Läßt sich das optional ändern? (pref.xml)
Cu
geolotto
 
Oben