Skip to content

Commit

Permalink
fix use of datetime.datetime.fromisoformat
Browse files Browse the repository at this point in the history
  • Loading branch information
parkerhancock committed Nov 10, 2023
1 parent d5a5b01 commit 8b153c8
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 5 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,5 @@ _run

# Local scratch files

scratch.ipynb
scratch.ipynb
.python-version
3 changes: 2 additions & 1 deletion patent_client/uspto/assignment/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from typing import Optional
from typing import TYPE_CHECKING

from dateutil.parser import isoparse
from pydantic import BeforeValidator
from pydantic import ConfigDict
from pydantic import Field
Expand All @@ -28,7 +29,7 @@


def parse_datetime(string):
dt = datetime.datetime.fromisoformat(string)
dt = isoparse(string)
if dt.year == 1 and dt.month == 1 and dt.day == 1:
return None
return dt
Expand Down
2 changes: 1 addition & 1 deletion patent_client/uspto/public_search/fixtures/doc_output.json

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions patent_client/uspto/public_search/model_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@

from .model.biblio import PublicSearchBiblioPage
from .model.document import PublicSearchDocument
from patent_client.util.test import compare_dicts
from patent_client.util.test import compare_lists

fixtures = Path(__file__).parent / "fixtures"

Expand All @@ -25,7 +27,7 @@ def test_parse_biblio():
output_data = PublicSearchBiblioPage.model_validate(input_data)
# output_file.write_text(output_data.model_dump_json(indent=2))
expected_data = json.loads(output_file.read_text())
assert json.loads(output_data.model_dump_json()) == expected_data
compare_dicts(json.loads(output_data.model_dump_json()), expected_data)


def test_parse_doc():
Expand All @@ -35,4 +37,5 @@ def test_parse_doc():
output_data = [PublicSearchDocument.model_validate(o) for o in input_data]
# output_file.write_text(json.dumps([o.model_dump() for o in output_data], indent=2, default=json_serial))
expected_data = json.loads(output_file.read_text())
assert json.loads(json.dumps([o.model_dump() for o in output_data], indent=2, default=json_serial)) == expected_data
output_data = json.loads(json.dumps([o.model_dump() for o in output_data], indent=2, default=json_serial))
compare_lists(output_data, expected_data)

0 comments on commit 8b153c8

Please sign in to comment.