[QGIS Commit] r12156 - trunk/qgis/scripts

svn_qgis at osgeo.org svn_qgis at osgeo.org
Mon Nov 16 19:41:56 EST 2009


Author: gsherman
Date: 2009-11-16 19:41:55 -0500 (Mon, 16 Nov 2009)
New Revision: 12156

Added:
   trunk/qgis/scripts/context_help_id.py
Log:
Added a Python script for generating unique context ids for creating context sensitive help.
The script requires Python 2.5. See comments at the head of the script
for more information.

Added: trunk/qgis/scripts/context_help_id.py
===================================================================
--- trunk/qgis/scripts/context_help_id.py	                        (rev 0)
+++ trunk/qgis/scripts/context_help_id.py	2009-11-17 00:41:55 UTC (rev 12156)
@@ -0,0 +1,48 @@
+#!/usr/bin/python
+"""
+/***************************************************************************
+                               contxt_help_id.py
+                              -------------------
+    begin                : 2009-11-16
+    copyright            : (C) 2009 by Gary E.Sherman
+    email                : gsherman at mrcc.com
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+    This script generates a unique context id based for use in the QGIS
+    context sensitive help system. It uses the SHA1 hash for the class name
+    and converts the first 12 characters to a unique integer. 
+
+    To create a context id, pass the name of the QGIS class on the command line.
+    Example:
+        ./context_help_id.py QgsAbout
+
+    This script requires Python 2.5 or higher (hashlib was introduced at 2.5).
+
+    NOTE: Due to a change in the way context ids are generated, ids  
+    generated by the old method (Java hashCode function) will be different than
+    the id generated by the new method for the same class. 
+"""
+import hashlib
+import sys
+# check to see if a class name was specified and if so, craete the context id
+if len(sys.argv) > 1:
+    hash = hashlib.sha1()
+    # set the hash to the name passed on the command line
+    hash.update(sys.argv[1])
+    # generate the context id by converting the first 12 characters of the hash
+    # to decimal
+    context_id = int(hash.hexdigest()[:12],16)
+    # print the result
+    print context_id
+else:
+    # if no class name was specified, give a bit of help
+    print "To generate a context sensitive help id, specify the QGIS class name on the command line"


Property changes on: trunk/qgis/scripts/context_help_id.py
___________________________________________________________________
Added: svn:executable
   + *



More information about the QGIS-commit mailing list