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

Feld Cachegröße falsch ausgefüllt

König Moderig

Geowizard
In SVN HEAD kommt seit ein paar Tagen der Effekt auf, dass das Feld Container anders ausgefüllt wird als sonst.

Die laut Code gültigen Werte sind:

Code:
my ($container_pat) = "(Micro|Small|Regular|Virtual|Other|Not chosen|Large)";

Erstmal sind für alle neuen Caches die Werte klein geschrieben (small statt Small), außerdem taucht aus dem Cache [gc]GC26X7V[/gc] plötzlich die Größe "medium" auf.

Da hat GC.com doch wieder was gebastelt?

[edit] Eiderdaus, ne ist nicht war. Da steht ja tatsächlich medium im Listing!

Ich würde das in Geolog gerne fixen. Aber worauf einigen wir uns? Bleiben wir bei Regular und mappen medium zu regular; oder übernehmen wir die neue Bezeichnung medium und mappen OC.des Regular entsprechend?
 

HSCA

Geomaster
Ich wäre für eine Nummer in Verbindung mit ner Lookup-Table. Dass ist unabhängig von der aktuellen "Größenbezeichnung"

1-Mikro
2-Small
3-Regular
4-Large
5-unknown
6- "Vielleicht kommt ja irgendwann doch der Nano" ;)

Setzte mich gleich mal an den Wrapper ran.
 
OP
König Moderig

König Moderig

Geowizard
Also fixt du das?

Ich wäre allerdings dafür, den tatsächlichen (plaintext) Wert in die cache.txt zu schreiben und dann beim verarbeiten dieser zu mappen, nicht die Zahlencodierung in cache.txt zu schreiben. Ich verarbeite die doch sehr gerne manuell ;) ...

Übrigens, es gibt Unknown und not chosen!
 

HSCA

Geomaster
Ich habe jetzt beides. Index mit Erklärung und Plaintext. Wobei der Index bei der Verarbeitung die Priorität erhält.

also sowas:
Code:
Name: MURLO-2
GCid: GCV7R6
Owner: UNKOWN (GC layout changed!)
Ownerid: 
Lat: 43.16095
Lon: 11.3886
LatCorrected: 
LonCorrected: 
Type: Traditional Cache
#CacheSizeIndex: 0=Unknown; 1=Micro; 2=Small; 3=Regular; 4=Large; 5=Other; 6=Virtual; 7=not Choosen; 
ContainerIdx: 0
Container: Unknown
Difficulty: 1.5
Terrain: 1
Hidden: 03.04.2006
Country: Italy
State: Toscana
Attributes: picnic-yes, available-yes, water-yes, restrooms-yes, parking-yes, public-yes, scenic-yes, stroller-yes, kids-yes, dogs-yes
Status: ok
 

hamado

Geocacher
Nach dem Download der neuen geolog.pl Datei läuft Geolog Problemlos durch. Dafür meldet OCprop diesen Fehler:
*** Bearbeite Fund-Logs ***
Ein Fehler ist aufgetreten:
Ungueltiges Feld #CacheSizeIdx in GCM7X4/cache.txt
Zum Beenden beliebige Taste druecken (u.U. 2 mal)...

Die endsprechende Cache.text:
Name: 0-8-15 ? Cache am Sodenberg
GCid: GCM7X4
Type: Traditional Cache
#CacheSizeIdx: 0=Unknown; 1=Micro; 2=Small; 3=Regular; 4=Large; 5=Other; 6=Virtual; 7=Not chosen;

Gruß

Hans
 
OP
König Moderig

König Moderig

Geowizard
Sollte gefixt sein.:

Code:
------------------------------------------------------------------------
r400 | natureshadow | 2012-06-28 23:12:06 +0200 (Thu, 28 Jun 2012) | 2 lines

Changed . class to [^#] to fix error on new CacheSizeIdx comment line, effectively iggnoring all lines starting with # as HSCA schemed ;).

------------------------------------------------------------------------

-nik

EDIT: Jetzt zumindest, da war noch ein Denkfehler drin.

Aber ocprop wurde ja noch gar nicht angepasst ...
 
OP
König Moderig

König Moderig

Geowizard
So, ich habe in ocprop noch Unterstützung für die ContainerIdx hinzugefügt als Fallback, falls das Container-Feld nicht ausgefüllt ist.

Hint @HSCA: Ich habe für "Not chosen" jetzt -1 vorausgesetzt, in Perl also das letzte Element des Arrays. Davon ausgehend, dass du eventuell neue Cachegrößen davor einsetzen würdest ...
 

HSCA

Geomaster
Not choosen ist wie Virtual ein normaler Typ , den es gibt. (Häufig bei Earthcache) Für alles unbekannte ist die 0-Unknown da.

Mist. Es wird Zeit, dass ocprop als Modul zu geolog wandert, damit ich es nicht immer vergesse. :eek:ps:
 
OP
König Moderig

König Moderig

Geowizard
HSCA schrieb:
Not choosen ist wie Virtual ein normaler Typ , den es gibt. (Häufig bei Earthcache) Für alles unbekannte ist die 0-Unknown da.

In deinem alten ocprop-Code hast du bei nicht gesetztem Container-Feld "Not chosen" als Fallback gesetzt. Deshalb habe ich es jetzt auch so übernommen.
 
OP
König Moderig

König Moderig

Geowizard
Häh? Seit heute heißt es in der deutschen Version plötzlich wieder nicht mehr "mittel", sondern "Normal" (mit großen N), also wieder Regular. Auf Englisch immer noch medium.

Und das werden sie dann auch wohl nochmal ändern, weil ja jetzt das "Normal" kapitalisiert ist und die anderen ("klein", ...) nicht.

Spinnen die?

EDIT: Ach ne, schief geguckt. Es heißt auf Englisch wieder "regular" ... Wirste doch wahnsinnig bei!
 

HSCA

Geomaster
Hat doch Vorteile zu den Nummern überzugehen. Da brauchen wir nur noch die Parser erweitern ;)
 

BY-Pega

Geocacher
Code:
pegasus@Poseidon:~/ocprop-2.20$ perl ocprop.pl 
Dies ist Ocprop Version 2.20 (linux/perl)
Teste, ob es eine neue Programmversion gibt ... erledigt
Lade Login-Seite ...
Noch angemeldet als 'BY-Pega' ...

*** Bearbeite Fund-Logs ***


Ein Fehler ist aufgetreten: 
Ungueltiges Feld #CacheSizeIdx in GC40PK4/cache.txt

pegasus@Poseidon:~/ocprop-2.20$

Wurde das noch nicht gefixt?

BY-Pega
 

eagle-eb

Geocacher
Hallo an alle!

DieFalken schrieb:
wenn Du die ocprop.pl aus dem SVN verwendest, dann geht es

Nachdem es nun wieder eine funktionierende exe-Version von geolog gibt, warte ich gerne auf eine exe-Version von ocprop. Würde mich sehr freuen, wenn es hier auch weitergeht. Vielen Dank an alle Entwickler. Macht bitte weiter!

lg eagle-eb
 

dellwo

Geonewbie
Moin,

in der aktuellen geolog-Version (2.80) behaken sich meiner Meinung nach die beiden Prozesse zum Updaten eines Caches. Der Download von der GC-Seite erzeugt richtige Einträge bei ContainerIdx und Container, das Laden einer My-Finds-Query erzeugt dann wieder z.B.
Code:
ContainerIdx: Micro
Container: Unknown
Es müsste meiner Meinung nach in der Methode insert_one_gpx_cache statt
Code:
$cachecontainer  = gpx_cachecontainer( $wpt,  $content );
so
Code:
$cachecontainer  = getContainerIdx(gpx_cachecontainer( $wpt,  $content ));
heißen, wobei dann getContainerIdx den Index liefert.

z.B.:
Code:
sub getContainerIdx {
    my ($containerName) = @_;
    my $containerIndex = -1;
    my $arrayIdx = 0;
    LOOP: {
        foreach(@cacheSizeTable) {
            $containerIndex = $arrayIdx if ( $containerName =~ /$_/si );
            last LOOP if ( $containerIndex >= 0);
            $arrayIdx++;
        }
    }
    return $containerIndex;
}

Oder liege ich falsch?

Grüße
dellwo
 
Oben