mirror of
https://github.com/NohamR/Ratio.py.git
synced 2025-05-23 16:28:58 +00:00
62 lines
2.0 KiB
Python
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) |