generate_policy_source.py: Python 3 compatibility
* map() returns an iterable instead of a list in Python 3. Convert it explicitly to a list. * xrange() is replaced in Python 3 by the functionally equivalent range(). * Simplified checking whether an object is a string and introduced string_type that's set according to Python version. Still works with Python 2. Fixed errors: Traceback (most recent call last): File "../../components/policy/tools/generate_policy_source.py", line 1648, in <module> sys.exit(main()) File "../../components/policy/tools/generate_policy_source.py", line 361, in main policy_atomic_groups = [ File "../../components/policy/tools/generate_policy_source.py", line 362, in <listcomp> PolicyAtomicGroup(group, policy_details_set, policies_already_in_group) File "../../components/policy/tools/generate_policy_source.py", line 181, in __init__ self._CheckPoliciesValidity(available_policies, policies_already_in_group) File "../../components/policy/tools/generate_policy_source.py", line 196, in _CheckPoliciesValidity raise RuntimeError('Invalid policy: ' + policy + ' in atomic group ' + RuntimeError: Invalid policy: RemoteAccessClientFirewallTraversal in atomic group RemoteAccess. Traceback (most recent call last): File "../../components/policy/tools/generate_policy_source.py", line 1647, in <module> sys.exit(main()) File "../../components/policy/tools/generate_policy_source.py", line 379, in main GenerateFile(opts.source_path, _WritePolicyConstantSource, sorted=True) File "../../components/policy/tools/generate_policy_source.py", line 372, in GenerateFile writer(sorted and sorted_policy_details or policy_details, File "../../components/policy/tools/generate_policy_source.py", line 1079, in _WritePolicyConstantSource schema_generator.GenerateAndCollectID(chrome_schema, 'root node') File "../../components/policy/tools/generate_policy_source.py", line 839, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 787, in Generate properties = [ File "../../components/policy/tools/generate_policy_source.py", line 789, in <listcomp> self.GetString(key), self.GenerateAndCollectID(subschema, key)) File "../../components/policy/tools/generate_policy_source.py", line 839, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 752, in Generate return self.GetEnumType(schema, is_sensitive_value, name) File "../../components/policy/tools/generate_policy_source.py", line 694, in GetEnumType return self.GetEnumIntegerType(schema, is_sensitive_value, name) File "../../components/policy/tools/generate_policy_source.py", line 667, in GetEnumIntegerType if self.IsConsecutiveInterval(possible_values): File "../../components/policy/tools/generate_policy_source.py", line 662, in IsConsecutiveInterval for i in xrange(len(sortedSeq) - 1)) NameError: name 'xrange' is not defined Traceback (most recent call last): File "../../components/policy/tools/generate_policy_source.py", line 1648, in <module> sys.exit(main()) File "../../components/policy/tools/generate_policy_source.py", line 379, in main GenerateFile(opts.source_path, _WritePolicyConstantSource, sorted=True) File "../../components/policy/tools/generate_policy_source.py", line 372, in GenerateFile writer(sorted and sorted_policy_details or policy_details, File "../../components/policy/tools/generate_policy_source.py", line 1080, in _WritePolicyConstantSource schema_generator.GenerateAndCollectID(chrome_schema, 'root node') File "../../components/policy/tools/generate_policy_source.py", line 840, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 788, in Generate properties = [ File "../../components/policy/tools/generate_policy_source.py", line 790, in <listcomp> self.GetString(key), self.GenerateAndCollectID(subschema, key)) File "../../components/policy/tools/generate_policy_source.py", line 840, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 788, in Generate properties = [ File "../../components/policy/tools/generate_policy_source.py", line 790, in <listcomp> self.GetString(key), self.GenerateAndCollectID(subschema, key)) File "../../components/policy/tools/generate_policy_source.py", line 840, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 788, in Generate properties = [ File "../../components/policy/tools/generate_policy_source.py", line 790, in <listcomp> self.GetString(key), self.GenerateAndCollectID(subschema, key)) File "../../components/policy/tools/generate_policy_source.py", line 840, in GenerateAndCollectID index = self.Generate(schema, name) File "../../components/policy/tools/generate_policy_source.py", line 741, in Generate if not isinstance(schema['$ref'], types.StringTypes): AttributeError: module 'types' has no attribute 'StringTypes' Traceback (most recent call last): File "../../components/policy/tools/generate_policy_source.py", line 1651, in <module> sys.exit(main()) File "../../components/policy/tools/generate_policy_source.py", line 383, in main GenerateFile(opts.source_path, _WritePolicyConstantSource, sorted=True) File "../../components/policy/tools/generate_policy_source.py", line 376, in GenerateFile writer(sorted and sorted_policy_details or policy_details, File "../../components/policy/tools/generate_policy_source.py", line 1093, in _WritePolicyConstantSource schema_generator.FindSensitiveChildren() File "../../components/policy/tools/generate_policy_source.py", line 959, in FindSensitiveChildren self.FindSensitiveChildrenRecursive(0, set()) File "../../components/policy/tools/generate_policy_source.py", line 967, in FindSensitiveChildrenRecursive node = self.schema_nodes[index] TypeError: 'map' object is not subscriptable Bug: 941669 Change-Id: I9737aa44b1f395f6efeefadc94c39a084f82ed98 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1857122 Auto-Submit: Raul Tambre <raul@tambre.ee> Commit-Queue: Yann Dago <ydago@chromium.org> Reviewed-by:Yann Dago <ydago@chromium.org> Cr-Commit-Position: refs/heads/master@{#705939}
Showing
Please register or sign in to comment