diff options
Diffstat (limited to 'qface/helper/generic.py')
-rw-r--r-- | qface/helper/generic.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/qface/helper/generic.py b/qface/helper/generic.py new file mode 100644 index 0000000..713952d --- /dev/null +++ b/qface/helper/generic.py @@ -0,0 +1,52 @@ +import json +import hashlib + + +def jsonify(symbol): + """ returns json format for symbol """ + try: + # all symbols have a toJson method, try it + return json.dumps(symbol.toJson(), indent=' ') + except AttributeError: + pass + return json.dumps(symbol, indent=' ') + + +def upper_first(s): + """ uppercase first letter """ + s = str(s) + return s[0].upper() + s[1:] + + +def lower_first(s): + s = str(s) + return s[0].lower() + s[1:] + + +def hash(symbol, hash_type='sha1'): + """ create a hash code from symbol """ + code = hashlib.new(hash_type) + code.update(str(symbol).encode('utf-8')) + return code.hexdigest() + + +def path(symbol): + """ replaces '.' with '/' """ + return str(symbol).replace('.', '/') + + +def identifier(s): + return str(s).lower().replace('.', '_') + + +def get_filters(): + return { + 'jsonify': jsonify, + 'upper_first': upper_first, + 'lower_first': lower_first, + 'upperfirst': upper_first, + 'lowerfirst': lower_first, + 'hash': hash, + 'path': path, + 'identifier': identifier, + } |