diff --git a/hexlib/web.py b/hexlib/web.py index 76c3e89..9cecb19 100644 --- a/hexlib/web.py +++ b/hexlib/web.py @@ -1,14 +1,14 @@ -from http.cookiejar import Cookie +import pickle import re +from base64 import b64encode, b64decode +from http.cookiejar import Cookie +from io import BytesIO from dateutil.parser import parse -import pickle - from requests.cookies import RequestsCookieJar def cookie_from_string(text: str, domain: str) -> Cookie: - tokens = [t.strip() for t in text.split(";")] name, value = tokens[0].split("=") @@ -39,6 +39,16 @@ def cookie_from_string(text: str, domain: str) -> Cookie: ) +def encode_cookiejar(cj): + return b64encode(pickle.dumps(cj._cookies)).decode() + + +def decode_cookiejar(data): + cj = RequestsCookieJar() + cj._cookies = pickle.loads(b64decode(data)) + return cj + + def save_cookiejar(cj, filename): with open(filename, "wb") as f: f.truncate() diff --git a/setup.py b/setup.py index b0fd5ec..733bd3d 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ from setuptools import setup setup( name="hexlib", - version="1.11", + version="1.12", description="Misc utility methods", author="simon987", author_email="me@simon987.net",