[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31740] trunk/blender: sphinx doc gen

Campbell Barton ideasman42 at gmail.com
Fri Sep 3 11:21:41 CEST 2010


Revision: 31740
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31740
Author:   campbellbarton
Date:     2010-09-03 11:21:40 +0200 (Fri, 03 Sep 2010)

Log Message:
-----------
sphinx doc gen
- use 3 column lists for inherited props, funcs and for references to save on vertical space.
- use the blender version string for the upload path and PDF name.

Modified Paths:
--------------
    trunk/blender/release/scripts/op/wm.py
    trunk/blender/release/scripts/ui/space_info.py
    trunk/blender/source/blender/python/doc/sphinx_doc_gen.py
    trunk/blender/source/blender/python/doc/sphinx_doc_gen.sh
    trunk/blender/source/creator/creator.c

Modified: trunk/blender/release/scripts/op/wm.py
===================================================================
--- trunk/blender/release/scripts/op/wm.py	2010-09-03 07:50:22 UTC (rev 31739)
+++ trunk/blender/release/scripts/op/wm.py	2010-09-03 09:21:40 UTC (rev 31740)
@@ -505,7 +505,7 @@
     bl_label = "View Documentation"
 
     doc_id = doc_id
-    _prefix = 'http://www.blender.org/documentation/250PythonDoc'
+    _prefix = "http://www.blender.org/documentation/blender_python_api_%s" % "_".join(str(v) for v in bpy.app.version)
 
     def _nested_class_string(self, class_string):
         ls = []

Modified: trunk/blender/release/scripts/ui/space_info.py
===================================================================
--- trunk/blender/release/scripts/ui/space_info.py	2010-09-03 07:50:22 UTC (rev 31739)
+++ trunk/blender/release/scripts/ui/space_info.py	2010-09-03 09:21:40 UTC (rev 31740)
@@ -316,7 +316,7 @@
         layout.separator()
         layout.operator("wm.url_open", text="Report a Bug", icon='URL').url = 'http://projects.blender.org/tracker/?atid=498&group_id=9&func=browse'
         layout.separator()
-        layout.operator("wm.url_open", text="Python API Reference", icon='URL').url = 'http://www.blender.org/documentation/250PythonDoc/contents.html'
+        layout.operator("wm.url_open", text="Python API Reference", icon='URL').url = "http://www.blender.org/documentation/blender_python_api_%s/contents.html" % "_".join(str(v) for v in bpy.app.version)
         layout.operator("help.operator_cheat_sheet", icon='TEXT')
         layout.separator()
         layout.operator("anim.update_data_paths", text="FCurve/Driver 2.54 fix", icon='HELP')

Modified: trunk/blender/source/blender/python/doc/sphinx_doc_gen.py
===================================================================
--- trunk/blender/source/blender/python/doc/sphinx_doc_gen.py	2010-09-03 07:50:22 UTC (rev 31739)
+++ trunk/blender/source/blender/python/doc/sphinx_doc_gen.py	2010-09-03 09:21:40 UTC (rev 31740)
@@ -307,6 +307,9 @@
     if bpy.app.build_revision != "Unknown":
         version_string = version_string + " r" + bpy.app.build_revision
     
+    # for use with files
+    version_string_fp = "_".join(str(v) for v in bpy.app.version)
+    
     fw("project = 'Blender'\n")
     # fw("master_doc = 'index'\n")
     fw("copyright = u'Blender Foundation'\n")
@@ -336,7 +339,7 @@
     fw("\n")
     fw("An introduction to Blender and Python can be found at <http://wiki.blender.org/index.php/Dev:2.5/Py/API/Intro>\n")
     fw("\n")
-    fw("`A PDF version of this document is also available <blender_python_reference_250.pdf>`__\n")
+    fw("`A PDF version of this document is also available <blender_python_reference_%s.pdf>`__\n" % version_string_fp)
     fw("\n")
     fw(".. warning:: The Python API in Blender is **UNSTABLE**, It should only be used for testing, any script written now may break in future releases.\n")
     fw("   \n")
@@ -636,20 +639,24 @@
             if _BPY_STRUCT_FAKE:
                 for key, descr in descr_items:
                     if type(descr) == GetSetDescriptorType:
-                        lines.append("* :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
+                        lines.append("   * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
 
             for base in bases:
                 for prop in base.properties:
-                    lines.append("* :class:`%s.%s`\n" % (base.identifier, prop.identifier))
+                    lines.append("   * :class:`%s.%s`\n" % (base.identifier, prop.identifier))
 
                 for identifier, py_prop in base.get_py_properties():
-                    lines.append("* :class:`%s.%s`\n" % (base.identifier, identifier))
+                    lines.append("   * :class:`%s.%s`\n" % (base.identifier, identifier))
                     
                 for identifier, py_prop in base.get_py_properties():
-                    lines.append("* :class:`%s.%s`\n" % (base.identifier, identifier))
+                    lines.append("   * :class:`%s.%s`\n" % (base.identifier, identifier))
             
             if lines:
                 fw(".. rubric:: Inherited Properties\n\n")
+
+                fw(".. hlist::\n")
+                fw("   :columns: 3\n\n")
+
                 for line in lines:
                     fw(line)
                 fw("\n")
@@ -661,16 +668,20 @@
             if _BPY_STRUCT_FAKE:
                 for key, descr in descr_items:
                     if type(descr) == MethodDescriptorType:
-                        lines.append("* :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
+                        lines.append("   * :class:`%s.%s`\n" % (_BPY_STRUCT_FAKE, key))
 
             for base in bases:
                 for func in base.functions:
-                    lines.append("* :class:`%s.%s`\n" % (base.identifier, func.identifier))
+                    lines.append("   * :class:`%s.%s`\n" % (base.identifier, func.identifier))
                 for identifier, py_func in base.get_py_functions():
-                    lines.append("* :class:`%s.%s`\n" % (base.identifier, identifier))
+                    lines.append("   * :class:`%s.%s`\n" % (base.identifier, identifier))
 
             if lines:
                 fw(".. rubric:: Inherited Functions\n\n")
+
+                fw(".. hlist::\n")
+                fw("   :columns: 3\n\n")
+
                 for line in lines:
                     fw(line)
                 fw("\n")
@@ -682,11 +693,14 @@
             # use this otherwise it gets in the index for a normal heading.
             fw(".. rubric:: References\n\n")
 
+            fw(".. hlist::\n")
+            fw("   :columns: 3\n\n")
+
             for ref in struct.references:
                 ref_split = ref.split(".")
                 if len(ref_split) > 2:
                     ref = ref_split[-2] + "." + ref_split[-1]
-                fw("* :class:`%s`\n" % ref)
+                fw("   * :class:`%s`\n" % ref)
             fw("\n")
 
 

Modified: trunk/blender/source/blender/python/doc/sphinx_doc_gen.sh
===================================================================
--- trunk/blender/source/blender/python/doc/sphinx_doc_gen.sh	2010-09-03 07:50:22 UTC (rev 31739)
+++ trunk/blender/source/blender/python/doc/sphinx_doc_gen.sh	2010-09-03 09:21:40 UTC (rev 31740)
@@ -5,20 +5,25 @@
 
 BLENDER="./blender.bin"
 SSH_HOST="ideasman42 at emo.blender.org"
-SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation/250PythonDoc"
+SSH_UPLOAD="/data/www/vhosts/www.blender.org/documentation" # blender_python_api_VERSION, added after
 
+# sed string from hell, 'Blender 2.53 (sub 1) Build' --> '2_53_1'
+# "_".join(str(v) for v in bpy.app.version)
+BLENDER_VERSION=`$BLENDER --version | cut -f2-4 -d" " | sed 's/(//g' | sed 's/)//g' | sed 's/ sub /./g' | sed 's/\./_/g'`
+SSH_UPLOAD_FULL=$SSH_UPLOAD/"blender_python_api_"$BLENDER_VERSION
+
 # dont delete existing docs, now partial updates are used for quick builds.
 $BLENDER --background --python ./source/blender/python/doc/sphinx_doc_gen.py
 
 # html
 sphinx-build source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out
 cp source/blender/python/doc/sphinx-out/contents.html source/blender/python/doc/sphinx-out/index.html
-ssh ideasman42 at emo.blender.org 'rm -rf '$SSH_UPLOAD'/*'
-rsync --progress -avze "ssh -p 22" /b/source/blender/python/doc/sphinx-out/* $SSH_HOST:$SSH_UPLOAD/
+ssh ideasman42 at emo.blender.org 'rm -rf '$SSH_UPLOAD_FULL'/*'
+rsync --progress -avze "ssh -p 22" /b/source/blender/python/doc/sphinx-out/* $SSH_HOST:$SSH_UPLOAD_FULL/
 
 # pdf
 sphinx-build -b latex source/blender/python/doc/sphinx-in source/blender/python/doc/sphinx-out
 cd source/blender/python/doc/sphinx-out
 make
 cd ../../../../../
-rsync --progress -avze "ssh -p 22" source/blender/python/doc/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD/blender_python_reference_250.pdf
+rsync --progress -avze "ssh -p 22" source/blender/python/doc/sphinx-out/contents.pdf $SSH_HOST:$SSH_UPLOAD_FULL/blender_python_reference_$BLENDER_VERSION.pdf

Modified: trunk/blender/source/creator/creator.c
===================================================================
--- trunk/blender/source/creator/creator.c	2010-09-03 07:50:22 UTC (rev 31739)
+++ trunk/blender/source/creator/creator.c	2010-09-03 09:21:40 UTC (rev 31740)
@@ -131,6 +131,8 @@
 char bprogname[FILE_MAXDIR+FILE_MAXFILE]; /* from blenpluginapi:pluginapi.c */
 char btempdir[FILE_MAXDIR+FILE_MAXFILE];
 
+#define BLEND_VERSION_STRING_FMT "Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION
+
 /* Initialise callbacks for the modules that need them */
 static void setCallbacks(void); 
 
@@ -175,17 +177,14 @@
 
 static int print_version(int argc, char **argv, void *data)
 {
+	printf (BLEND_VERSION_STRING_FMT);
 #ifdef BUILD_DATE
-	printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
 	printf ("\tbuild date: %s\n", build_date);
 	printf ("\tbuild time: %s\n", build_time);
 	printf ("\tbuild revision: %s\n", build_rev);
 	printf ("\tbuild platform: %s\n", build_platform);
 	printf ("\tbuild type: %s\n", build_type);
-#else
-	printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
 #endif
-
 	exit(0);
 
 	return 0;
@@ -195,7 +194,7 @@
 {
 	bArgs *ba = (bArgs*)data;
 
-	printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
+	printf (BLEND_VERSION_STRING_FMT);
 	printf ("Usage: blender [args ...] [file] [args ...]\n\n");
 
 	printf ("Render Options:\n");
@@ -344,7 +343,7 @@
 static int debug_mode(int argc, char **argv, void *data)
 {
 	G.f |= G_DEBUG;		/* std output printf's */
-	printf ("Blender %d.%02d (sub %d) Build\n", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION);
+	printf(BLEND_VERSION_STRING_FMT);
 	MEM_set_memory_debug();
 
 #ifdef NAN_BUILDINFO





More information about the Bf-blender-cvs mailing list