Auch beim GPX-Import - da kommt schließlich ne 1856 an...MiK schrieb:Bei einem Import (eigentlich nur beim Spidern, oder?)
Das liegt ja nur daran, dass ich das Erscheinungsbild des Cachetyps für den Rest des Cachewolf (absichtlich) erstmal so gelassen habe, wie es bisher ist.MiK schrieb:Das man intern zwischen Datei und internem Code ständig solche Verrenkungen macht, ist unverständlich.
default: throw(new IllegalArgumentException);
Nein, da kommt "Wherigo Cache" an. Diese Nummern kommen nur vom Spidern. Das sind die Namen der Icons auf der CW-Seite. Diese werden zum Erkennen des Typs beim Spidern benutzt. In den GPX-Files kommen diese Codes gar nicht vor. Wahrscheinlich haben die Caches nicht mal GC-intern diese Codes. Das sind wirklich nur Icon-Namen auf dem GC-Server.Engywuck schrieb:Auch beim GPX-Import - da kommt schließlich ne 1856 an...MiK schrieb:Bei einem Import (eigentlich nur beim Spidern, oder?)
Das ist Arbeit, die auf jeden Fall getan werden muss. Aber ich sehe keinen Grund, warum man dabei den Wert einzelner Konstanten nicht noch einmal ändern kann, damit man sich später nicht fragt, warum diese so seltsame Nummern haben. Die Tatsache, dass das jetzt mal ein paar Tage so im SVN war, ist da für mich kein Hindernis.Engywuck schrieb:Das liegt ja nur daran, dass ich das Erscheinungsbild des Cachetyps für den Rest des Cachewolf (absichtlich) erstmal so gelassen habe, wie es bisher ist.MiK schrieb:Das man intern zwischen Datei und internem Code ständig solche Verrenkungen macht, ist unverständlich.
Es ist natürlich kein Problem (nur etwas Tipp- und Sucharbeit), interne Konstanten für die Cachetypen zu definieren und zu benutzen. Dann ist CW_TRADITIONAL halt -126, es bleibt in der Datei wie es ist, niemand muss was umrechnen (außer export/import) und im Rest des CW werden (wo konkrete Cachetypen abgefragt werden) nur noch die Konstanten benutzt. Diese größere Umstellungsarbeit hab ich mir allerdings erstmal gespart, zumal sie funktional keinen Nutzen hat.
Das würde ich genau anders sehen. Der CacheHolder kennt seine Pappenheimer (d.h. internen und externen Typen) und kann sie auch gut mappen, am besten in einer Funktion. Warum sollen sich 5 Exporter alle darum kümmern, eine Information in gleicher Weise zu transformieren?greiol schrieb:der nächste logische schritt wäre dann in meinen augen die umrechung aus dem cacheholder hinaus in die ex- und importer zu verlagern. der cacheholder an sich sollte nichts mehr umrechnen müssen und daten stumpf auf die platte schreiben bzw. von ihr lesen können.
Wenn wir uns darauf einigen, dass es nur die 3 Exoten betrifft, kann ich damit gut leben - wenn es denn Leute gibt, die die Änderung glücklich macht. Die kommen ja kaum vor und das Problem ist mit Aktualisieren schnell behoben.MiK schrieb:Aber ich sehe keinen Grund, warum man dabei den Wert einzelner Konstanten nicht noch einmal ändern kann, damit man sich später nicht fragt, warum diese so seltsame Nummern haben. Die Tatsache, dass das jetzt mal ein paar Tage so im SVN war, ist da für mich kein Hindernis.
Es sollte reichen, mal nach "137" zu suchen...MiK schrieb:Soweit ich weiß, tauchen extern Nummern für Cachetypen nur an zwei Stellen auf
Integer(inRex.stringMatched(1)).intValue()
Ich würde da zwischen Im- und Export unterscheiden. Beim Import ist das meist sehr speziell. Einmal müssen IDs umgesetzt werden, ein anderes mal ein String umgesetzt werden und ein drittes mal ein Bildname ausgewertet werden. Da ist es am einfachsten nur den Importer anfassen zu müssen, wenn sich an einer Schnittstelle etwas ändert. Beim Export verwenden wir (bitte korrigiert mich) nur Klartextstrings für die Cachetypen. Da das häufig die selben sind, können die entsprechenden Funktionen gerne in die Cacheholder- oder Cachetype-Klasse.Engywuck schrieb:Das würde ich genau anders sehen. Der CacheHolder kennt seine Pappenheimer (d.h. internen und externen Typen) und kann sie auch gut mappen, am besten in einer Funktion. Warum sollen sich 5 Exporter alle darum kümmern, eine Information in gleicher Weise zu transformieren?
Mein Vorschlag wäre die Funktion getCacheTypeExternal(), die den CacheTyp als externen (GC-typisierten) Wert liefert. Den kann dann jeder Exporter, der ihn braucht, verwenden.
Oder hab ich Deine Idee falsch verstanden?
Genau das habe ich doch jetzt schon mehrmals geschrieben...Engywuck schrieb:Wenn wir uns darauf einigen, dass es nur die 3 Exoten betrifft, kann ich damit gut leben - wenn es denn Leute gibt, die die Änderung glücklich macht. Die kommen ja kaum vor und das Problem ist mit Aktualisieren schnell behoben.
Ich sprach von "extern". Das das intern vielleicht öfter mal vorkommt, habe ich nicht bestritten.Engywuck schrieb:Es sollte reichen, mal nach "137" zu suchen...MiK schrieb:Soweit ich weiß, tauchen extern Nummern für Cachetypen nur an zwei Stellen auf
Diese Stelle ist sowieso höchst gefährlich, weil sie davon ausgeht, dass hier nur Nummern als Namen für die Cachebilder benutzt werden. Hier müssten eigentlich besser eine Funktion verwendet werden, die die Strings explizit auf Cachetypen abbildet.greiol schrieb:eine klare ausnahme hiervon ist der spider weil er
benutzt und damit implizit eine zahl generiert. hier müsste die sw ein paar tricks lernen.Code:Integer(inRex.stringMatched(1)).intValue()
und damit wäre die abbildung auch kein problem mehr. aber jetzt ist erst mal feierabend. morgen abend geht es weiter. mit etwas glück müssen wir insgesamt noch weniger ändern als angenommen und gewinnen auch noch an lesbarkeit. das hätte was ...MiK schrieb:Hier müssten eigentlich besser eine Funktion verwendet werden, die die Strings explizit auf Cachetypen abbildet.
DankeMiK schrieb:Nein, nur der Link ganz oben ist falsch. Versuch es mal weiter unten bei den Links zu den einzelnen Versionen.
@huzzelMiK schrieb:Nein, nur der Link ganz oben ist falsch. Versuch es mal weiter unten bei den Links zu den einzelnen Versionen.
Ich habe es als Parallelinstallation gemachtGeo-Johnny schrieb:@huzzelMiK schrieb:Nein, nur der Link ganz oben ist falsch. Versuch es mal weiter unten bei den Links zu den einzelnen Versionen.
Tipp von greiol und mir:
Sichere Dir vorher den Datenbestand Deiner Profile, damit kannst Du jederzeit (mit NB r1786) wieder zum alten Datenformat zurück!![]()
du findest es in den feldern bitfields und bytefields. ohne in den source zu schauen wirst du nicht weit kommen. der genau inhalt der felder ist u.a. das was hier gerade teilweise leidenschaftlich diskutiert wird. warte mit dem einarbeiten bis es fertig ist, dann musst du es nicht zweimal machen. wobei du dich auf jeden fall mit logischen binär operationen vertraut machen solltest, denn die wirst du so oder so brauchen.huzzel schrieb:Frage an die Devs (oder wer es sonst weiß):
Wo finde ich im neuen Format:
- Wegpunkttype (Tradi, Multi, QTA, Final, ...)
- Größe
- T/D Wertung
- ob er online ist
Es steht ja weder in der Index noch in der [Cache].xml, zumindest nicht mehr so leicht ersichtlich. Und da Java nicht so mein Ding ist, habe ich mir auch noch nie den Sourcesode zu Cachewolf angeschaut und mich noch nie da reingedacht.
das habe ich schon befürchtet.greiol schrieb:du findest es in den feldern bitfields und bytefields. ohne in den source zu schauen wirst du nicht weit kommen
du bekommst die info wenn wir durch sind. wenn ich jetzt sage es steht in a und heute abend b hochlade, müsste ich es anschliessend wieder erklären.huzzel schrieb:Ohne mich jetzt in den kompletten Sourcecode einzuarbeiten, kannst Du mir sagen, wo ich suchen muss?
Löblichgreiol schrieb:ok, wer motzt muss auch was zeigen