Beispiel #1
0
def main():
  print(format % ('PID', 'SWAP', 'COMMAND'))
  results = getSwap()
  for pid, swap, comm in results:
    print(format % (pid, filesize(swap), comm))
  t = filesize(sum(x[1] for x in results))
  print(totalFmt % t)
Beispiel #2
0
def download_process(name, startat, got, total, width=80):
  '''Progressbar: [xx%] FileName: yKiB of zMiB, Ts left, sKiB/s'''
  elapsed = time.time() - startat
  speed = got / elapsed
  if got == total:
    # complete
    s1 = 'DONE! '
    fmt2 = ': %s total, %s elapsed, %s/s'
    s2 = fmt2 % (filesize(got), humantime(elapsed), filesize(speed))
  else:
    fmt1 = '[%2d%%] '
    p = got * 100 // total

    fmt2 = ': %s'
    size1 = filesize(got)
    args2 = [size1]
    if total > 0:
      fmt2 += ' of %s'
      args2.append(filesize(total))

      fmt2 += ', %s left, %s/s'
      left = (total - got) / speed
      args2.append(humantime(left))
      args2.append(filesize(speed))

    s1 = fmt1 % p
    s2 = fmt2 % tuple(args2)

  avail = width - len(s1) - len(s2) - 1
  if avail < 0:
    # Sadly, we have too narrow a termial. Let's output something at least
    avail = 2

  name2 = ''
  for ch in name:
    w = east_asian_width(ch) in 'WF' and 2 or 1
    if avail < w:
      break
    name2 += ch
    avail -= w
    sys.argv.count
    sys.api_version.conjugate()
    sys.maxint.imag

  sys.stdout.write('\r' + s1 + name2 + s2 + '\x1b[K')
  if got == total:
    sys.stdout.write('\n')
  else:
    sys.stdout.flush()
Beispiel #3
0
def download_process(name, startat, got, total, width=80):
  '''Progressbar: [xx%] FileName: yKiB of zMiB, Ts left, sKiB/s'''
  elapsed = time.time() - startat
  speed = got / elapsed
  if got == total:
    # complete
    s1 = 'DONE! '
    fmt2 = ': %s total, %s elapsed, %s/s'
    s2 = fmt2 % (filesize(got), humantime(elapsed), filesize(speed))
  else:
    fmt1 = '[%2d%%] '
    p = got * 100 // total

    fmt2 = ': %s'
    size1 = filesize(got)
    args2 = [size1]
    if total > 0:
      fmt2 += ' of %s'
      args2.append(filesize(total))

      fmt2 += ', %s left, %s/s'
      left = (total - got) / speed
      args2.append(humantime(left))
      args2.append(filesize(speed))

    s1 = fmt1 % p
    s2 = fmt2 % tuple(args2)

  avail = width - len(s1) - len(s2) - 1
  if avail < 0:
    # Sadly, we have too narrow a termial. Let's output something at least
    avail = 2

  name2 = ''
  for ch in name:
    w = east_asian_width(ch) in 'WF' and 2 or 1
    if avail < w:
      break
    name2 += ch
    avail -= w

  sys.stdout.write('\r' + s1 + name2 + s2 + '\x1b[K')
  if got == total:
    sys.stdout.write('\n')
  else:
    sys.stdout.flush()
Beispiel #4
0
def remove_samll_dirs():
    with ut.chdir(SRC_DIR):
        dirs = ut.globm('**/__result__/*')
        size = 0
        for d in dirs:
            dirname = os.path.abspath(d)
            dirsize = ut.filesize(dirname)
            snapshots = [f for f in os.listdir(dirname)
                         if f.startswith('snapshot_')]
            print(d, f'snapshots={len(snapshots)}', end='')

            if len(snapshots) < 1 and ut.filesize(d) < 100 * ut.MB1:
                print(' => Remove')
                shutil.rmtree(dirname)
                size += dirsize
            else:
                print('\r')
                with ut.chdir(dirname):
                    size += thin_snapshot(snapshots, d)
        print(f'free: {size/1048576:.2f}MB')
Beispiel #5
0
def thin_snapshot(snapshots, dirname=''):
    size = 0
    total = 0
    for snapshot in snapshots:
        m = re.search(r'(?<=epoch-)\d+', snapshot)
        if not m:
            continue
        epoch = int(m[0])
        if epoch < 10 or epoch % 10 == 0:
            continue
        # print(snapshot, '=> Remove', end='\r')
        size += ut.filesize(snapshot)
        total += 1
        os.remove(snapshot)
    if total:
        print(dirname, 'total:', total)
    return size
Beispiel #6
0
 def download(self, file, dir):
   '''
   将文件下载到指定目录,会在终端显示下载状态
   file 是快盘的 dict,而 dir 是 path 对象
   '''
   # url = self.getdownloadurl(file['fileId'])
   url = self.mainurl+ 'download/?fileId=%s&uname=%s' % (file['fileId'], URIescape(file['name']))
   res = self.request(url)
   size = int(file['size'])
   oldpercent = percent = 0
   print('下载 %s,总大小:%s' % (file['name'], filesize(size)))
   with (dir+file['name']).open('wb') as f:
     data = res.read(4096)
     while data:
       f.write(data)
       percent = 100 * f.tell() // size
       if percent - oldpercent > 4:
         print('%d%%...' % percent, end='')
         sys.stdout.flush()
         oldpercent = percent
       data = res.read(4096)
   if oldpercent != 100:
     print('100%', end='')
   print('\n%s 下载完成' % file['name'])
Beispiel #7
0
def getspeed():
  a = getbytes()
  time.sleep(INTERNAL)
  b = getbytes()
  return filesize((b - a) / INTERNAL) + '/s'