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

Side by Side Diff: tools/json_schema_compiler/schema_loader.py

Issue 849103005: Cleanup most pylint errors in json_schema_compiler. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 unified diff | Download patch
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 import re 6 import re
7 import sys 7 import sys
8 8
9 import idl_schema 9 import idl_schema
10 import json_schema 10 import json_schema
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 path, 47 path,
48 include_rules, 48 include_rules,
49 cpp_namespace_pattern): 49 cpp_namespace_pattern):
50 self._root = root 50 self._root = root
51 self._include_rules = [(path, cpp_namespace_pattern)] 51 self._include_rules = [(path, cpp_namespace_pattern)]
52 self._include_rules.extend(include_rules) 52 self._include_rules.extend(include_rules)
53 53
54 def ResolveNamespace(self, full_namespace): 54 def ResolveNamespace(self, full_namespace):
55 filenames = GenerateFilenames(full_namespace) 55 filenames = GenerateFilenames(full_namespace)
56 for path, cpp_namespace in self._include_rules: 56 for path, cpp_namespace in self._include_rules:
57 cpp_namespace_environment = None
58 if cpp_namespace:
59 cpp_namespace_environment = CppNamespaceEnvironment(cpp_namespace)
57 for filename in reversed(filenames): 60 for filename in reversed(filenames):
58 filepath = os.path.join(path, filename); 61 filepath = os.path.join(path, filename);
59 if os.path.exists(os.path.join(self._root, filepath)): 62 if os.path.exists(os.path.join(self._root, filepath)):
60 return Model().AddNamespace( 63 return Model().AddNamespace(
61 self.LoadSchema(filepath)[0], 64 self.LoadSchema(filepath)[0],
62 filepath, 65 filepath,
63 environment=CppNamespaceEnvironment(cpp_namespace)) 66 environment=cpp_namespace_environment)
64 return None 67 return None
65 68
66 def ResolveType(self, full_name, default_namespace): 69 def ResolveType(self, full_name, default_namespace):
67 name_parts = full_name.rsplit('.', 1) 70 name_parts = full_name.rsplit('.', 1)
68 if len(name_parts) == 1: 71 if len(name_parts) == 1:
69 if full_name not in default_namespace.types: 72 if full_name not in default_namespace.types:
70 return None 73 return None
71 return default_namespace 74 return default_namespace
72 full_namespace, type_name = full_name.rsplit('.', 1) 75 full_namespace, type_name = full_name.rsplit('.', 1)
73 namespace = self.ResolveNamespace(full_namespace) 76 namespace = self.ResolveNamespace(full_namespace)
74 if namespace and type_name in namespace.types: 77 if namespace and type_name in namespace.types:
75 return namespace 78 return namespace
76 return None 79 return None
77 80
78 def LoadSchema(self, schema): 81 def LoadSchema(self, schema):
79 '''Load a schema definition. The schema parameter must be a file name 82 '''Load a schema definition. The schema parameter must be a file name
80 with the full path relative to the root.''' 83 with the full path relative to the root.'''
81 schema_filename, schema_extension = os.path.splitext(schema) 84 schema_extension = os.path.splitext(schema)[1]
not at google - send to devlin 2015/01/14 22:44:41 ditto
82 85
83 schema_path = os.path.join(self._root, schema) 86 schema_path = os.path.join(self._root, schema)
84 if schema_extension == '.json': 87 if schema_extension == '.json':
85 api_defs = json_schema.Load(schema_path) 88 api_defs = json_schema.Load(schema_path)
86 elif schema_extension == '.idl': 89 elif schema_extension == '.idl':
87 api_defs = idl_schema.Load(schema_path) 90 api_defs = idl_schema.Load(schema_path)
88 else: 91 else:
89 sys.exit('Did not recognize file extension %s for schema %s' % 92 sys.exit('Did not recognize file extension %s for schema %s' %
90 (schema_extension, schema)) 93 (schema_extension, schema))
91 94
92 return api_defs 95 return api_defs
OLDNEW
« tools/json_schema_compiler/preview.py ('K') | « tools/json_schema_compiler/preview.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698