Exemplo n.º 1
0
    def change_quota(self, allow_resume=True):
        """ Update quota, potentially pausing downloader
        """
        if not self.have_quota and self.quota < 0.5:
            # Never set, use last period's size
            per = cfg.quota_period()
            sums = self.get_sums()
            if per == 'd':
                self.left = sums[3]
            elif per == 'w':
                self.left = sums[2]
            elif per == 'm':
                self.left = sums[1]

        self.have_quota = bool(cfg.quota_size())
        if self.have_quota:
            quota = cfg.quota_size.get_float()
            if self.quota:
                # Quota change, recalculate amount left
                self.left = quota - (self.quota - self.left)
            else:
                # If previously no quota, self.left holds this period's usage
                self.left = quota - self.left
            self.quota = quota
        else:
            self.quota = self.left = 0L
        self.update(0)
        self.next_reset()
        if self.left > 0.5:
            from sabnzbd.downloader import Downloader
            if allow_resume and cfg.quota_resume(
            ) and Downloader.do and Downloader.do.paused:
                Downloader.do.resume()
Exemplo n.º 2
0
    def change_quota(self, allow_resume=True):
        """ Update quota, potentially pausing downloader
        """
        if not self.have_quota and self.quota < 0.5:
            # Never set, use last period's size
            per = cfg.quota_period()
            sums = self.get_sums()
            if per == 'd':
                self.left = sums[3]
            elif per == 'w':
                self.left = sums[2]
            elif per == 'm':
                self.left = sums[1]

        self.have_quota = bool(cfg.quota_size())
        if self.have_quota:
            quota = cfg.quota_size.get_float()
            self.left = quota - (self.quota - self.left)
            self.quota = quota
        else:
            self.quota = self.left = 0L
        self.update(0)
        self.next_reset()
        if self.left > 0.5:
            from sabnzbd.downloader import Downloader
            if allow_resume and cfg.quota_resume() and Downloader.do and Downloader.do.paused:
                Downloader.do.resume()
Exemplo n.º 3
0
 def reset_quota(self, force: bool = False):
     """Check if it's time to reset the quota, optionally resuming
     Return True, when still paused or should be paused
     """
     if force or (self.have_quota and time.time() > (self.q_time - 50)):
         self.quota = self.left = cfg.quota_size.get_float()
         logging.info("Quota was reset to %s", self.quota)
         if cfg.quota_resume():
             logging.info("Auto-resume due to quota reset")
             sabnzbd.Downloader.resume()
         self.next_reset()
         return False
     else:
         return True
Exemplo n.º 4
0
 def reset_quota(self, force=False):
     """ Check if it's time to reset the quota, optionally resuming
         Return True, when still paused
     """
     if force or (self.have_quota and time.time() > (self.q_time - 50)):
         self.quota = self.left = cfg.quota_size.get_float()
         logging.info('Quota was reset to %s', self.quota)
         if cfg.quota_resume():
             logging.info('Auto-resume due to quota reset')
             if sabnzbd.downloader.Downloader.do:
                 sabnzbd.downloader.Downloader.do.resume()
         self.next_reset()
         return False
     else:
         return True
Exemplo n.º 5
0
 def resume(self):
     """ Resume downloading """
     if cfg.quota_resume() and sabnzbd.downloader.Downloader.do and sabnzbd.downloader.Downloader.do.paused:
         sabnzbd.downloader.Downloader.do.resume()
Exemplo n.º 6
0
 def resume():
     """ Resume downloading """
     if cfg.quota_resume() and sabnzbd.downloader.Downloader.do and sabnzbd.downloader.Downloader.do.paused:
         sabnzbd.downloader.Downloader.do.resume()
Exemplo n.º 7
0
 def resume(self):
     """ Resume downloading """
     from sabnzbd.downloader import Downloader
     if cfg.quota_resume() and Downloader.do and Downloader.do.paused:
         Downloader.do.resume()
Exemplo n.º 8
0
 def resume(self):
     """ Resume downloading """
     from sabnzbd.downloader import Downloader
     if cfg.quota_resume() and Downloader.do and Downloader.do.paused:
         Downloader.do.resume()