[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