Skip to content

LWPCookieJar.save() gives unexpected results in 3.11.0 #99576

@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

  • Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)]
  • Windows 10 64 bits 22H2

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions