Wie pickle ein CookieJar?

8

Ich habe ein Objekt mit einem CookieJar, das ich beizen möchte.

Wie Sie jedoch wahrscheinlich wissen, würgen Sie Chokes bei Objekten, die Sperrobjekte enthalten. Und aus irgendeinem schrecklichen Grund hat ein CookieJar ein Sperrobjekt.

%Vor%

Wie behebe ich das?

Die einzige Lösung, die ich mir vorstellen kann, ist die Verwendung von FileCookieJar.save und FileCookieJar.load in einem StringIO-Objekt. Aber gibt es einen besseren Weg?

    
Unknown 21.06.2009, 04:46
quelle

2 Antworten

9

Hier ist ein Versuch, indem eine Klasse von CookieJar abgeleitet wird, die getstate / setstate überschreibt, die von Pickle verwendet werden. Ich habe cookieJar nicht verwendet, also weiß nicht, ob es verwendbar ist, aber Sie können abgeleitete Klasse

ausgeben %Vor%     
Anurag Uniyal 21.06.2009, 05:01
quelle
6

CookieJar ist nicht besonders gut zum persistieren geeignet (darum geht es bei den FileCookieJar Unterklassen meistens! -), aber Sie können über eine CookieJar Instanz iterieren, um alle Cookies zu erhalten (und eine Liste davon beizubehalten) Zum Beispiel, und, um das Glas mit den Cookies wiederherzustellen, verwenden Sie set_cookie auf jedem. So würde ich über persistierende und nicht aufdringliche Keksdosen setzen, die Methode copy_reg verwendend, um die passenden Funktionen zu registrieren, wenn ich sie häufig benutzen musste.

    
Alex Martelli 21.06.2009 04:56
quelle