[Pkg-bazaar-commits] ./bzr/unstable r645: - split out proposed progress module

Martin Pool mbp at sourcefrog.net
Fri Apr 10 08:20:34 UTC 2009


------------------------------------------------------------
revno: 645
committer: Martin Pool <mbp at sourcefrog.net>
timestamp: Fri 2005-06-10 16:29:35 +1000
message:
  - split out proposed progress module
added:
  patches/progress.diff
modified:
  patches/annotate3.patch
-------------- next part --------------
=== modified file 'patches/annotate3.patch'
--- a/patches/annotate3.patch	2005-06-10 06:26:31 +0000
+++ b/patches/annotate3.patch	2005-06-10 06:29:35 +0000
@@ -500,102 +500,6 @@
 +    test()
 +# arch-tag: d1541a25-eac5-4de9-a476-08a7cecd5683
 
-*** added file 'bzrlib/progress.py'
---- /dev/null 
-+++ bzrlib/progress.py 
-@@ -0,0 +1,91 @@
-+# Copyright (C) 2005 Aaron Bentley
-+# <aaron.bentley at utoronto.ca>
-+#
-+#    This program is free software; you can redistribute it and/or modify
-+#    it under the terms of the GNU General Public License as published by
-+#    the Free Software Foundation; either version 2 of the License, or
-+#    (at your option) any later version.
-+#
-+#    This program is distributed in the hope that it will be useful,
-+#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-+#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+#    GNU General Public License for more details.
-+#
-+#    You should have received a copy of the GNU General Public License
-+#    along with this program; if not, write to the Free Software
-+#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-+
-+import sys
-+
-+class Progress(object):
-+    def __init__(self, units, current, total=None):
-+        self.units = units
-+        self.current = current
-+        self.total = total
-+        self.percent = None
-+        if self.total is not None:
-+            self.percent = 100.0 * current / total
-+
-+    def __str__(self):
-+        if self.total is not None:
-+            return "%i of %i %s %.1f%%" % (self.current, self.total, self.units,
-+                                         self.percent)
-+        else:
-+            return "%i %s" (self.current, self.units) 
-+
-+
-+def progress_bar(progress):
-+    fmt = " %i of %i %s (%.1f%%)"
-+    f = fmt % (progress.total, progress.total, progress.units, 100.0)
-+    max = len(f)
-+    cols = 77 - max
-+    markers = int (float(cols) * progress.current / progress.total)
-+    txt = fmt % (progress.current, progress.total, progress.units,
-+                 progress.percent)
-+    sys.stderr.write("\r[%s%s]%s" % ('='*markers, ' '*(cols-markers), txt))
-+
-+def clear_progress_bar():
-+    sys.stderr.write('\r%s\r' % (' '*79))
-+
-+def spinner_str(progress, show_text=False):
-+    """
-+    Produces the string for a textual "spinner" progress indicator
-+    :param progress: an object represinting current progress
-+    :param show_text: If true, show progress text as well
-+    :return: The spinner string
-+
-+    >>> spinner_str(Progress("baloons", 0))
-+    '|'
-+    >>> spinner_str(Progress("baloons", 5))
-+    '/'
-+    >>> spinner_str(Progress("baloons", 6), show_text=True)
-+    '- 6 baloons'
-+    """
-+    positions = ('|', '/', '-', '\\')
-+    text = positions[progress.current % 4]
-+    if show_text:
-+        text+=" %i %s" % (progress.current, progress.units)
-+    return text
-+
-+def spinner(progress, show_text=False, output=sys.stderr):
-+    """
-+    Update a spinner progress indicator on an output
-+    :param progress: The progress to display
-+    :param show_text: If true, show text as well as spinner
-+    :param output: The output to write to
-+
-+    >>> spinner(Progress("baloons", 6), show_text=True, output=sys.stdout)
-+    \r- 6 baloons
-+    """
-+    output.write('\r%s' % spinner_str(progress, show_text))
-+
-+def run_tests():
-+    import doctest
-+    result = doctest.testmod()
-+    if result[1] > 0:
-+        if result[0] == 0:
-+            print "All tests passed"
-+    else:
-+        print "No tests to run"
-+if __name__ == "__main__":
-+    run_tests()
-
 *** added directory 'testdata'
 *** added file 'testdata/diff'
 --- /dev/null 

=== added file 'patches/progress.diff'
--- a/patches/progress.diff	1970-01-01 00:00:00 +0000
+++ b/patches/progress.diff	2005-06-10 06:29:35 +0000
@@ -0,0 +1,96 @@
+*** added file 'bzrlib/progress.py'
+--- /dev/null 
++++ bzrlib/progress.py 
+@@ -0,0 +1,91 @@
++# Copyright (C) 2005 Aaron Bentley
++# <aaron.bentley at utoronto.ca>
++#
++#    This program is free software; you can redistribute it and/or modify
++#    it under the terms of the GNU General Public License as published by
++#    the Free Software Foundation; either version 2 of the License, or
++#    (at your option) any later version.
++#
++#    This program is distributed in the hope that it will be useful,
++#    but WITHOUT ANY WARRANTY; without even the implied warranty of
++#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++#    GNU General Public License for more details.
++#
++#    You should have received a copy of the GNU General Public License
++#    along with this program; if not, write to the Free Software
++#    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++
++import sys
++
++class Progress(object):
++    def __init__(self, units, current, total=None):
++        self.units = units
++        self.current = current
++        self.total = total
++        self.percent = None
++        if self.total is not None:
++            self.percent = 100.0 * current / total
++
++    def __str__(self):
++        if self.total is not None:
++            return "%i of %i %s %.1f%%" % (self.current, self.total, self.units,
++                                         self.percent)
++        else:
++            return "%i %s" (self.current, self.units) 
++
++
++def progress_bar(progress):
++    fmt = " %i of %i %s (%.1f%%)"
++    f = fmt % (progress.total, progress.total, progress.units, 100.0)
++    max = len(f)
++    cols = 77 - max
++    markers = int (float(cols) * progress.current / progress.total)
++    txt = fmt % (progress.current, progress.total, progress.units,
++                 progress.percent)
++    sys.stderr.write("\r[%s%s]%s" % ('='*markers, ' '*(cols-markers), txt))
++
++def clear_progress_bar():
++    sys.stderr.write('\r%s\r' % (' '*79))
++
++def spinner_str(progress, show_text=False):
++    """
++    Produces the string for a textual "spinner" progress indicator
++    :param progress: an object represinting current progress
++    :param show_text: If true, show progress text as well
++    :return: The spinner string
++
++    >>> spinner_str(Progress("baloons", 0))
++    '|'
++    >>> spinner_str(Progress("baloons", 5))
++    '/'
++    >>> spinner_str(Progress("baloons", 6), show_text=True)
++    '- 6 baloons'
++    """
++    positions = ('|', '/', '-', '\\')
++    text = positions[progress.current % 4]
++    if show_text:
++        text+=" %i %s" % (progress.current, progress.units)
++    return text
++
++def spinner(progress, show_text=False, output=sys.stderr):
++    """
++    Update a spinner progress indicator on an output
++    :param progress: The progress to display
++    :param show_text: If true, show text as well as spinner
++    :param output: The output to write to
++
++    >>> spinner(Progress("baloons", 6), show_text=True, output=sys.stdout)
++    \r- 6 baloons
++    """
++    output.write('\r%s' % spinner_str(progress, show_text))
++
++def run_tests():
++    import doctest
++    result = doctest.testmod()
++    if result[1] > 0:
++        if result[0] == 0:
++            print "All tests passed"
++    else:
++        print "No tests to run"
++if __name__ == "__main__":
++    run_tests()
+



More information about the Pkg-bazaar-commits mailing list