Ratio.py/ratio.py
√(noham)² 1861b4599d timer
2024-12-23 22:53:09 +01:00

62 lines
2.0 KiB
Python

from code.process_torrent import process_torrent, seedqueue
import argparse
import json
import sys
import os
def parse_args():
"""Create the arguments"""
parser = argparse.ArgumentParser(description="Fake ratio")
parser.add_argument("-c", "--configuration", help="Configuration file")
parser.add_argument("-t", "--time", help="Time to seed", type=str, default="1d")
# parser.add_argument("-s", "--speed", help="Speed to seed", type=str, default="350")
return parser.parse_args()
def load_configuration(configuration_file):
with open(configuration_file) as f:
configuration = json.load(f)
if 'torrents' not in configuration:
return None
return configuration
def get_time(timestring):
days = hours = minutes = seconds = 0
if 'd' in timestring:
days, timestring = timestring.split('d')
days = int(days)
if 'h' in timestring:
hours, timestring = timestring.split('h')
hours = int(hours)
if 'm' in timestring:
minutes, timestring = timestring.split('m')
minutes = int(minutes)
if 's' in timestring:
seconds = int(timestring.split('s')[0])
total_seconds = days * 86400 + hours * 3600 + minutes * 60 + seconds
return total_seconds
if __name__ == "__main__":
queue = []
args = parse_args()
if args.configuration:
configuration = load_configuration(args.configuration)
else:
sys.exit()
if not configuration:
sys.exit()
folder_path = configuration['torrents']
torrents_path = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".torrent"):
torrents_path.append(os.path.join(root, file))
for torrent_file in torrents_path:
config = {
"torrent": torrent_file,
"upload": configuration['upload']
}
torrent = process_torrent(config)
queue.append(torrent)
print(f'Got {len(queue)} torrents')
time = get_time(args.time)
seedqueue(queue, time)