33from pathlib import Path
44
55#!/usr/bin/python3
6- from random import randint
6+ from random import randint , shuffle
77from statistics import mean , median
88from time import sleep
99
@@ -542,10 +542,46 @@ def shorten(s, width):
542542
543543 if args .sort == "priority" :
544544 torrents = sorted (torrents , key = lambda t : t .priority , reverse = reverse_sort )
545+ elif args .sort == "progress" :
546+ torrents = sorted (torrents , key = lambda t : t .progress , reverse = reverse_sort )
545547 elif args .sort == "ratio" :
546548 torrents = sorted (torrents , key = lambda t : t .ratio , reverse = reverse_sort )
547549 elif args .sort == "remaining" :
548550 torrents = sorted (torrents , key = lambda t : t .amount_left , reverse = reverse_sort )
551+ elif args .sort == "random" :
552+ torrents = shuffle (torrents )
553+ elif args .sort == "seeders" :
554+ torrents = sorted (torrents , key = lambda t : t .num_complete , reverse = reverse_sort )
555+ elif args .sort == "leechers" :
556+ torrents = sorted (torrents , key = lambda t : t .num_incomplete , reverse = reverse_sort )
557+ elif args .sort == "time_active" :
558+ torrents = sorted (torrents , key = lambda t : t .time_active , reverse = reverse_sort )
559+ elif args .sort == "time_added" :
560+ torrents = sorted (torrents , key = lambda t : t .added_on , reverse = reverse_sort )
561+ elif args .sort == "time_stalled" :
562+ torrents = sorted (torrents , key = lambda t : t .last_activity , reverse = reverse_sort )
563+ elif args .sort == "time_completed" :
564+ torrents = sorted (torrents , key = lambda t : t .completion_on , reverse = reverse_sort )
565+ elif args .sort == "time_remaining" :
566+ torrents = sorted (torrents , key = lambda t : (not t .state_enum .is_complete and t .eta and t .eta < 8640000 , t .eta ), reverse = reverse_sort )
567+ elif args .sort == "time_unseeded" :
568+ torrents = sorted (torrents , key = lambda t : (t .num_complete == 0 and t .seen_complete > 0 , t .seen_complete ), reverse = reverse_sort )
569+ elif args .sort == "time_downloading" :
570+ torrents = sorted (torrents , key = lambda t : t .downloading_time , reverse = reverse_sort )
571+ elif args .sort == "time_seeding" :
572+ torrents = sorted (torrents , key = lambda t : t .seeding_time , reverse = reverse_sort )
573+ elif args .sort in ["downloaded_session" , "download_session" ]:
574+ torrents = sorted (torrents , key = lambda t : t .downloaded_session , reverse = reverse_sort )
575+ elif args .sort in ["uploaded_session" , "upload_session" ]:
576+ torrents = sorted (torrents , key = lambda t : t .uploaded_session , reverse = reverse_sort )
577+ elif args .sort in ["dl_speed" , "dlspeed" ]:
578+ torrents = sorted (torrents , key = lambda t : t .dlspeed , reverse = reverse_sort )
579+ elif args .sort in ["ul_speed" , "ulspeed" , "upspeed" ]:
580+ torrents = sorted (torrents , key = lambda t : t .upspeed , reverse = reverse_sort )
581+ elif args .sort == "tracker" :
582+ torrents = sorted (torrents , key = lambda t : t .tracker_domain (), reverse = reverse_sort )
583+ elif args .sort == "tracker_count" :
584+ torrents = sorted (torrents , key = lambda t : t .tracker_count (), reverse = reverse_sort )
549585 elif args .sort in ["counts" , "count" ]:
550586 torrents = sorted (torrents , key = lambda t : len (torrent_files (t )), reverse = reverse_sort )
551587 elif args .sort in ["size" , "total_size" ]:
@@ -561,9 +597,9 @@ def shorten(s, width):
561597 ),
562598 reverse = reverse_sort ,
563599 )
564- elif args .sort in ["download" , "ingress" ]:
600+ elif args .sort in ["downloaded" , " download" , "ingress" ]:
565601 torrents = sorted (torrents , key = lambda t : (t .downloaded , t .downloaded_session ), reverse = reverse_sort )
566- elif args .sort in ["upload" , "egress" ]:
602+ elif args .sort in ["uploaded" , " upload" , "egress" ]:
567603 torrents = sorted (torrents , key = lambda t : (t .uploaded , t .uploaded_session ), reverse = reverse_sort )
568604 elif args .inactive :
569605 torrents = sorted (
0 commit comments