LWPCookieJar.save() gives unexpected results in 3.11.0 · Issue #99576 · python/cpython (original) (raw)

Skip to content

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

@sebdelsol

Description

@sebdelsol

Bug report

LWPCookieJar.save() doesn't truncate the file.
So removing cookies from an existing jar file then saving it gives unexpected results :

from http.cookiejar import LWPCookieJar from urllib.request import Request, urlopen

lwp = LWPCookieJar("cookies.lwp")

get some cookies & save

request = Request("https://www.scoopmeacookie.com/give-me-more/") with urlopen(request) as response: lwp.extract_cookies(response, request)

here's some cookies

print(f"Extracted : {lwp}") lwp.save()

clear the jar & save

lwp.clear()

the jar is now empty

print(f"Clear : {lwp}") lwp.save()

are those cookies really gone ?

lwp.load()

they're back ! that would be great IRL

LWPCookieJar.save() didn't truncate the file (os.O_TRUNC is missing)

print(f"Reload : {lwp}")

Environment

Linked PRs