Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-01-11 04:22:21 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-01-11 04:22:21 +0400
commitef3fbdd683a98bc660e073d2cd6fe91733ab22ac (patch)
tree5062da2e8f0032c7fd070afa0d7a139510018a18 /release/scripts/modules
parent535d27dac28dd051b1c35f55a3726e2231fbc3c2 (diff)
minor edits to xml presets
- check 'SKIP_SAVE' property (used for active theme area which become annoying) - indent presets better
Diffstat (limited to 'release/scripts/modules')
-rw-r--r--release/scripts/modules/rna_xml.py28
1 files changed, 20 insertions, 8 deletions
diff --git a/release/scripts/modules/rna_xml.py b/release/scripts/modules/rna_xml.py
index 9019728c014..634c74178fa 100644
--- a/release/scripts/modules/rna_xml.py
+++ b/release/scripts/modules/rna_xml.py
@@ -32,7 +32,13 @@ def build_property_typemap(skip_classes):
if issubclass(cls, skip_classes):
continue
- properties = cls.bl_rna.properties.keys()
+ ## to support skip-save we cant get all props
+ # properties = cls.bl_rna.properties.keys()
+ properties = []
+ for prop_id, prop in cls.bl_rna.properties.items():
+ if not prop.is_skip_save:
+ properties.append(prop_id)
+
properties.remove("rna_type")
property_typemap[attr] = properties
@@ -47,7 +53,8 @@ def rna2xml(fw=print_ln,
root_node="",
root_rna=None, # must be set
root_rna_skip=set(),
- ident_val=" ",
+ root_ident="",
+ ident_val=" ",
skip_classes=(bpy.types.Operator,
bpy.types.Panel,
bpy.types.KeyingSet,
@@ -173,10 +180,11 @@ def rna2xml(fw=print_ln,
# needs re-workign to be generic
if root_node:
- fw("<%s>\n" % root_node)
+ fw("%s<%s>\n" % (root_ident, root_node))
# bpy.data
if method == 'DATA':
+ ident = root_ident + ident_val
for attr in dir(root_rna):
# exceptions
@@ -192,16 +200,16 @@ def rna2xml(fw=print_ln,
ls = None
if type(ls) == list:
- fw("%s<%s>\n" % (ident_val, attr))
+ fw("%s<%s>\n" % (ident, attr))
for blend_id in ls:
- rna2xml_node(ident_val + ident_val, blend_id, None)
+ rna2xml_node(ident + ident_val, blend_id, None)
fw("%s</%s>\n" % (ident_val, attr))
# any attribute
elif method == 'ATTR':
- rna2xml_node("", root_rna, None)
+ rna2xml_node(root_ident, root_rna, None)
if root_node:
- fw("</%s>\n" % root_node)
+ fw("%s</%s>\n" % (root_ident, root_node))
def xml2rna(root_xml,
@@ -350,7 +358,11 @@ def xml_file_write(context, filepath, rna_map):
for rna_path, xml_tag in rna_map:
# xml_tag is ignored, we get this from the rna
value = _get_context_val(context, rna_path)
- rna2xml(fw, root_rna=value, method='ATTR')
+ rna2xml(fw,
+ root_rna=value,
+ method='ATTR',
+ root_ident=" ",
+ ident_val=" ")
fw("</bpy>\n")
file.close()