@@ -47,6 +47,13 @@ async def _get_items_to_remove(self, items: list) -> list:
4747
4848        return  items_to_remove 
4949
50+     def  _get_limit (self , item : dict , specific_key : str , global_key : str ) ->  float :
51+         """Get a limit from item, falling back to a global key.""" 
52+         limit  =  item .get (specific_key , - 1 )
53+         if  limit  <=  0 :
54+             limit  =  item .get (global_key , - 1 )
55+         return  limit 
56+ 
5057    def  _is_completed (self , item : dict ) ->  bool :
5158        """Check if an item has met its seeding goals.""" 
5259        state  =  item .get ("state" , "" )
@@ -55,9 +62,14 @@ def _is_completed(self, item: dict) -> bool:
5562
5663        # Additional sanity checks for ratio and seeding time 
5764        ratio  =  item .get ("ratio" , 0 )
58-         ratio_limit  =  item .get ("ratio_limit" , - 1 )
5965        seeding_time  =  item .get ("seeding_time" , 0 )
60-         seeding_time_limit  =  item .get ("seeding_time_limit" , - 1 )
66+ 
67+         ratio_limit  =  self ._get_limit (item , "ratio_limit" , "max_ratio" )
68+         seeding_time_limit  =  self ._get_limit (
69+             item ,
70+             "seeding_time_limit" ,
71+             "max_seeding_time" ,
72+         )
6173
6274        ratio_limit_met  =  ratio  >=  ratio_limit  >  0 
6375        seeding_time_limit_met  =  seeding_time  >=  seeding_time_limit  >  0 
0 commit comments