mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
* Use portable /usr/bin/env/{perl,python} instead of /usr/bin/{perl,python} * fix perl;add bash * Fix indentation using modified scripts * Revert "fix perl;add bash" This reverts commit be8b9113c25f7c2fb9c8c9bad556fbca2f0c0ba2. * python3 everywhere * more bash * rebase change perl * Linux perl; missing from last PR * fix doxygen_space * Use portable /usr/bin/env/{perl,python} instead of /usr/bin/{perl,python} * fix perl;add bash * Fix indentation using modified scripts * Revert "fix perl;add bash" This reverts commit be8b9113c25f7c2fb9c8c9bad556fbca2f0c0ba2. * python3 everywhere * more bash * rebase change perl * fix doxygen_space
49 lines
2.2 KiB
Python
Executable File
49 lines
2.2 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
/***************************************************************************
|
|
context_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"
|