Mechanize + Bilder hochladen = ???....

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Ich versuch' mich grad' an einer vorstellbar einfachen Aufgabe:

Ein Tool das ein Bild hochlädt und anschließend die Uploadurl zurückgibt. Wie das ganze dann im Endeffekt funktioniert, werden wir ja dann sehen. Naja... Aber es scheitert schon an der Benutzung von Mechanize. Ich habe Mechanize schonmal benutzt um meine PMs in diesem Forum abzufragen und auch welche abzuschicken, dass ging auch recht einfach. Aber beim Fileupload hapert es nun... Aber nun gut, zuerst:

Der Quelltext

wie ihr seht zum nachschauen hab ich'n paar Prints reingefügt... die Ausgabe sieht so aus:

...Hmm...

Nun ja, nach dem Upload geht's einfach zurück auf die Startseite, dasselbe passiert bei Imageshack auch, wenn ein Upload fehlschlägt... Ich frage mich jedoch... Was habe ich falsch gemacht?

Viele Dank im Vorraus.

Edit: Hab jetzt auch mal den Filename gequotet, mal weggelassen, Mime Type hinzugefügt... alles nutzlos, immer das gleiche Ergebnis.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo BlackViVi!

Also ich kann mit dem Code nicht viel anfangen, da ich mit mechanize noch nichts gemacht habe und mich jetzt nicht einlesen will. Mir ist nur etwas aufgefallen, was sowoso nicht funktionieren kann:

Code: Alles auswählen

file(picture)
Das sollte wohl eher so aussehen:

Code: Alles auswählen

file(picture, "rb")
Du hast in diesem Code keine Möglichkeit mehr, das File-Objekt explizit zu schließen. Das ist nicht gut, aber in deinem Fall funktioniert es weil die Funktion kurz darauf zuende ist und sonst nichts mehr mit diesem File-Objekt gemacht wird.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

gerold hat geschrieben:Du hast in diesem Code keine Möglichkeit mehr, das File-Objekt explizit zu schließen. Das ist nicht gut, aber in deinem Fall funktioniert es weil die Funktion kurz darauf zuende ist und sonst nichts mehr mit diesem File-Objekt gemacht wird.

mfg
Gerold
:-)
Um das schließen hätte ich mich auch noch gekümmert, wenn ich's ausgebaut hätte, aber danke für den Hinweis :3

Ach, manchmal muss man euch lieben. Einfach nur byteweise öffnen und es klappt. Dankeschön, Gerold! Hier nochmal den Code für alle interessierten... (Der Teil mit dem REs ist extrem schlecht, ich kann mit denen noch nicht so gut umgehen, deswegen extrem unübersichtlich und unelegant und so...):

>>Der Quelltext...<<

Einfach aufrufen --> datei.py bild.jpg und auf'r Konsole erscheint die Imageshack URL. Ganz sinnvolle wäre es vllt die Seite aufzurufen, aber... weiß nicht. Mal sehen ob das einfach so geht.

(Verzeiht auch die Fehler in'r Rechtschreibung und sowas, ich hab ungefähr 2 Tage nicht geschlafen...)
Antworten