@@ -2528,9 +2528,9 @@ def change_session_status(self, uid: int, status: TransferStatus) -> None:
25282528 )
25292529 self .sessionUpdated .emit ()
25302530
2531- def decrease_session_total (self , uid : int ) -> Optional [Session ]:
2531+ def decrease_session_counts (self , uid : int ) -> Optional [Session ]:
25322532 """
2533- Decrease the Session *total_items* count .
2533+ Decrease the Session *total_items* and *planned_items* counts .
25342534 Update the status if all files are uploaded.
25352535 """
25362536 with self .lock :
@@ -2539,37 +2539,34 @@ def decrease_session_total(self, uid: int) -> Optional[Session]:
25392539 return None
25402540
25412541 session .total_items = max (0 , session .total_items - 1 )
2542+ session .planned_items = max (0 , session .planned_items - 1 )
25422543 if session .uploaded_items == session .total_items :
25432544 session .status = (
25442545 TransferStatus .DONE
25452546 if session .total_items
25462547 else TransferStatus .CANCELLED
25472548 )
2548- sql = "UPDATE Sessions SET total = ?, status = ?, completed_on = CURRENT_TIMESTAMP WHERE uid = ?"
2549+ sql = (
2550+ "UPDATE Sessions SET"
2551+ " planned_items = ?, total = ?, status = ?, completed_on = CURRENT_TIMESTAMP"
2552+ " WHERE uid = ?"
2553+ )
25492554 else :
2550- sql = "UPDATE Sessions SET total = ?, status = ? WHERE uid = ?"
2555+ sql = "UPDATE Sessions SET planned_items = ?, total = ?, status = ? WHERE uid = ?"
25512556
25522557 cursor = self ._get_write_connection ().cursor ()
25532558 cursor .execute (
2554- sql , (session .total_items , session .status .value , session .uid )
2559+ sql ,
2560+ (
2561+ session .planned_items ,
2562+ session .total_items ,
2563+ session .status .value ,
2564+ session .uid ,
2565+ ),
25552566 )
25562567 self .sessionUpdated .emit ()
25572568 return session
25582569
2559- def decrease_session_planned_items (self , uid : int ) -> None :
2560- """Decrease the Session *planned_items* count."""
2561- with self .lock :
2562- session = self .get_session (uid )
2563- if not session :
2564- return None
2565-
2566- session .planned_items = max (0 , session .planned_items - 1 )
2567- cursor = self ._get_write_connection ().cursor ()
2568- cursor .execute (
2569- "UPDATE Sessions SET planned_items = ? WHERE uid = ?" ,
2570- (session .planned_items , session .uid ),
2571- )
2572-
25732570 def get_downloads_with_status (self , status : TransferStatus ) -> List [Download ]:
25742571 return [d for d in self .get_downloads () if d .status == status ]
25752572
0 commit comments