Skip to content

Commit c87c4d2

Browse files
committed
Fix errors for astor 0.6 due to string type incompatibility
1 parent eb8c9e1 commit c87c4d2

File tree

2 files changed

+78
-80
lines changed

2 files changed

+78
-80
lines changed

pypredefgen.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def insert_ast_node(child_member_name, element, module=None):
143143

144144

145145
def _can_inspect_class_element(class_element):
146-
return class_element.name_from_dir != "__class__"
146+
return class_element.name_from_dir != b"__class__"
147147

148148

149149
def get_ast_node_for_module(module):
@@ -163,8 +163,8 @@ def get_ast_node_for_import_by_module_name(module_name):
163163

164164

165165
def get_relative_module_name(module, module_root):
166-
module_path_components = module.__name__.split(".")
167-
module_root_path_components = module_root.__name__.split(".")
166+
module_path_components = module.__name__.split(b".")
167+
module_root_path_components = module_root.__name__.split(b".")
168168

169169
for root_path_component in module_root_path_components:
170170
if (len(module_path_components) > 1
@@ -173,7 +173,7 @@ def get_relative_module_name(module, module_root):
173173
else:
174174
break
175175

176-
return ".".join(module_path_components)
176+
return b".".join(module_path_components)
177177

178178

179179
def get_ast_node_for_class(class_element, module_root=None):
@@ -190,7 +190,7 @@ def get_ast_node_for_class(class_element, module_root=None):
190190
if class_element.name_from_dir != class_element.object.__name__:
191191
class_element.node.body.insert(
192192
0, ast.Assign(
193-
targets=[ast.Name(id="__name__")],
193+
targets=[ast.Name(id=b"__name__")],
194194
value=ast.Str(s=bytes(get_full_type_name(class_element.object, module_root)))))
195195

196196
insert_ast_nodes(class_element)
@@ -201,21 +201,21 @@ def get_ast_node_for_class(class_element, module_root=None):
201201
def get_full_type_name(type_, module_root=None):
202202
type_module = inspect.getmodule(type_)
203203

204-
if (type_module and hasattr(type_module, "__name__")
205-
and type_module.__name__ != "__builtin__"):
204+
if (type_module and hasattr(type_module, b"__name__")
205+
and type_module.__name__ != b"__builtin__"):
206206
if (module_root is not None
207207
and _module_names_equal(type_module.__name__, module_root.__name__)):
208208
return type_.__name__
209209
else:
210210
return (
211211
_get_module_name_without_internal_component(type_module.__name__)
212-
+ "." + type_.__name__)
212+
+ b"." + type_.__name__)
213213
else:
214214
return type_.__name__
215215

216216

217217
def get_full_type_name_from_object(object_, module_root=None):
218-
if hasattr(object_, "__class__"):
218+
if hasattr(object_, b"__class__"):
219219
type_ = object_.__class__
220220
else:
221221
type_ = type(object_)
@@ -227,7 +227,7 @@ def _get_external_module_names_for_base_classes(subclass):
227227
external_modules = []
228228

229229
for base_class in subclass.__bases__:
230-
if (base_class.__module__ != "__builtin__"
230+
if (base_class.__module__ != b"__builtin__"
231231
and not _module_names_equal(base_class.__module__, subclass.__module__)):
232232
external_module_name = _get_module_name_without_internal_component(
233233
base_class.__module__)
@@ -240,18 +240,18 @@ def _get_external_module_names_for_base_classes(subclass):
240240
def _module_names_equal(module_name1, module_name2):
241241
return (
242242
module_name1 == module_name2
243-
or (module_name1.startswith("_") and module_name1[1:] == module_name2)
243+
or (module_name1.startswith(b"_") and module_name1[1:] == module_name2)
244244
or (_get_module_name_without_internal_component(module_name1) == module_name2)
245-
or (module_name2.startswith("_") and module_name1 == module_name2[1:])
245+
or (module_name2.startswith(b"_") and module_name1 == module_name2[1:])
246246
or (module_name1 == _get_module_name_without_internal_component(module_name2)))
247247

248248

249249
def _get_module_name_without_internal_component(module_name):
250-
module_name_components = module_name.split(".")
250+
module_name_components = module_name.split(b".")
251251

252252
if (len(module_name_components) >= 2
253-
and module_name_components[0] == module_name_components[1].lstrip("_")):
254-
return ".".join([module_name_components[0]] + module_name_components[2:])
253+
and module_name_components[0] == module_name_components[1].lstrip(b"_")):
254+
return b".".join([module_name_components[0]] + module_name_components[2:])
255255
else:
256256
return module_name
257257

@@ -267,7 +267,7 @@ def get_ast_node_for_function(function_element):
267267
def get_ast_node_for_method(method_element):
268268
arguments = get_ast_arguments_for_routine(method_element.object)
269269
if not arguments.args:
270-
arguments.args.insert(0, ast.Name(id="self"))
270+
arguments.args.insert(0, ast.Name(id=b"self"))
271271

272272
return ast.FunctionDef(
273273
name=method_element.name_from_dir,
@@ -280,7 +280,7 @@ def get_ast_node_for_assignment_of_type_to_name(element):
280280
if element.object is not None:
281281
member_type_name = get_full_type_name_from_object(element.object, element.module)
282282
else:
283-
member_type_name = "None"
283+
member_type_name = b"None"
284284

285285
return ast.Assign(
286286
targets=[ast.Name(id=element.name_from_dir)], value=ast.Name(id=member_type_name))

0 commit comments

Comments
 (0)