From bf9e6737de34d6a9e0a737262d2a3e23d92ae430 Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Sat, 24 Mar 2018 22:22:41 +0100 Subject: [PATCH] feat(answers): add sha256 and uuid v4 to random answers --- searx/answerers/random/answerer.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/searx/answerers/random/answerer.py b/searx/answerers/random/answerer.py index f2b8bf3e5..b6e8422ad 100644 --- a/searx/answerers/random/answerer.py +++ b/searx/answerers/random/answerer.py @@ -1,6 +1,8 @@ +import hashlib import random import string import sys +import uuid from flask_babel import gettext # required answerer attribute @@ -16,9 +18,13 @@ else: random_string_letters = string.ascii_lowercase + string.digits + string.ascii_uppercase +def random_characters(): + return [random.choice(random_string_letters) + for _ in range(random.randint(8, 32))] + + def random_string(): - return u''.join(random.choice(random_string_letters) - for _ in range(random.randint(8, 32))) + return u''.join(random_characters()) def random_float(): @@ -29,9 +35,21 @@ def random_int(): return unicode(random.randint(-random_int_max, random_int_max)) +def random_sha256(): + m = hashlib.sha256() + m.update(b''.join(random_characters())) + return unicode(m.hexdigest()) + + +def random_uuid(): + return unicode(uuid.uuid4()) + + random_types = {b'string': random_string, b'int': random_int, - b'float': random_float} + b'float': random_float, + b'sha256': random_sha256, + b'uuid': random_uuid} # required answerer function