Exemplo n.º 1
0
 def testString(self):
     self.assertEqual(camel_case.ToUnderscore('camelCase'), 'camel_case')
     self.assertEqual(camel_case.ToUnderscore('CamelCase'), 'camel_case')
     self.assertEqual(camel_case.ToUnderscore('Camel2Case'), 'camel2_case')
     self.assertEqual(camel_case.ToUnderscore('Camel2Case2'),
                      'camel2_case2')
     self.assertEqual(camel_case.ToUnderscore('2012Q3'), '2012_q3')
Exemplo n.º 2
0
 def testDict(self):
     camel_case_dict = {
         'gpu': {
             'vendorId': 1000,
             'deviceId': 2000,
             'vendorString': 'aString',
             'deviceString': 'bString'
         },
         'secondaryGpus': [{
             'vendorId': 3000,
             'deviceId': 4000,
             'vendorString': 'k',
             'deviceString': 'l'
         }]
     }
     underscore_dict = {
         'gpu': {
             'vendor_id': 1000,
             'device_id': 2000,
             'vendor_string': 'aString',
             'device_string': 'bString'
         },
         'secondary_gpus': [{
             'vendor_id': 3000,
             'device_id': 4000,
             'vendor_string': 'k',
             'device_string': 'l'
         }]
     }
     self.assertEqual(camel_case.ToUnderscore(camel_case_dict),
                      underscore_dict)
Exemplo n.º 3
0
    def GetSystemInfo(self, timeout=10):
        websocket = inspector_websocket.InspectorWebsocket()
        try:
            websocket.Connect(self._browser_target_ws, timeout)

            # Add extra request to debug the crash
            # (crbug.com/917211).
            # TODO: remove this once the bug is addressed.
            if os.name == 'nt':
                debug_request = {
                    'method': 'Target.setDiscoverTargets',
                    'params': {
                        'discover': True,
                    }
                }
                websocket.SyncRequest(debug_request, timeout)

            req = {'method': 'SystemInfo.getInfo'}
            res = websocket.SyncRequest(req, timeout)
        finally:
            websocket.Disconnect()
        if 'error' in res:
            return None
        return system_info.SystemInfo.FromDict(
            camel_case.ToUnderscore(res['result']))
Exemplo n.º 4
0
  def GetDiagnosticType(typename):
    if not Diagnostic._subtypes:
      Diagnostic._subtypes = discover.DiscoverClasses(
          os.path.join(tracing_project.TracingProject.tracing_src_path,
                       'value'),
          tracing_project.TracingProject.tracing_root_path,
          Diagnostic, index_by_class_name=True)

    # TODO(eakuefner): Add camelcase mode to discover.DiscoverClasses.
    return Diagnostic._subtypes.get(camel_case.ToUnderscore(typename))
 def GetSystemInfo(self, timeout=10):
     req = {'method': 'SystemInfo.getInfo'}
     websocket = inspector_websocket.InspectorWebsocket()
     try:
         websocket.Connect(self._browser_target_ws, timeout)
         res = websocket.SyncRequest(req, timeout)
     finally:
         websocket.Disconnect()
     if 'error' in res:
         return None
     return system_info.SystemInfo.FromDict(
         camel_case.ToUnderscore(res['result']))
Exemplo n.º 6
0
def DiscoverClassesInModule(module,
                            base_class,
                            index_by_class_name=False,
                            directly_constructable=False):
    """Discover all classes in |module| which subclass |base_class|.

  Base classes that contain subclasses are ignored by default.

  Args:
    module: The module to search.
    base_class: The base class to search for.
    index_by_class_name: If True, use class name converted to
        lowercase_with_underscores instead of module name in return dict keys.

  Returns:
    dict of {module_name: class} or {underscored_class_name: class}
  """
    classes = {}
    for _, obj in inspect.getmembers(module):
        # Ensure object is a class.
        if not inspect.isclass(obj):
            continue
        # Include only subclasses of base_class.
        if not issubclass(obj, base_class):
            continue
        # Exclude the base_class itself.
        if obj is base_class:
            continue
        # Exclude protected or private classes.
        if obj.__name__.startswith('_'):
            continue
        # Include only the module in which the class is defined.
        # If a class is imported by another module, exclude those duplicates.
        if obj.__module__ != module.__name__:
            continue

        if index_by_class_name:
            key_name = camel_case.ToUnderscore(obj.__name__)
        else:
            key_name = module.__name__.split('.')[-1]
        if not directly_constructable or IsDirectlyConstructable(obj):
            if key_name in classes and index_by_class_name:
                assert classes[key_name] is obj, (
                    'Duplicate key_name with different objs detected: '
                    'key=%s, obj1=%s, obj2=%s' %
                    (key_name, classes[key_name], obj))
            else:
                classes[key_name] = obj

    return classes
Exemplo n.º 7
0
 def testOther(self):
     self.assertEqual(camel_case.ToUnderscore(self), self)
Exemplo n.º 8
0
 def testList(self):
     camel_case_list = ['CamelCase', ['NestedList']]
     underscore_list = ['camel_case', ['nested_list']]
     self.assertEqual(camel_case.ToUnderscore(camel_case_list),
                      underscore_list)
Exemplo n.º 9
0
 def Name(cls):
     return camel_case.ToUnderscore(cls.__name__)