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

WCB Error beim Bilderimport, Rev 224

arbor95

Geoguru
Vielleicht kannst du uns auch noch den Schalter verraten, der gesetzt sein muss, damit diese Bilder geladen werden?

GCAdditionalImageDownload=True ist es nicht und

CacheImageData=True

auch nicht
 

GeoSilverio

Geowizard
Bei mir kommt dann beim Laden des entsprechenden Bildes folgendes raus:
Code:
23:42 MapView.loaderThreadEntryPoint: exception caught: System.Exception: Ein Grafikobjekt kann nicht aus einem Bild mit einem indizierten Pixelformat erstellt werden.
   bei System.Drawing.Graphics.FromImage(Image image)
   bei WinCachebox.Views.MapView.MapView_OnTileLoaded(Bitmap bitmap, Descriptor desc)
   bei WinCachebox.Views.MapView.loaderThreadEntryPoint()
23:42 MapView.loaderThreadEntryPoint: exception caught: System.Exception: Ein Grafikobjekt kann nicht aus einem Bild mit einem indizierten Pixelformat erstellt werden.
   bei System.Drawing.Graphics.FromImage(Image image)
   bei WinCachebox.Views.MapView.MapView_OnTileLoaded(Bitmap bitmap, Descriptor desc)
   bei WinCachebox.Views.MapView.loaderThreadEntryPoint()
23:42 MapView.loaderThreadEntryPoint: exception caught: System.Exception: Ein Grafikobjekt kann nicht aus einem Bild mit einem indizierten Pixelformat erstellt werden.
   bei System.Drawing.Graphics.FromImage(Image image)
   bei WinCachebox.Views.MapView.MapView_OnTileLoaded(Bitmap bitmap, Descriptor desc)
   bei WinCachebox.Views.MapView.loaderThreadEntryPoint()
23:42 HandleMissingImages (uri=http://img.geocaching.com/cache/log/fba0fa4a-3113-4b0e-b29c-a164ace88cc5.jpg) (local=C:\Program Files (x86)\WinCachebox\Repositories\cachebox_rz\Spoilers\GC1D\GC1DZZK - Nur unweit des Finals ;)
Aber kein Spoiler ;).jpg) - System.ArgumentException: Illegales Zeichen im Pfad.
   bei System.IO.Path.CheckInvalidPathChars(String path)
   bei System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
   bei System.IO.Path.NormalizePath(String path, Boolean fullCheck)
   bei System.IO.Path.GetFullPathInternal(String path)
   bei System.IO.FileInfo..ctor(String fileName)
   bei WinCachebox.Geocaching.DescriptionImageGrabber.HandleMissingImages(Boolean imageLoadError, Uri uri, String local)
23:42 

AdditionalImageGrabber: Cannot load http://img.geocaching.com/cache/log/fba0fa4a-3113-4b0e-b29c-a164ace88cc5.jpg
Vielleicht liegt es eher am Handling des Files, wie es lokal geschrieben werde soll?
Zumindest hier hat es den Eindruck also wollte Cachebox beim Dateinamen noch einen Umbruch einbauen?:
Code:
GC1DZZK - Nur unweit des Finals ;)
Aber kein Spoiler ;).jpg
 

arbor95

Geoguru
ein Problem kommt aus der Beschreibung (bei GC1DZZK):

<a target="_blank" href=

"http://www.cachejudge.com/index.php/cache/details/[cache:B018BB8A-B172-4B75-869A-F177F311E70F]/">

<img src=

"http://www.cachejudge.com/files/badges/{B018BB8A-B172-4B75-869A-F177F311E70F}.small.png"

alt="Bewertung" /></a><br /></span>



Mit deiner Änderung geht der Import dann weiter!


p.s.: ich hab ne Idee, wie ich alle Bilder aus der Gallerie erhalte.


Nachtrag:
Das Programm ignoriert jetzt den Import von Bildern für die es keinen gültigen Dateinamen erzeugen kann.
So wird z.B. im GC2Y2YH das Bild ohne den Untertitel nicht importiert und bei GC1DZZK das Bild mit dem Untertitel: Nur unweit des Finals ; ) Aber kein Spoiler ; ) nicht importiert.

p.p.s.: In den Einstellungen für die Spoilerkürzel nur ein ; reingeschrieben und schon werden alle Bilder importiert. Schade dass man (noch) nicht unterscheiden kann, wo die Bilder herkommen. Die Bilder aus den Logs würden mich nämlich gar nicht interessieren.
 

Ging-Buh

Geowizard
Super, dann scheint ja zumindest schon mal geklärt, worin das Problem liegt. Es scheint die Zeile 448
Code:
FileInfo missingImageInfo = new FileInfo(local + ".1st");
im DescriptionImageGrabber zu sein. Hier wird die Spoiler-Datei angelegt. Der Dateiname local müsste jetzt nur noch auf illegale Zeichen und evtl. auf einen Leerstring überprüft werden und alles sollte laufen.

Mit der aktuellen Version werden alle Spoiler ignoriert, bei denen dieses Problem besteht.

In der Groundspeak.cs Zeile 91
Code:
                            if (item.Url.StartsWith("http://img.geocaching.com/gc/cache/log/"))
                            {
                                imageLink.isContentBodyImage = false;
                            }
wird überprüft, ob es sich um ein Log-Image handelt. Wenn ich das richtig sehe wird diese Info aber noch nirgends entsprechend überprüft und bei Bedarf die Log-Images weggelassen.
Ich denke, wir bräuchten hier nur noch einen Settings-Schalter, mit dem festgelegt werden kann, ob die Log-Images geladen werden sollen oder nicht und entsprechend werden diese Bilder (mit isContentBodyImage == false) dann ignoriert.
 

arbor95

Geoguru
Bliebe noch zu klären, warum beim gpx-Import die Bilder aus den logs mitgeladen werden, beim aktualisieren aber nicht.

Sprich: wird da schon was ausgewertet?
 

GeoSilverio

Geowizard
Also wie es genau technisch funktioniert, weiß ich nicht.
Aber beim Beispielcache oben, hat das fragliche Bild eben im Beschreibungstext das Wort "Spoiler" drin und wird somit als zu ladendes Spoilerbild erkannt.
Ich glaube das war eigentlich schon immer so, dass die Spoilerbilder eben nicht Bestandteil der Cachebeschreibung sind, sondern gleichwertig als Gallerybild gelten, selbst wenn die vom Owner kommen....

Lösche ich in WinCB die Liste der Tags, die für Spoiler ausgewertet werden (default: "spoiler;hint"), dann werden immer ALLE Gallerybilder geladen.
Nehme ich beispielsweise den Tag "spoiler" raus, würde das im Beispiel angemeckerte Bild überhaupt nicht geladen...

Aber wie gesagt, was sich genau technisch abspielt beim Holen und Erkennen der Bilder, weiß ich nicht.
 
OP
Inder

Inder

Geowizard
Die aktuelle Version im SVN-Repo scheint so weit gefixed zu sein, dass es wieder ohne Absturz durchläuft.

Danke!
 

arbor95

Geoguru
Inder schrieb:
Die aktuelle Version im SVN-Repo scheint so weit gefixed zu sein, dass es wieder ohne Absturz durchläuft.

Danke!
ich sehe im svn "nur" die Version 224 als letzte Änderung von mir vom 4.Dezember. Kannst du mir mal sagen, was du siehst?
 
OP
Inder

Inder

Geowizard
Da hatte ich mich wirklich zu früh gefreut. Ich habe nur auf Verdacht die Version aktualisiert und neu kompiliert. Mit der neu erzeugten Version habe ich dann den Import angeworfen. Das sah zunächst sehr gut aus. Deshalb mein Posting. Danach bin ich zurück zur Arbeit ...

Es lief weiter bis zu "Zooom und die Goldene Kammer" Da gibt es wieder ein Foto von DaMo+Leni und da war dann auch wieder Schluss ...
Die Fehlermeldung habe ich gerade eben gesehen.
 

Ging-Buh

Geowizard
Hab mich jetzt etwas durch den Quelltext gearbeitet und denke, dass es aktuell darin nicht nur 1 Problem gibt. Es scheint zum einen tatsächlich so zu sein, dass hier ein Unterschied gemacht wird, ob nur ein Cache aktualisiert werden soll oder alle. Zum anderen denke ich fast, dass von Groundspeak wieder mal Änderungen der Seite Probleme verursachen so dass die Log-Images nicht herausgefiltert werden können.

Ich denke, das Problem habe ich erkannt und kann dies sicherlich in den nächsten Tagen beheben und ein entsprechendes Update bereitstellen...
 
OP
Inder

Inder

Geowizard
Ging-Buh schrieb:
Könnte mal bitte jemand, bei dem der Fehler auftritt diese WinCachebox.exe laden, in sein WinCachebox Verzeichnis kopieren und dann dein Import nochmal durchlaufen lassen?

Die Version läuft nach dem Fehler weiter:

22:44 --- cachebox startup, rev 224 ----------------------------------------------------------
22:44 Main.ApplyFilter: Difficulty >= 2 and Difficulty <= 10 and Terrain >= 2 and Terrain <= 10 and Size >= 0 and Size <= 4 and Rating >= 0 and Rating <= 500 and Type in (0,1,2,3,4,5,6,7,8,9,10)
22:44 DescriptionView.OnShow
22:44 FilterProperties(0,0,0,0,0,0,0,0,0,1,5,1,5,0,4,0,5,True,True,True,True,True,True,True,True,True,True,True,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,,,,,,0,): System.FormatException: Die Eingabezeichenfolge hat das falsche Format.
bei System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
bei System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
bei System.Int32.Parse(String s)
bei WinCachebox.FilterProperties..ctor(String serialization)
22:45
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/night.gif
22:45
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/ivy.gif
22:45
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/thorn.gif
22:45
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/skeeter.gif
22:46
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/tick.gif
22:46
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/mud1.gif
22:46
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/dog2.gif
22:46
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/noshorts.gif
22:47
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/hunting.gif
22:47
DescriptionImageGrabber: Cannot load http://62.245.128.250/Servlet/GC/images/flashlight.gif
22:47
DescriptionImageGrabber: Cannot load http://wow-emu.pytalhost.de/no_sushi_icon.jpg
22:47
DescriptionImageGrabber: Cannot load http://wow-emu.pytalhost.de/Reifenschoner_icon.jpg
22:47 HandleMissingImages (uri=http://img.geocaching.com/cache/log/ff1263e0-bf4a-4952-a9ee-b80d142a13cc.jpg) (local=D:\WinCacheBox\Repositories\cachebox\Spoilers\GC25\GC25Q40 - DaMo+Leni 18.12.11 921
Zooom u die goldene Kammer.jpg) - System.ArgumentException: Illegales Zeichen im Pfad.
bei System.IO.Path.CheckInvalidPathChars(String path)
bei System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
bei System.IO.Path.NormalizePath(String path, Boolean fullCheck)
bei System.IO.Path.GetFullPathInternal(String path)
bei System.IO.FileInfo..ctor(String fileName)
bei WinCachebox.Geocaching.DescriptionImageGrabber.HandleMissingImages(Boolean imageLoadError, Uri uri, String local)
22:47
AdditionalImageGrabber: Cannot load http://img.geocaching.com/cache/log/ff1263e0-bf4a-4952-a9ee-b80d142a13cc.jpg


Das ist schon mal ein riesiger Fortschritt. Wenn jetzt noch jemand dafür sorgen könnte, dass die Variable "local" frei von Problemzeichen wäre, dann gäbe das die Optimallösung.

@Ging-Buh: könntest Du den Fix, der zumindest den Absturz abfängt, schon mal im SVN eintragen?
 

Ging-Buh

Geowizard
Versucht mal bitte diese Version 225 hier:

http://dl.dropbox.com/u/20077085/SetupWinCachebox-Rev_225.msi

  • Der Absturz beim Versuch das Image zu laden bei dem ein Zeilenvorschub in der Beschreibung ist sollte nicht mehr vorkommen.
  • In den Settings gibt's jetzt einen neuen Schalter mit dem bestimmt werden kann, ob die Log-Images geladen werden sollen oder nicht.
  • Der Download sollte sich jetzt gleich verhalten, egal ob aus dem Import Fenster gestartet oder aus der SpoilerView

Das Ganze aber noch ohne Gewähr und daher noch nicht als offizielles Update, hatte nur ganz kurze Zeit zum testen...
 
OP
Inder

Inder

Geowizard
Ging-Buh schrieb:
Versucht mal bitte diese Version 225 hier:

Erster Probelauf ohne Logbilder:
Lief ohne Fehler durch und keine verdächtigen Einträge im Logfile. Nur eine Bilddatei nicht gefunden (da ist aber auch der Server nicht erreichbar).

Durchlauf mit Logbilder zeigt keine Änderung (kein Download, da vermutlich beim letzten mal mit der Testversion schon alle Bilder geladen wurden.).
 
Oben