From 8a231185aaf8b5f0753320bdd5de12538c626524 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 12 May 2015 16:56:40 +1000 Subject: [PATCH] Doc: minor fixes - check for class/static methods assumed nonzero args. - subclass references and set-flag items are now sorted. - use 'order' for Py operator mix-ins, so operator settings don't show in random order. --- doc/python_api/sphinx_doc_gen.py | 9 +++++---- release/scripts/modules/bpy_extras/io_utils.py | 16 ++++++++++++++++ release/scripts/modules/rna_info.py | 3 ++- release/scripts/startup/bl_operators/presets.py | 6 ++++++ 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/doc/python_api/sphinx_doc_gen.py b/doc/python_api/sphinx_doc_gen.py index fab66d56a79..a49378f2f0e 100644 --- a/doc/python_api/sphinx_doc_gen.py +++ b/doc/python_api/sphinx_doc_gen.py @@ -633,11 +633,11 @@ def pyfunc2sphinx(ident, fw, module_name, type_name, identifier, py_func, is_cla func_type = "function" # ther rest are class methods - elif arg_str.startswith("(self, "): - arg_str = "(" + arg_str[7:] + elif arg_str.startswith("(self, ") or arg_str == "(self)": + arg_str = "()" if (arg_str == "(self)") else ("(" + arg_str[7:]) func_type = "method" elif arg_str.startswith("(cls, "): - arg_str = "(" + arg_str[6:] + arg_str = "()" if (arg_str == "(cls)") else ("(" + arg_str[6:]) func_type = "classmethod" else: func_type = "staticmethod" @@ -923,7 +923,7 @@ def pymodule2sphinx(basepath, module_name, module, title): write_example_ref(" ", fw, module_name + "." + type_name) - descr_items = [(key, descr) for key, descr in sorted(value.__dict__.items()) if not key.startswith("__")] + descr_items = [(key, descr) for key, descr in sorted(value.__dict__.items()) if not key.startswith("_")] for key, descr in descr_items: if type(descr) == ClassMethodDescriptorType: @@ -1239,6 +1239,7 @@ def pyrna2sphinx(basepath): fw("\n\n") subclass_ids = [s.identifier for s in structs.values() if s.base is struct if not rna_info.rna_id_ignore(s.identifier)] + subclass_ids.sort() if subclass_ids: fw("subclasses --- \n" + ", ".join((":class:`%s`" % s) for s in subclass_ids) + "\n\n") diff --git a/release/scripts/modules/bpy_extras/io_utils.py b/release/scripts/modules/bpy_extras/io_utils.py index 1dc6f5b2b2c..32623e2bd25 100644 --- a/release/scripts/modules/bpy_extras/io_utils.py +++ b/release/scripts/modules/bpy_extras/io_utils.py @@ -61,6 +61,12 @@ class ExportHelper: options={'HIDDEN'}, ) + # needed for mix-ins + order = [ + "filepath", + "check_existing", + ] + # subclasses can override with decorator # True == use ext, False == no ext, None == do nothing. check_extension = True @@ -109,6 +115,11 @@ class ImportHelper: subtype='FILE_PATH', ) + # needed for mix-ins + order = [ + "filepath", + ] + def invoke(self, context, event): context.window_manager.fileselect_add(self) return {'RUNNING_MODAL'} @@ -154,6 +165,11 @@ def orientation_helper_factory(name, axis_forward='Y', axis_up='Z'): update=_update_axis_up, ) + members["order"] = [ + "axis_forward", + "axis_up", + ] + return type(name, (object,), members) diff --git a/release/scripts/modules/rna_info.py b/release/scripts/modules/rna_info.py index 353362ed168..ed80423023e 100644 --- a/release/scripts/modules/rna_info.py +++ b/release/scripts/modules/rna_info.py @@ -268,7 +268,8 @@ class InfoPropertyRNA: self.default_str = "\"%s\"" % self.default elif self.type == "enum": if self.is_enum_flag: - self.default_str = "%r" % self.default # repr or set() + # self.default_str = "%r" % self.default # repr or set() + self.default_str = "{%s}" % repr(list(sorted(self.default)))[1:-1] else: self.default_str = "'%s'" % self.default elif self.array_length: diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index 7195b7819d1..a5270f63f27 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -45,6 +45,12 @@ class AddPresetBase: options={'HIDDEN', 'SKIP_SAVE'}, ) + # needed for mix-ins + order = [ + "name", + "remove_active", + ] + @staticmethod def as_filename(name): # could reuse for other presets for char in " !@#$%^&*(){}:\";'[]<>,.\\/?":