as toggl -> reclaim sync is based on today it was made tz local aware
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
#!/opt/homebrew/Caskroom/miniconda/base/envs/things-automation/bin/python3
|
#!/opt/homebrew/Caskroom/miniconda/base/envs/things-automation/bin/python3
|
||||||
|
|
||||||
import sqlite3
|
import sqlite3
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Dict, List, Optional, Union
|
from typing import Dict, List, Optional, Union
|
||||||
import tomllib
|
import tomllib
|
||||||
@@ -334,6 +334,9 @@ def sync_toggl_reclaim_tracking():
|
|||||||
since_days = 0
|
since_days = 0
|
||||||
reclaim_handler.get_reclaim_tasks()
|
reclaim_handler.get_reclaim_tasks()
|
||||||
toggl_time_entries = toggl_handler.get_time_entries_since(since_days = since_days) # end date is inclusive
|
toggl_time_entries = toggl_handler.get_time_entries_since(since_days = since_days) # end date is inclusive
|
||||||
|
if toggl_time_entries is None:
|
||||||
|
utils.pwarning("No tasks tracked today in Toggl")
|
||||||
|
return
|
||||||
reclaim_time_entries = reclaim_handler.get_task_events_since(since_days = since_days) # end date is inclusive
|
reclaim_time_entries = reclaim_handler.get_task_events_since(since_days = since_days) # end date is inclusive
|
||||||
reclaim_time_entry_names = [reclaim_handler.get_clean_time_entry_name(time_entry.name) for time_entry in reclaim_time_entries]
|
reclaim_time_entry_names = [reclaim_handler.get_clean_time_entry_name(time_entry.name) for time_entry in reclaim_time_entries]
|
||||||
missing_reclaim_entries = [time_entry for time_entry in toggl_time_entries if time_entry.description not in reclaim_time_entry_names]
|
missing_reclaim_entries = [time_entry for time_entry in toggl_time_entries if time_entry.description not in reclaim_time_entry_names]
|
||||||
@@ -363,7 +366,9 @@ def display_current_task():
|
|||||||
if current_task is None:
|
if current_task is None:
|
||||||
utils.perror("No task is currently tracked in toggl")
|
utils.perror("No task is currently tracked in toggl")
|
||||||
return
|
return
|
||||||
rprint(f"Current task: {current_task.description}\nStarted at: {current_task.start.astimezone(tz.gettz()).strftime("%H:%M")}")
|
rprint((f"Current task: {current_task.description}\nStarted at:",
|
||||||
|
f"{toggl_handler.get_start_time(current_task)
|
||||||
|
.astimezone(tz.gettz()).strftime("%H:%M")}"))
|
||||||
|
|
||||||
|
|
||||||
@app.command("sync")
|
@app.command("sync")
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ def is_task_time_entry(name: str):
|
|||||||
|
|
||||||
|
|
||||||
def get_task_events_since(since_days: int = 0) -> List[ReclaimTaskEvent]:
|
def get_task_events_since(since_days: int = 0) -> List[ReclaimTaskEvent]:
|
||||||
date_now = datetime.now(tz.tzutc()).date()
|
date_now = datetime.now(tz.tzlocal()).date()
|
||||||
date_since = date_now - timedelta(days=since_days)
|
date_since = date_now - timedelta(days=since_days)
|
||||||
date_end = date_now + timedelta(days = 1) # end date is exclusive
|
date_end = date_now + timedelta(days = 1) # end date is exclusive
|
||||||
events = ReclaimTaskEvent.search(date_since, date_end)
|
events = ReclaimTaskEvent.search(date_since, date_end)
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ def get_time_entries_since(since_days: int = 30) -> List[toggl_python.TimeEntry]
|
|||||||
"""
|
"""
|
||||||
if since_days > 90:
|
if since_days > 90:
|
||||||
raise ValueError("since_days can't be more than 90 days")
|
raise ValueError("since_days can't be more than 90 days")
|
||||||
midnight = datetime.combine(datetime.now(), time.min)
|
midnight = datetime.combine(datetime.now(tz.tzlocal()), time.min)
|
||||||
time_stamp = int((midnight - timedelta(days=since_days)).timestamp())
|
time_stamp = int((midnight - timedelta(days=since_days)).timestamp())
|
||||||
return toggl_python.TimeEntries(auth=auth).list(since=time_stamp)
|
return toggl_python.TimeEntries(auth=auth).list(since=time_stamp)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user