[Bf-translations-svn] SVN commit: /data/svn/bf-translations [191] trunk/po/tools/_update_msg.py: Fixed the RNA parsing code, was not recursively parsing sub-classes...
bf-translations at blender.org
bf-translations at blender.org
Thu Nov 17 15:50:16 CET 2011
Revision: 191
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-translations&revision=191
Author: mont29
Date: 2011-11-17 14:50:16 +0000 (Thu, 17 Nov 2011)
Log Message:
-----------
Fixed the RNA parsing code, was not recursively parsing sub-classes... Adds 28% of new messages. :(
Modified Paths:
--------------
trunk/po/tools/_update_msg.py
Modified: trunk/po/tools/_update_msg.py
===================================================================
--- trunk/po/tools/_update_msg.py 2011-11-17 14:44:37 UTC (rev 190)
+++ trunk/po/tools/_update_msg.py 2011-11-17 14:50:16 UTC (rev 191)
@@ -67,10 +67,10 @@
bpy.types.OperatorMacro.__subclasses__()]
)))
- get_inatance = __import__("_bpy").ops.get_instance
+ get_instance = __import__("_bpy").ops.get_instance
path_resolve = type(bpy.context).__base__.path_resolve
for idname in op_names:
- op = get_inatance(idname)
+ op = get_instance(idname)
if 'INTERNAL' in path_resolve(op, "bl_options"):
blacklist_rna_class.append(idname)
@@ -173,51 +173,42 @@
# -------------------------------------------------------------------------
# Dump Messages
- def full_class_id(cls):
- """ gives us 'ID.Lamp.AreaLamp' which is best for sorting.
- """
- cls_id = ""
- bl_rna = cls.bl_rna
- while bl_rna:
- cls_id = "%s.%s" % (bl_rna.identifier, cls_id)
- bl_rna = bl_rna.base
- return cls_id
+ def process_cls_list(cls_list):
+ if not cls_list:
+ return
- cls_list = type(bpy.context).__base__.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ def full_class_id(cls):
+ """ gives us 'ID.Lamp.AreaLamp' which is best for sorting.
+ """
+ cls_id = ""
+ bl_rna = cls.bl_rna
+ while bl_rna:
+ cls_id = "%s.%s" % (bl_rna.identifier, cls_id)
+ bl_rna = bl_rna.base
+ return cls_id
- cls_list = bpy.types.Space.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ cls_list.sort(key=full_class_id)
+ for cls in cls_list:
+ walkClass(cls)
+ # There might be more than one level of heritage…
+ # Without this, some classes like ParticleSettingsTextureSlot
+ # are missed...
+ process_cls_list(cls.__subclasses__())
- cls_list = bpy.types.Operator.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ process_cls_list(type(bpy.context).__base__.__subclasses__())
- cls_list = bpy.types.OperatorProperties.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ process_cls_list(bpy.types.Space.__subclasses__())
- cls_list = bpy.types.Menu.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ process_cls_list(bpy.types.Operator.__subclasses__())
- cls_list = bpy.types.Panel.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ process_cls_list(bpy.types.OperatorProperties.__subclasses__())
- cls_list = bpy.types.PropertyGroup.__subclasses__()
- cls_list.sort(key=full_class_id)
- for cls in cls_list:
- walkClass(cls)
+ process_cls_list(bpy.types.Menu.__subclasses__())
+ process_cls_list(bpy.types.Panel.__subclasses__())
+
+ process_cls_list(bpy.types.PropertyGroup.__subclasses__())
+
from bpy_extras.keyconfig_utils import KM_HIERARCHY
walk_keymap_hierarchy(KM_HIERARCHY, "KM_HIERARCHY")
More information about the Bf-translations-svn
mailing list