diff --git a/calendar_utils/icalevents/icaldownload.py b/calendar_utils/icalevents/icaldownload.py index 6aadeddb706b011bc414b9d10640a73fa9985e31..bdc3262dc5ba60964602e401e48d3a08eedbd200 100644 --- a/calendar_utils/icalevents/icaldownload.py +++ b/calendar_utils/icalevents/icaldownload.py @@ -1,9 +1,10 @@ """ Downloads an iCal url or reads an iCal file. """ -from httplib2 import Http import logging +from httplib2 import Http + def apple_data_fix(content): """ diff --git a/calendar_utils/icalevents/icalevents.py b/calendar_utils/icalevents/icalevents.py index 91ac0e2dbac7c24c248b14165012e3279b25bfcc..9e834f34d107deb538050832733145544a24d73a 100644 --- a/calendar_utils/icalevents/icalevents.py +++ b/calendar_utils/icalevents/icalevents.py @@ -1,8 +1,7 @@ from threading import Lock, Thread -from .icalparser import parse_events, Event from .icaldownload import ICalDownload - +from .icalparser import Event, parse_events # Lock for event data event_lock = Lock() diff --git a/calendar_utils/icalevents/icalparser.py b/calendar_utils/icalevents/icalparser.py index 80161afcea8508954587c62d419ed19ee21c4bc9..71198fe2d98d3eac4518cb1898d9e7feeb9f829b 100644 --- a/calendar_utils/icalevents/icalparser.py +++ b/calendar_utils/icalevents/icalparser.py @@ -1,19 +1,18 @@ """ Parse iCal data to Events. """ +from datetime import date, datetime, timedelta + # for UID generation from faulthandler import is_enabled from random import randint -from datetime import datetime, timedelta, date, tzinfo from typing import Optional +from uuid import uuid4 from dateutil.rrule import rrulestr from dateutil.tz import UTC, gettz - from icalendar import Calendar from icalendar.prop import vDDDLists, vText -from uuid import uuid4 - from icalendar.windows_to_olson import WINDOWS_TO_OLSON from pytz import timezone @@ -107,7 +106,6 @@ class Event: return "%s: %s (%s)" % (self.start, self.summary, self.end - self.start) def astimezone(self, tzinfo): - if type(self.start) is datetime: self.start = self.start.astimezone(tzinfo) @@ -244,7 +242,11 @@ def create_event(component, utc_default): if component.get("categories"): categoriesval = component.get("categories") - categories = component.get("categories").cats if hasattr(categoriesval, "cats") else categoriesval + categories = ( + component.get("categories").cats + if hasattr(categoriesval, "cats") + else categoriesval + ) encoded_categories = list() for category in categories: encoded_categories.append(encode(category)) diff --git a/calendar_utils/migrations/0004_auto_20220505_1228.py b/calendar_utils/migrations/0004_auto_20220505_1228.py index 62f0bfa4fdd74cc5b80b039913835228bdc47e36..5b5021f72bf70b907cef652bed3edfca2d470104 100644 --- a/calendar_utils/migrations/0004_auto_20220505_1228.py +++ b/calendar_utils/migrations/0004_auto_20220505_1228.py @@ -3,8 +3,8 @@ from datetime import date, timedelta import arrow from django.db import migrations -from icalevents import icalevents +from calendar_utils.icalevents import icalevents from calendar_utils.parser import process_event_list diff --git a/calendar_utils/models.py b/calendar_utils/models.py index c19a40d502a2883ad1ab1228cc39da68fd879361..d7b54e9b8ad82a6a36dfc04c301ee7e7f4b843c2 100644 --- a/calendar_utils/models.py +++ b/calendar_utils/models.py @@ -8,8 +8,8 @@ from django.core.serializers.json import DjangoJSONEncoder from django.core.validators import URLValidator, ValidationError from django.db import models, transaction from django.utils.timezone import now -from icalevents import icalevents +from .icalevents import icalevents from .parser import process_event_list from .tasks import update_calendar_source diff --git a/calendar_utils/parser.py b/calendar_utils/parser.py index 7698207bbfdaea29382b105efd733f3070d065ad..1ae18f193a2ecfceba6aa3e0f299438a5570b7e9 100644 --- a/calendar_utils/parser.py +++ b/calendar_utils/parser.py @@ -8,7 +8,7 @@ from django.conf import settings from django.utils.timezone import is_naive if TYPE_CHECKING: - from icalevents.icalparser import Event + from .icalevents.icalparser import Event EVENT_KEYS = ("start", "end", "all_day", "summary", "description", "location", "url") diff --git a/tests/calendar_utils/conftest.py b/tests/calendar_utils/conftest.py index f8241f1b8abb29a2324ca82afa15ac457b8053de..da268dc5402cd56fa3bc713f578c0ebf30f63ed0 100644 --- a/tests/calendar_utils/conftest.py +++ b/tests/calendar_utils/conftest.py @@ -3,7 +3,8 @@ from datetime import datetime from pathlib import Path import pytest -from icalevents.icalparser import Event + +from calendar_utils.icalevents.icalparser import Event @pytest.fixture(scope="session") diff --git a/tests/calendar_utils/test_parser.py b/tests/calendar_utils/test_parser.py index b4f9a0743f86cd39dc8a54ff4ea9aeda500b76b5..8a98051f4292e23d7acd79f6cc70d899d2f10a23 100644 --- a/tests/calendar_utils/test_parser.py +++ b/tests/calendar_utils/test_parser.py @@ -1,8 +1,8 @@ from datetime import datetime import pytest -from icalevents.icalparser import Event +from calendar_utils.icalevents.icalparser import Event from calendar_utils.parser import ( process_event_list, set_event_duration,