Skip to content

Commit

Permalink
possibilita occurrences receber datetime ou date nos parametros de data
Browse files Browse the repository at this point in the history
  • Loading branch information
FelipeSBarros committed Dec 11, 2023
1 parent 3021413 commit 2f5ad22
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 4 deletions.
12 changes: 8 additions & 4 deletions crossfire/clients/occurrences.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import re
from asyncio import Semaphore, gather, sleep
from datetime import datetime
from datetime import date, datetime
from urllib.parse import urlencode

from httpx import ReadTimeout
Expand Down Expand Up @@ -30,12 +30,16 @@
NOT_NUMBER = re.compile("\D")


def date_formatter(date):
date_cleaned = re.sub(NOT_NUMBER, "", date)
def date_formatter(date_parameter):
if isinstance(date_parameter, datetime):
return date_parameter.date()
elif isinstance(date_parameter, date):
return date_parameter
date_cleaned = re.sub(NOT_NUMBER, "", date_parameter)
try:
date_cleaned = datetime.strptime(date_cleaned, "%Y%m%d").date()
except ValueError:
raise DateFormatError(date)
raise DateFormatError(date_parameter)
return date_cleaned


Expand Down
14 changes: 14 additions & 0 deletions tests/test_occurrences_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,3 +213,17 @@ def test_date_formatter_with_correct_date_format_doted():
formated_date = date_formatter("2023.01.23")
assert isinstance(formated_date, datetime.date)
assert str(formated_date) == "2023-01-23"


def test_date_formatter_with_python_date_format():
date = datetime.datetime(2023, 1, 23).date()
formated_date = date_formatter(date)
assert isinstance(formated_date, datetime.date)
assert str(formated_date) == "2023-01-23"


def test_date_formatter_with_python_datetime_format():
date = datetime.datetime(2023, 1, 23)
formated_date = date_formatter(date)
assert isinstance(formated_date, datetime.date)
assert str(formated_date) == "2023-01-23"

0 comments on commit 2f5ad22

Please # to comment.