talklib 3.7.10__tar.gz → 3.7.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {talklib-3.7.10/src/talklib.egg-info → talklib-3.7.12}/PKG-INFO +4 -4
- {talklib-3.7.10 → talklib-3.7.12}/pyproject.toml +1 -1
- {talklib-3.7.10 → talklib-3.7.12}/requirements.txt +3 -3
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/pod.py +22 -20
- {talklib-3.7.10 → talklib-3.7.12/src/talklib.egg-info}/PKG-INFO +4 -4
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib.egg-info/requires.txt +3 -3
- {talklib-3.7.10 → talklib-3.7.12}/LICENSE.txt +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/README.md +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/setup.cfg +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/__init__.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/cli.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/ev.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/ffmpeg.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/notify.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/show.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib/utils.py +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib.egg-info/SOURCES.txt +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib.egg-info/dependency_links.txt +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib.egg-info/entry_points.txt +0 -0
- {talklib-3.7.10 → talklib-3.7.12}/src/talklib.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: talklib
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.12
|
|
4
4
|
Summary: A package to automate processing of shows/segments airing on the TL
|
|
5
5
|
Author-email: Ben Weddle <ben.weddle@gmail.com>
|
|
6
6
|
Maintainer-email: Ben Weddle <ben.weddle@gmail.com>
|
|
@@ -11,7 +11,7 @@ Requires-Python: >=3.12
|
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE.txt
|
|
13
13
|
Requires-Dist: aiohappyeyeballs==2.6.1
|
|
14
|
-
Requires-Dist: aiohttp==3.14.
|
|
14
|
+
Requires-Dist: aiohttp==3.14.5
|
|
15
15
|
Requires-Dist: aiohttp-retry==2.8.3
|
|
16
16
|
Requires-Dist: aiosignal==1.4.0
|
|
17
17
|
Requires-Dist: annotated-types==0.7.0
|
|
@@ -19,7 +19,7 @@ Requires-Dist: async-timeout==4.0.2
|
|
|
19
19
|
Requires-Dist: attrs==22.1.0
|
|
20
20
|
Requires-Dist: bcrypt==4.2.0
|
|
21
21
|
Requires-Dist: build==1.0.3
|
|
22
|
-
Requires-Dist: certifi==
|
|
22
|
+
Requires-Dist: certifi==2026.10.19
|
|
23
23
|
Requires-Dist: cffi==2.0.0
|
|
24
24
|
Requires-Dist: charset-normalizer==2.1.1
|
|
25
25
|
Requires-Dist: colorama==0.4.6
|
|
@@ -75,7 +75,7 @@ Requires-Dist: twine==4.0.2
|
|
|
75
75
|
Requires-Dist: typing_extensions==4.15.0
|
|
76
76
|
Requires-Dist: urllib3==2.8.0
|
|
77
77
|
Requires-Dist: wrapt==1.16.0
|
|
78
|
-
Requires-Dist: yarl==1.
|
|
78
|
+
Requires-Dist: yarl==1.25.1
|
|
79
79
|
Requires-Dist: zipp==3.23.0
|
|
80
80
|
Dynamic: license-file
|
|
81
81
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
aiohappyeyeballs==2.6.1
|
|
2
|
-
aiohttp==3.14.
|
|
2
|
+
aiohttp==3.14.5
|
|
3
3
|
aiohttp-retry==2.8.3
|
|
4
4
|
aiosignal==1.4.0
|
|
5
5
|
annotated-types==0.7.0
|
|
@@ -7,7 +7,7 @@ async-timeout==4.0.2
|
|
|
7
7
|
attrs==22.1.0
|
|
8
8
|
bcrypt==4.2.0
|
|
9
9
|
build==1.0.3
|
|
10
|
-
certifi==
|
|
10
|
+
certifi==2026.10.19
|
|
11
11
|
cffi==2.0.0
|
|
12
12
|
charset-normalizer==2.1.1
|
|
13
13
|
colorama==0.4.6
|
|
@@ -63,5 +63,5 @@ twine==4.0.2
|
|
|
63
63
|
typing_extensions==4.15.0
|
|
64
64
|
urllib3==2.8.0
|
|
65
65
|
wrapt==1.16.0
|
|
66
|
-
yarl==1.
|
|
66
|
+
yarl==1.25.1
|
|
67
67
|
zipp==3.23.0
|
|
@@ -83,6 +83,12 @@ The error from the SSH library is: {e}"
|
|
|
83
83
|
self.notifications.send_notifications(message=to_send, subject='Error')
|
|
84
84
|
raise e
|
|
85
85
|
|
|
86
|
+
def download_preroll(self) -> None:
|
|
87
|
+
self.notifications.prep_syslog(message="Attempting to download preroll audio from assets server...")
|
|
88
|
+
self.connection.get(remote="pod_preroll.mp3")
|
|
89
|
+
self.notifications.prep_syslog(message="Successfully downloaded preroll audio from assets server")
|
|
90
|
+
return
|
|
91
|
+
|
|
86
92
|
def delete_file(self, file: str, folder: str) -> None:
|
|
87
93
|
try:
|
|
88
94
|
self.notifications.prep_syslog(message=f"Attempting to delete '{file}' from {folder}/ on server")
|
|
@@ -389,13 +395,18 @@ class TLPod(BaseModel):
|
|
|
389
395
|
|
|
390
396
|
@model_validator(mode='after')
|
|
391
397
|
def check_apache_assets_server(self):
|
|
392
|
-
'''
|
|
398
|
+
'''Warn if the Assets server is unavailable via HTTPS; never halt automation for this check.'''
|
|
393
399
|
url: str = "https://assets.library.nashville.gov"
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
400
|
+
try:
|
|
401
|
+
response = requests.get(url=url, timeout=5)
|
|
402
|
+
response.raise_for_status()
|
|
403
|
+
except requests.exceptions.RequestException as e:
|
|
404
|
+
to_send: str = f"The Assets server HTTPS check failed. Automation will continue via SSH. Error: {e}"
|
|
405
|
+
try:
|
|
406
|
+
self.notifications.send_notifications(message=to_send, subject="Warning", syslog_level="warning")
|
|
407
|
+
except Exception as notification_error:
|
|
408
|
+
# Notification services may also be unavailable during a network outage.
|
|
409
|
+
print(f"{to_send}\nUnable to send warning notifications: {notification_error}")
|
|
399
410
|
|
|
400
411
|
return self
|
|
401
412
|
|
|
@@ -505,19 +516,10 @@ class TLPod(BaseModel):
|
|
|
505
516
|
return output_filename
|
|
506
517
|
|
|
507
518
|
def download_preroll(self):
|
|
508
|
-
|
|
509
|
-
input_file = '
|
|
510
|
-
self.
|
|
511
|
-
|
|
512
|
-
try:
|
|
513
|
-
a = requests.get(download_URL)
|
|
514
|
-
downloaded_file.write(a.content)
|
|
515
|
-
downloaded_file.close()
|
|
516
|
-
except (Exception, requests.exceptions.RequestException) as e:
|
|
517
|
-
self.notifications.send_notifications(message=f"Cannot download {download_URL}. Exception: {e}", subject="Error")
|
|
518
|
-
raise e
|
|
519
|
-
self.notifications.prep_syslog(message="preroll audio successfully downloaded")
|
|
520
|
-
return downloaded_file.name
|
|
519
|
+
'''this is absolutely horrible but i am in a crunch at the moment while Apache on Assets is down...'''
|
|
520
|
+
input_file = 'pod_preroll.mp3'
|
|
521
|
+
self.ssh.download_preroll()
|
|
522
|
+
return input_file
|
|
521
523
|
|
|
522
524
|
def post_cleaup(self):
|
|
523
525
|
self.notifications.prep_syslog(message="looking for local files to delete...")
|
|
@@ -565,4 +567,4 @@ class TLPod(BaseModel):
|
|
|
565
567
|
|
|
566
568
|
self.post_cleaup()
|
|
567
569
|
|
|
568
|
-
self.notifications.prep_syslog(message="Podcasting was successful. Exiting automation.")
|
|
570
|
+
self.notifications.prep_syslog(message="Podcasting was successful. Exiting automation.")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: talklib
|
|
3
|
-
Version: 3.7.
|
|
3
|
+
Version: 3.7.12
|
|
4
4
|
Summary: A package to automate processing of shows/segments airing on the TL
|
|
5
5
|
Author-email: Ben Weddle <ben.weddle@gmail.com>
|
|
6
6
|
Maintainer-email: Ben Weddle <ben.weddle@gmail.com>
|
|
@@ -11,7 +11,7 @@ Requires-Python: >=3.12
|
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE.txt
|
|
13
13
|
Requires-Dist: aiohappyeyeballs==2.6.1
|
|
14
|
-
Requires-Dist: aiohttp==3.14.
|
|
14
|
+
Requires-Dist: aiohttp==3.14.5
|
|
15
15
|
Requires-Dist: aiohttp-retry==2.8.3
|
|
16
16
|
Requires-Dist: aiosignal==1.4.0
|
|
17
17
|
Requires-Dist: annotated-types==0.7.0
|
|
@@ -19,7 +19,7 @@ Requires-Dist: async-timeout==4.0.2
|
|
|
19
19
|
Requires-Dist: attrs==22.1.0
|
|
20
20
|
Requires-Dist: bcrypt==4.2.0
|
|
21
21
|
Requires-Dist: build==1.0.3
|
|
22
|
-
Requires-Dist: certifi==
|
|
22
|
+
Requires-Dist: certifi==2026.10.19
|
|
23
23
|
Requires-Dist: cffi==2.0.0
|
|
24
24
|
Requires-Dist: charset-normalizer==2.1.1
|
|
25
25
|
Requires-Dist: colorama==0.4.6
|
|
@@ -75,7 +75,7 @@ Requires-Dist: twine==4.0.2
|
|
|
75
75
|
Requires-Dist: typing_extensions==4.15.0
|
|
76
76
|
Requires-Dist: urllib3==2.8.0
|
|
77
77
|
Requires-Dist: wrapt==1.16.0
|
|
78
|
-
Requires-Dist: yarl==1.
|
|
78
|
+
Requires-Dist: yarl==1.25.1
|
|
79
79
|
Requires-Dist: zipp==3.23.0
|
|
80
80
|
Dynamic: license-file
|
|
81
81
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
aiohappyeyeballs==2.6.1
|
|
2
|
-
aiohttp==3.14.
|
|
2
|
+
aiohttp==3.14.5
|
|
3
3
|
aiohttp-retry==2.8.3
|
|
4
4
|
aiosignal==1.4.0
|
|
5
5
|
annotated-types==0.7.0
|
|
@@ -7,7 +7,7 @@ async-timeout==4.0.2
|
|
|
7
7
|
attrs==22.1.0
|
|
8
8
|
bcrypt==4.2.0
|
|
9
9
|
build==1.0.3
|
|
10
|
-
certifi==
|
|
10
|
+
certifi==2026.10.19
|
|
11
11
|
cffi==2.0.0
|
|
12
12
|
charset-normalizer==2.1.1
|
|
13
13
|
colorama==0.4.6
|
|
@@ -63,5 +63,5 @@ twine==4.0.2
|
|
|
63
63
|
typing_extensions==4.15.0
|
|
64
64
|
urllib3==2.8.0
|
|
65
65
|
wrapt==1.16.0
|
|
66
|
-
yarl==1.
|
|
66
|
+
yarl==1.25.1
|
|
67
67
|
zipp==3.23.0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|