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

Unified Diff: tools/telemetry/telemetry/internal/util/command_line.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 months 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
Index: tools/telemetry/telemetry/internal/util/command_line.py
diff --git a/tools/telemetry/telemetry/internal/util/command_line.py b/tools/telemetry/telemetry/internal/util/command_line.py
deleted file mode 100644
index b65a153d0bab8a08335bfa6cbc2fe106a78e302c..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/util/command_line.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2014 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 argparse
-import difflib
-import optparse
-
-from telemetry.internal.util import camel_case
-
-
-class ArgumentHandlerMixIn(object):
- """A structured way to handle command-line arguments.
-
- In AddCommandLineArgs, add command-line arguments.
- In ProcessCommandLineArgs, validate them and store them in a private class
- variable. This way, each class encapsulates its own arguments, without needing
- to pass an arguments object around everywhere.
- """
-
- @classmethod
- def AddCommandLineArgs(cls, parser):
- """Override to accept custom command-line arguments."""
-
- @classmethod
- def ProcessCommandLineArgs(cls, parser, args):
- """Override to process command-line arguments.
-
- We pass in parser so we can call parser.error()."""
-
-
-class Command(ArgumentHandlerMixIn):
- """An abstraction for things that run from the command-line."""
-
- @classmethod
- def Name(cls):
- return camel_case.ToUnderscore(cls.__name__)
-
- @classmethod
- def Description(cls):
- if cls.__doc__:
- return cls.__doc__.splitlines()[0]
- else:
- return ''
-
- def Run(self, args):
- raise NotImplementedError()
-
- @classmethod
- def main(cls, args=None):
- """Main method to run this command as a standalone script."""
- parser = argparse.ArgumentParser()
- cls.AddCommandLineArgs(parser)
- args = parser.parse_args(args=args)
- cls.ProcessCommandLineArgs(parser, args)
- return min(cls().Run(args), 255)
-
-
-# TODO: Convert everything to argparse.
-class OptparseCommand(Command):
- usage = ''
-
- @classmethod
- def CreateParser(cls):
- return optparse.OptionParser('%%prog %s %s' % (cls.Name(), cls.usage),
- description=cls.Description())
-
- @classmethod
- def AddCommandLineArgs(cls, parser, environment):
- # pylint: disable=arguments-differ
- pass
-
- @classmethod
- def ProcessCommandLineArgs(cls, parser, args, environment):
- # pylint: disable=arguments-differ
- pass
-
- def Run(self, args):
- raise NotImplementedError()
-
- @classmethod
- def main(cls, args=None):
- """Main method to run this command as a standalone script."""
- parser = cls.CreateParser()
- cls.AddCommandLineArgs(parser, None)
- options, args = parser.parse_args(args=args)
- options.positional_args = args
- cls.ProcessCommandLineArgs(parser, options, None)
- return min(cls().Run(options), 255)
-
-
-class SubcommandCommand(Command):
- """Combines Commands into one big command with sub-commands.
-
- E.g. "svn checkout", "svn update", and "svn commit" are separate sub-commands.
-
- Example usage:
- class MyCommand(command_line.SubcommandCommand):
- commands = (Help, List, Run)
-
- if __name__ == '__main__':
- sys.exit(MyCommand.main())
- """
-
- commands = ()
-
- @classmethod
- def AddCommandLineArgs(cls, parser):
- subparsers = parser.add_subparsers()
-
- for command in cls.commands:
- subparser = subparsers.add_parser(
- command.Name(), help=command.Description())
- subparser.set_defaults(command=command)
- command.AddCommandLineArgs(subparser)
-
- @classmethod
- def ProcessCommandLineArgs(cls, parser, args):
- args.command.ProcessCommandLineArgs(parser, args)
-
- def Run(self, args):
- return args.command().Run(args)
-
-
-def GetMostLikelyMatchedObject(objects, target_name,
- name_func=lambda x: x,
- matched_score_threshold=0.4):
- """Matches objects whose names are most likely matched with target.
-
- Args:
- objects: list of objects to match.
- target_name: name to match.
- name_func: function to get object name to match. Default bypass.
- matched_score_threshold: threshold of likelihood to match.
-
- Returns:
- A list of objects whose names are likely target_name.
- """
- def MatchScore(obj):
- return difflib.SequenceMatcher(
- isjunk=None, a=name_func(obj), b=target_name).ratio()
- object_score = [(o, MatchScore(o)) for o in objects]
- result = [x for x in object_score if x[1] > matched_score_threshold]
- return [x[0] for x in sorted(result, key=lambda r: r[1], reverse=True)]

Powered by Google App Engine
This is Rietveld 408576698