Files
python_scripts/main.py
T

49 lines
1.2 KiB
Python

#!/usr/bin/env python3
import os
import sys
import fcntl
import asyncio
import package.twitch.video_info as video_info
import package.twitch.download_videos as download_videos
import package.twitch.download_thumbnails as download_thumbnails
import package.build_videos as build_videos
import package.process_uploads as process_uploads
def lock_file():
# Open a lock file
lock_file_path = "/tmp/python_script.lock"
fp = open(lock_file_path, 'w')
try:
# Try to grab an exclusive lock without blocking (LOCK_NB)
fcntl.lockf(fp, fcntl.LOCK_EX | fcntl.LOCK_NB)
except IOError:
print("Another instance is already running. Exiting.")
sys.exit(1)
# Your script logic goes here
print("Running exclusively on Linux/macOS...")
if __name__ == "__main__":
lock_file()
upload = False
if upload is False:
# Get Twitch Video Info
asyncio.run(video_info())
# Download Twitch Videos
download_videos()
download_thumbnails()
#Build
build_videos()
else:
process_uploads()
print("====================================================")
print(f"✅ Done.")
print("====================================================")