[tasks] Make tasks use user profile string

This commit is contained in:
2025-06-27 10:48:05 -04:00
parent 63361964ca
commit 88a3831975
4 changed files with 7 additions and 33 deletions

View File

@ -56,7 +56,7 @@ class UserProfile(TimeStampedModel):
return pytz.timezone(self.timezone) return pytz.timezone(self.timezone)
@cached_property @cached_property
def task_context_tags(self) -> list: def task_context_tags(self) -> list[str]:
tag_list = [ tag_list = [
t.strip().capitalize() t.strip().capitalize()
for t in self.task_context_tags_str.split(",") for t in self.task_context_tags_str.split(",")

View File

@ -34,10 +34,6 @@ from videos.models import Video
from tasks.utils import get_title_from_labels from tasks.utils import get_title_from_labels
from webpages.models import WebPage from webpages.models import WebPage
from vrobbler.apps.tasks.constants import (
TODOIST_TITLE_LABELS
)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -413,9 +409,9 @@ def todoist_scrobble_task(
user_id: int, user_id: int,
started: bool = False, started: bool = False,
stopped: bool = False, stopped: bool = False,
context_list: list = [],
) -> Scrobble: ) -> Scrobble:
title = get_title_from_labels(todoist_task.get("todoist_label_list", []), context_list)
title = get_title_from_labels(todoist_task.get("todoist_label_list", []))
task = Task.find_or_create(title) task = Task.find_or_create(title)
timestamp = pendulum.parse(todoist_task.get("updated_at", timezone.now())) timestamp = pendulum.parse(todoist_task.get("updated_at", timezone.now()))
@ -537,13 +533,10 @@ def emacs_scrobble_task(
user_id: int, user_id: int,
started: bool = False, started: bool = False,
stopped: bool = False, stopped: bool = False,
context_list: list[str] = [],
) -> Scrobble | None: ) -> Scrobble | None:
prefix = ""
suffix = ""
source_id = task_data.get("source_id") source_id = task_data.get("source_id")
title = get_title_from_labels(task_data.get("labels", [])) title = get_title_from_labels(task_data.get("labels", []), context_list)
task = Task.find_or_create(title) task = Task.find_or_create(title)

View File

@ -1,15 +0,0 @@
DEFAULT_TASK_CONTEXT_LABELS = [
"bug",
"feature",
"errand",
"chore",
"admin",
"computer",
"farm",
"baking",
"meeting",
"habit",
"research",
"exercise",
"lifeevent",
]

View File

@ -90,16 +90,12 @@ def todoist_webhook(request):
) )
return Response({}, status=status.HTTP_304_NOT_MODIFIED) return Response({}, status=status.HTTP_304_NOT_MODIFIED)
user_id = ( user_profile = UserProfile.objects.filter(todoist_user_id=post_data.get("user_id")).first()
UserProfile.objects.filter(todoist_user_id=post_data.get("user_id"))
.first()
.user_id
)
scrobble = None scrobble = None
if todoist_task: if todoist_task:
scrobble = todoist_scrobble_task( scrobble = todoist_scrobble_task(
todoist_task, user_id, stopped=task_stopped todoist_task, user_profile.user_id, stopped=task_stopped, context_list=user_profile.task_context_tags
) )
if todoist_note: if todoist_note: