Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(113)

Unified Diff: swarm_client/utils/graph.py

Issue 69143004: Delete swarm_client. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « swarm_client/utils/file_path.py ('k') | swarm_client/utils/lru.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: swarm_client/utils/graph.py
===================================================================
--- swarm_client/utils/graph.py (revision 235167)
+++ swarm_client/utils/graph.py (working copy)
@@ -1,108 +0,0 @@
-# Copyright 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import os
-import re
-
-from third_party import colorama
-
-
-UNITS = ('', 'k', 'm', 'g', 't', 'p', 'e', 'z', 'y')
-
-
-def get_console_width(default=80):
- """Returns the console width, if available."""
- # TODO(maruel): Implement Windows.
- try:
- _, columns = os.popen('stty size', 'r').read().split()
- except (IOError, OSError, ValueError):
- columns = default
- return columns
-
-
-def generate_histogram(data, buckets):
- """Generates an histogram out of a list of floats.
-
- The data is bucketed into |buckets| buckets.
- """
- if not data:
- return {}
-
- minimum = min(data)
- maximum = max(data)
- if minimum == maximum:
- return {data[0]: len(data)}
-
- buckets = min(len(data), buckets)
- bucket_size = (maximum-minimum)/buckets
- out = dict((i, 0) for i in xrange(buckets))
- for i in data:
- out[min(int((i-minimum)/bucket_size), buckets-1)] += 1
- return dict(((k*bucket_size)+minimum, v) for k, v in out.iteritems())
-
-
-def print_histogram(data, columns, key_format):
- """Prints ASCII art representing an histogram."""
- # TODO(maruel): Add dots for tens.
- if not data:
- # Nothing to print.
- return
-
- max_key_width = max(len(key_format % k) for k in data)
- # 3 == 1 for ' ' prefix, 2 for ': ' suffix.
- width = columns - max_key_width - 3
- assert width > 1
-
- maxvalue = max(data.itervalues())
- if all(isinstance(i, int) for i in data.itervalues()) and maxvalue < width:
- width = maxvalue
- norm = float(maxvalue) / width
-
- form = '%s: %s%s%s'
- for k in sorted(data):
- line = '*' * int(data[k] / norm)
- key = (key_format % k).rjust(max_key_width)
- print(form % (key, colorama.Fore.GREEN, line, colorama.Fore.RESET))
-
-
-def to_units(number):
- """Convert a string to numbers."""
- unit = 0
- while number >= 1024.:
- unit += 1
- number = number / 1024.
- if unit == len(UNITS) - 1:
- break
- if unit:
- return '%.2f%s' % (number, UNITS[unit])
- return '%d' % number
-
-
-def from_units(text):
- """Convert a text to numbers.
-
- Example: from_unit('0.1k') == 102
- """
- match = re.match(r'^([0-9\.]+)(|[' + ''.join(UNITS[1:]) + r'])$', text)
- if not match:
- return None
-
- number = float(match.group(1))
- unit = match.group(2)
- return int(number * 1024**UNITS.index(unit))
-
-
-def unit_arg(option, opt, value, parser):
- """OptionParser callback that supports units like 10.5m or 20k."""
- actual = from_units(value)
- if actual is None:
- parser.error('Invalid value \'%s\' for %s' % (value, opt))
- setattr(parser.values, option.dest, actual)
-
-
-def unit_option(parser, *args, **kwargs):
- """Add an option that uses unit_arg()."""
- parser.add_option(
- *args, type='str', metavar='N', action='callback', callback=unit_arg,
- nargs=1, **kwargs)
« no previous file with comments | « swarm_client/utils/file_path.py ('k') | swarm_client/utils/lru.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698