Skip to content

Commit

Permalink
removing dateutil import inside function, adding test that uses dateu…
Browse files Browse the repository at this point in the history
…til.parser.parse, and added dateutil as a dev dependency
  • Loading branch information
stringertheory committed Feb 5, 2024
1 parent 628c547 commit d28aa41
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 4 deletions.
2 changes: 1 addition & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ pyarrow = "^15.0.0"
bump-my-version = "^0.17.3"
notebook = "^7.0.7"
deptry = "^0.12.0"
python-dateutil = "^2.8.2"

[tool.poetry.group.docs.dependencies]
mkdocs = "^1.4.2"
Expand Down
27 changes: 27 additions & 0 deletions tests/test_traces_external.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import csv
import os
from datetime import datetime

from dateutil.parser import parse as date_parse

from traces import TimeSeries


def test_csv():
filename = "sample.csv"
with open(filename, "w") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(["hour", "value"])
writer.writerow(["2000-01-01 10:00am", "15"])
writer.writerow(["2000-01-01 11:00am", "34"])
writer.writerow(["2000-01-01 12:00pm", "19"])
writer.writerow(["2000-01-01 1:00pm", "nan"])
writer.writerow(["2000-01-01 2:00pm", "18"])
writer.writerow(["2000-01-01 3:00pm", "nan"])

ts = TimeSeries.from_csv(filename, time_transform=date_parse)
os.remove(filename)

assert ts[datetime(2000, 1, 1, 9)] is None
assert ts[datetime(2000, 1, 1, 10, 30)] == "15"
assert ts[datetime(2000, 1, 1, 20)] == "nan"
4 changes: 1 addition & 3 deletions traces/timeseries.py
Original file line number Diff line number Diff line change
Expand Up @@ -808,9 +808,7 @@ def merge(cls, ts_list, compact=True, operation=None):

@staticmethod
def csv_time_transform(raw):
from dateutil.parser import parse

return parse(raw)
return datetime.datetime.strptime(raw, "%Y-%m-%d %H:%M:%S")

@staticmethod
def csv_value_transform(raw):
Expand Down

0 comments on commit d28aa41

Please sign in to comment.