summaryrefslogtreecommitdiff
path: root/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py
diff options
context:
space:
mode:
Diffstat (limited to '.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py')
-rw-r--r--.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py91
1 files changed, 91 insertions, 0 deletions
diff --git a/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py b/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py
new file mode 100644
index 00000000..8819efda
--- /dev/null
+++ b/.emacs.d.back/.python-environments/default/lib/python3.7/site-packages/pip/_vendor/progress/bar.py
@@ -0,0 +1,91 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2012 Giorgos Verigakis <verigak@gmail.com>
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+from __future__ import unicode_literals
+
+import sys
+
+from . import Progress
+
+
+class Bar(Progress):
+ width = 32
+ suffix = '%(index)d/%(max)d'
+ bar_prefix = ' |'
+ bar_suffix = '| '
+ empty_fill = ' '
+ fill = '#'
+
+ def update(self):
+ filled_length = int(self.width * self.progress)
+ empty_length = self.width - filled_length
+
+ message = self.message % self
+ bar = self.fill * filled_length
+ empty = self.empty_fill * empty_length
+ suffix = self.suffix % self
+ line = ''.join([message, self.bar_prefix, bar, empty, self.bar_suffix,
+ suffix])
+ self.writeln(line)
+
+
+class ChargingBar(Bar):
+ suffix = '%(percent)d%%'
+ bar_prefix = ' '
+ bar_suffix = ' '
+ empty_fill = '∙'
+ fill = '█'
+
+
+class FillingSquaresBar(ChargingBar):
+ empty_fill = '▢'
+ fill = '▣'
+
+
+class FillingCirclesBar(ChargingBar):
+ empty_fill = '◯'
+ fill = '◉'
+
+
+class IncrementalBar(Bar):
+ if sys.platform.startswith('win'):
+ phases = (u' ', u'▌', u'█')
+ else:
+ phases = (' ', '▏', '▎', '▍', '▌', '▋', '▊', '▉', '█')
+
+ def update(self):
+ nphases = len(self.phases)
+ filled_len = self.width * self.progress
+ nfull = int(filled_len) # Number of full chars
+ phase = int((filled_len - nfull) * nphases) # Phase of last char
+ nempty = self.width - nfull # Number of empty chars
+
+ message = self.message % self
+ bar = self.phases[-1] * nfull
+ current = self.phases[phase] if phase > 0 else ''
+ empty = self.empty_fill * max(0, nempty - len(current))
+ suffix = self.suffix % self
+ line = ''.join([message, self.bar_prefix, bar, current, empty,
+ self.bar_suffix, suffix])
+ self.writeln(line)
+
+
+class PixelBar(IncrementalBar):
+ phases = ('⡀', '⡄', '⡆', '⡇', '⣇', '⣧', '⣷', '⣿')
+
+
+class ShadyBar(IncrementalBar):
+ phases = (' ', '░', '▒', '▓', '█')