def __str__(self): """Get the download as a string. Example: foo.pdf [699.2kB/s|0.34|16%|4.253/25.124] """ speed = utils.format_size(self.stats.speed, suffix='B/s') down = utils.format_size(self.stats.done, suffix='B') perc = self.stats.percentage() remaining = self.stats.remaining_time() if self.error_msg is None: errmsg = "" else: errmsg = " - {}".format(self.error_msg) if all(e is None for e in [perc, remaining, self.stats.total]): return ('{index}: {name} [{speed:>10}|{down}]{errmsg}'.format( index=self.index, name=self.basename, speed=speed, down=down, errmsg=errmsg)) perc = round(perc) if remaining is None: remaining = '?' else: remaining = utils.format_seconds(remaining) total = utils.format_size(self.stats.total, suffix='B') if self.done: return ('{index}: {name} [{perc:>2}%|{total}]{errmsg}'.format( index=self.index, name=self.basename, perc=perc, total=total, errmsg=errmsg)) else: return ('{index}: {name} [{speed:>10}|{remaining:>5}|{perc:>2}%|' '{down}/{total}]{errmsg}'.format( index=self.index, name=self.basename, speed=speed, remaining=remaining, perc=perc, down=down, total=total, errmsg=errmsg))
def __str__(self): """Get the download as a string. Example: foo.pdf [699.2kB/s|0.34|16%|4.253/25.124] """ speed = utils.format_size(self._speed, suffix='B/s') down = utils.format_size(self._bytes_done, suffix='B') perc = self._percentage() remaining = self._remaining_time() if all(e is None for e in (perc, remaining, self._bytes_total)): return ('{name} [{speed:>10}|{down}]'.format( name=self.basename, speed=speed, down=down)) if perc is None: perc = '??' else: perc = round(perc) if remaining is None: remaining = '?' else: remaining = utils.format_seconds(remaining) total = utils.format_size(self._bytes_total, suffix='B') return ('{name} [{speed:>10}|{remaining:>5}|{perc:>2}%|' '{down}/{total}]'.format(name=self.basename, speed=speed, remaining=remaining, perc=perc, down=down, total=total))
def __str__(self): """Get the download as a string. Example: foo.pdf [699.2kB/s|0.34|16%|4.253/25.124] """ speed = utils.format_size(self.stats.speed, suffix='B/s') down = utils.format_size(self.stats.done, suffix='B') perc = self.stats.percentage() remaining = self.stats.remaining_time() if self.error_msg is None: errmsg = "" else: errmsg = " - {}".format(self.error_msg) if all(e is None for e in [perc, remaining, self.stats.total]): return ('{index}: {name} [{speed:>10}|{down}]{errmsg}'.format( index=self.index, name=self.basename, speed=speed, down=down, errmsg=errmsg)) perc = round(perc) if remaining is None: remaining = '?' else: remaining = utils.format_seconds(remaining) total = utils.format_size(self.stats.total, suffix='B') if self.done: return ('{index}: {name} [{perc:>2}%|{total}]{errmsg}'.format( index=self.index, name=self.basename, perc=perc, total=total, errmsg=errmsg)) else: return ('{index}: {name} [{speed:>10}|{remaining:>5}|{perc:>2}%|' '{down}/{total}]{errmsg}'.format(index=self.index, name=self.basename, speed=speed, remaining=remaining, perc=perc, down=down, total=total, errmsg=errmsg))
def _on_quota_requested(self, request): size = utils.format_size(request.requestedSize()) shared.feature_permission( url=request.origin(), option='content.persistent_storage', msg='use {} of persistent storage'.format(size), yes_action=request.accept, no_action=request.reject, abort_on=[self._abort_questions], blocking=True)
def test_base(self, size, out): """Test with an alternative base.""" assert utils.format_size(size, base=1000) == out
def test_suffix(self, size, out): """Test the suffix option.""" assert utils.format_size(size, suffix='B') == out + 'B'
def test_format_size(self, size, out): """Test format_size with several tests.""" assert utils.format_size(size) == out
def test_base(self): """Test with an alternative base.""" kilo_tests = [(999, '999.00'), (1000, '1.00k'), (1010, '1.01k')] for size, out in kilo_tests: with self.subTest(size=size): self.assertEqual(utils.format_size(size, base=1000), out)
def test_suffix(self): """Test the suffix option.""" for size, out in self.TESTS: with self.subTest(size=size): self.assertEqual(utils.format_size(size, suffix='B'), out + 'B')
def test_format_size(self): """Test format_size with several tests.""" for size, out in self.TESTS: with self.subTest(size=size): self.assertEqual(utils.format_size(size), out)
def test_base(self): """Test with an alternative base.""" kilo_tests = [(999, '999.00'), (1000, '1.00k'), (1010, '1.01k')] for size, out in kilo_tests: with self.subTest(size=size): self.assertEqual(utils.format_size(size, base=1000), out)
def test_suffix(self): """Test the suffix option.""" for size, out in self.TESTS: with self.subTest(size=size): self.assertEqual(utils.format_size(size, suffix='B'), out + 'B')
def test_format_size(self): """Test format_size with several tests.""" for size, out in self.TESTS: with self.subTest(size=size): self.assertEqual(utils.format_size(size), out)
def test_base(self, size, out): """Test with an alternative base.""" assert utils.format_size(size, base=1000) == out
def test_suffix(self, size, out): """Test the suffix option.""" assert utils.format_size(size, suffix='B') == out + 'B'
def test_format_size(self, size, out): """Test format_size with several tests.""" assert utils.format_size(size) == out