From 362af4e16d7cdfa1512a6f2f154f055907b4d900 Mon Sep 17 00:00:00 2001 From: Christian Segundo Date: Tue, 23 Jul 2024 21:43:05 +0200 Subject: add ci --- scripts/delete-if-unlinked.py | 53 ------------------------------------------- 1 file changed, 53 deletions(-) delete mode 100644 scripts/delete-if-unlinked.py (limited to 'scripts/delete-if-unlinked.py') diff --git a/scripts/delete-if-unlinked.py b/scripts/delete-if-unlinked.py deleted file mode 100644 index 54df8ff..0000000 --- a/scripts/delete-if-unlinked.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 -import click -import os -from transmission_rpc import Client -from datetime import timedelta, datetime - - -def convert_to_seconds(s): - units = {"s": "seconds", "m": "minutes", - "h": "hours", "d": "days", "w": "weeks"} - count = int(s[:-1]) - unit = units[s[-1]] - td = timedelta(**{unit: count}) - return td.seconds + 60 * 60 * 24 * td.days - -def has_links(torrent): - for file in torrent.get_files(): - file_path = torrent.download_dir + '/' + file.name - if not os.path.exists(file_path): - continue - if os.stat(file_path).st_nlink > 1: - return True - return False - - -@click.command() -@click.option('--port', default=9091) -@click.option('--host', default="localhost") -@click.option('--tag', required=True) -@click.option('--min-age', default='1w') -def main(host, port, tag, min_age): - """ Deletes torrents older than the specified age if no file has a link. """ - - c = Client(host=host, port=port) - torrents = c.get_torrents() - for torrent in torrents: - if tag not in torrent.labels: - continue - - specified_age = convert_to_seconds(min_age) - age_in_seconds = int((datetime.today().timestamp() - - torrent.done_date.timestamp())) - - if age_in_seconds < specified_age: - continue - - if not has_links(torrent): - print(f"Deleting {torrent.name}") - c.remove_torrent(torrent.id, delete_data=True) - - -if __name__ == '__main__': - main() -- cgit v1.2.3