Skip to content

Commit 6ef0cfc

Browse files
committed
Fixed #3
1 parent f2725a3 commit 6ef0cfc

File tree

3 files changed

+46
-25
lines changed

3 files changed

+46
-25
lines changed

Pipfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name = "pypi"
55

66
[packages]
77
icalendar = "*"
8-
"lectio.py" = "*"
8+
"lectio.py" = "0.1.1"
99
beautifulsoup4 = "*"
1010
apscheduler = "*"
1111
requests = "*"

Pipfile.lock

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main.py

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import caldav as caldav
1010
import cooltables
1111

12+
1213
class LectioCalDavSynchronizer:
1314
def __init__(self, lec_inst_id, lec_username, lec_password, cal_url, cal_username, cal_password) -> None:
1415
"""Constructor for LectioCalDavSynchronizer
@@ -89,7 +90,13 @@ def _get_module_id(module: lectio.Module) -> str:
8990
str: id from module url with lecmod prepended
9091
"""
9192

92-
return "lecmod"+re.search(r"absid=(.*?)&", module.url)[1]
93+
mod_id = ""
94+
if module.url:
95+
mod_id = re.search(r"absid=(.*?)&", module.url)[1]
96+
else:
97+
mod_id = str(round(module.start_time.timestamp()))
98+
99+
return "lecmod"+mod_id
93100

94101
def _get_module_title(self, module: lectio.Module) -> str:
95102
"""Get module title
@@ -101,15 +108,20 @@ def _get_module_title(self, module: lectio.Module) -> str:
101108
str: module title
102109
"""
103110

104-
title = module.subject
105-
subject = module.subject.lower()
111+
title = ""
112+
if module.subject:
113+
title = module.subject
114+
subject = module.subject.lower()
115+
116+
for trans in self.team_translations.keys():
117+
if trans in subject:
118+
title = self.team_translations.get(trans)
106119

107-
for trans in set(self.team_translations.keys()):
108-
if trans in subject:
109-
title = self.team_translations.get(trans)
120+
if module.title:
121+
title += ' - '
110122

111-
if module.title is not None:
112-
title += f' - {module.title}'
123+
if module.title:
124+
title += module.title
113125
if module.extra_info:
114126
title += ' [+]'
115127

@@ -130,9 +142,18 @@ def _get_module_desc(module: lectio.Module) -> str:
130142
str: Module description, with url
131143
"""
132144

133-
desc = re.match(r"^(.*?)&", module.url)[1]
145+
desc = ""
146+
147+
# Add url at start if it exists
148+
if module.url:
149+
desc = re.match(r"^(.*?)&", module.url)[1]
150+
151+
if module.extra_info:
152+
desc += "\n\n" + module.extra_info
153+
154+
# Add extra info if it exists
134155
if module.extra_info:
135-
desc += "\n\n" + module.extra_info
156+
desc += module.extra_info
136157

137158
return desc.replace("\r\n", "\n")
138159

0 commit comments

Comments
 (0)