Beispiel #1
0
def register():
    """This view processes registering of the new users.

    If invalid request has been passed then client will be redirected to
    '/register' route again. Otherwise client will be redirected to login
    page.

    :Route:
        '/api/register'

    :Methods:
        POST.

    :Returns:
        redirection object.
    """
    data = request.get_json()
    result = ['success']
    status_code = 200
    try:
        user.register(data['firstName'], data['lastName'], data['email'],
                      data['password'], data['age'], data['state'],
                      data['nativeLang'])
    except KeyError:
        result = ['failure']
        status_code = 400
    return Response(json.dumps(result), mimetype='application/json',
                    status=status_code)
Beispiel #2
0
def intercept():
    '''
    This function will be invoked when a dynamic request comes.
    It firstly gets request path from evironment variables,
    then invokes corresponding functions according to request path.
    '''
    env = os.environ
    # Get request uri from environment variables
    uri = env['REQUEST_URI']
    # Get request path, leaving out query string
    path = uri.split('?', 1)[0]
    # Construct HTTPResquest object
    req = request.HTTPRequest()

    # Invoke corresponding functions according to request path
    if path == '/register':
        user.register(req)
    elif path == '/login':
        user.login(req)
    elif path == '/logout':
        user.logout(req)
    elif path == '/info':
        user.showinfo(req)
    elif path == '/upload':
        avatar.upload_avatar(req)
    elif re.compile(r'/avatar/(?P<md5>[\w]+)').match(path):
        # Get 32-char long md5, leaving out file ext or other chars.
        # If the length of md5 part is less than 32, get all the part.
        md5 = path[8:40]
        avatar.back_avatar(md5)
    else:
        util.msg_redirect('/static/homepage.html', 'unsupported url')
Beispiel #3
0
def intercept():
    '''
    This function will be invoked when a dynamic request comes.
    It firstly gets request path from evironment variables,
    then invokes corresponding functions according to request path.
    '''
    env = os.environ
    # Get request uri from environment variables 
    uri = env['REQUEST_URI']
    # Get request path, leaving out query string
    path = uri.split('?', 1)[0]
    # Construct HTTPResquest object
    req = request.HTTPRequest()
    
    # Invoke corresponding functions according to request path
    if path == '/register':
        user.register(req)
    elif path == '/login':
        user.login(req)
    elif path == '/logout':
        user.logout(req)
    elif path == '/info':
        user.showinfo(req)
    elif path == '/upload':
        avatar.upload_avatar(req)
    elif re.compile(r'/avatar/(?P<md5>[\w]+)').match(path):
        # Get 32-char long md5, leaving out file ext or other chars.
        # If the length of md5 part is less than 32, get all the part. 
        md5 = path[8:40]
        avatar.back_avatar(md5)
    else:
        util.msg_redirect('/static/homepage.html','unsupported url')
Beispiel #4
0
 def __init__(self, connection, username, users_list, users_count):
     Thread.__init__(self)
     self.connection = connection
     self.users_list = users_list
     self.users_count = users_count
     user.register(conn, username)
     self.user_id = user.sign_in(conn, username)
Beispiel #5
0
def join():
    try:
        form = request.form
        register_data = { k: form[k] for k in user.properties }
        user.register(register_data)
        cert.generate_record(register_data['uid'])
        return "Welcome to GoldMine"
    except:
        return "Error occurred while processing the request"
Beispiel #6
0
def regpost():
    username = request.form['username']
    password = request.form['password']
    usertype = request.form['type']
    name = request.form['name']
    sex = request.form['sex']
    age = int(request.form['age'])
    dept = request.form['dept']
    grade = 0
    classs = 0
    if usertype == 'student':
        grade = int(request.form['grade'])
        classs = int(request.form['class'])
    regf = user.register(usr=username,
                         psw=password,
                         typ=usertype,
                         name=name,
                         sex=sex,
                         age=age,
                         dept=dept,
                         grade=grade,
                         classs=classs)
    if regf == 1:
        return render_template('regsucceed.html',
                               username=username,
                               usertype=usertype)
    elif regf == 0:
        return render_template('return.html', message='注册失败')
    elif regf == 2:
        return render_template('return.html', message='用户已存在')
Beispiel #7
0
def register():
    if request.method == 'POST':
        register_info = json.loads(request.get_data())
        if register_info['verify'] == 0:
            verification_code = email_verify(register_info['email'])
            return verification_code
        else:
            return user.register(register_info)
Beispiel #8
0
def register():
    if request.method == "GET":
        return render_template("sign_up.html")
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]
        if user.register(username,password):
            return render_template("index.html")
        else:
            return render_template("sign_up.html", message="Username already in use/empty or password was not given")
Beispiel #9
0
def register():
    """This view processes registering of the new users.

    It processes '/api/register' route and accepts POST requests.
    If invalid request has been passed then client will be redirected to
    '/register' route again. Otherwise client will be redirected to login
    page.

    :Returns:
        redirection object.
    """
    data = request.form
    try:
        user.register(data['firstName'], data['lastName'], data['email'],
                      data['password'])
    except:
        response = redirect('/register')
    response = redirect('/login')
    return response
Beispiel #10
0
def sign_Auth():
    #print("PRINTING SESSIONS \n")
    #print(session)

    session['username'] = request.form['username']
    session['password0'] = request.form['password0']
    session['password1'] = request.form['password1']
    session['question'] = request.form['question']
    session['answer'] = request.form['answer']

    #print(session)
    #print(session['username'])

    # Invalid username: ===================================
    if len(session['username']) < 3:
        msg = "It looks like you've entered an invalid username. Please try again."
        # print('bad username')
        return render_template("signup.html", message=msg)

    # Invalid password: ===================================
    elif len(session['password0']) < 5:
        msg = "It looks like your password does not have enough characters. Please try again."
        # print('bad password')
        return render_template("signup.html", message=msg)

    # Both username and password are valid ================
    elif len(session['username']) >= 3 and len(session['password0']) >= 5:
        # enter username and password into the database
        # command = 'INSERT INTO users VALUES(' + session['username'] + ' , ' + session['password'] + ')'
        # c.execute(command)
        # db.commit()
        # db.close()
        if session['password0'] != session['password1']:
            msg = "Signup failed. Passwords don't match"
            return render_template("signup.html", message=msg)

        elif user.register(session['username'], session['password0'],
                           session['question'], session['answer']):
            msg = "You have successfully signed up"
            return render_template("login.html", message=msg)

        else:
            msg = "Signup failed. Username already exists"
            return render_template("signup.html", message=msg)

    # All other invalid cases =============================
    else:
        msg = "Oops! Looks like something went wrong. Please try again."
        return render_template("signup.html", message=msg)

    print(url_for('disp_login'))
    print(url_for('authenticate'))
    return redirect(url_for("disp_login"))
Beispiel #11
0
def register():
    reg_data = {
        "username": request.args.get("username"),
        "password": request.args.get("password"),
        "phone": request.args.get("phone"),
        "full_name": request.args.get("full_name"),
        "email": request.args.get("email")
    }
    reg_res = user.register(reg_data)
    response = {"status": 1}
    if reg_res:
        response["status"] = 0
    return jsonify(response)
Beispiel #12
0
def register(gameuser):
    """
    user register
    :param gameuser: 
    :return: TRUE/FALSE
    """
    if user.register(gameuser):
        print('Successfully Register User:'******'user_id'])
        # set defult user information
        user.set_user_information(
            {'user_id': gameuser['user_id'], 'rank': 1000, 'grade': '18k', 'country': 'unknown', 'intr': 'none',
             'win': 0, 'lose': 0})
        return True
    else:
        return False
Beispiel #13
0
	def register(self, params, session):
		if params.has_key("name") and params.has_key("password") and params.has_key("re_password"):
			name = params["name"]
			password = params["password"]
			re_password = params["re_password"]
			if password != re_password:
				return False, {"reason":"Different between twice Password input!"}
			if name == '' or password == '':
				return False,{"reason":"Name or Password must not be empty!"}
			if user.register(name, password):
				return True, {"name": name}
			else:
				return False,{"reason":"id '" + name + "' has been used!"}
		else:
			return False,{"reason":"name, password and re-password cannot be empty!"}
Beispiel #14
0
def userHandler(type, sessionId):
    db, cursor = conDB()

    code = 500

    if request.method == 'POST':
        if type == 'login':
            result["data"], result["success"], code = user.login(db, cursor, request.json)
        elif type == 'register':
            result["data"], result["success"], code = user.register(db, cursor, request.json)
        elif type == 'changepw':
            result["data"], result["success"], code = user.changePW(db, cursor, request.json)
    
    elif request.method == 'GET':
        if type == 'group':
            result["data"], result["success"], code = user.getGroup(db, cursor, sessionId)
    
    cloDB(db)

    return jsonify(result), code, httpHeaders
Beispiel #15
0
def register():
    if request.method == "GET":
        return render_template("register.html")
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]
        if len(username.strip()) < 6 or len(username) > 20:
            flash("Username doesn't fit criteria")
            return redirect("/register")
        if len(password) < 6:
            flash("Password doesn't fit criteria")
            return redirect("/register")
        if user.register(username.strip(), password):
            flash('User "' + username.strip() + '" created', 'flashSuccess')
            return redirect("/")
        else:
            flash(
                'Username "' + username +
                '" already taken. Username uniqueness is case-insensitive.',
                'flashError')
            return redirect("/register")
Beispiel #16
0
def register():
    user.register(db,{'username' : 'test', 'password' : 'test'})
    session['username'] = '******'
    return 'register'
Beispiel #17
0
#! /usr/local/bin/python3

from applescript import asrun, asquote
from user import register
import sys

flag = sys.argv[1]
name = sys.argv[2]
number = sys.argv[3]

if flag == '-r':
    register(name, 'SMS', number)

# ascript = '''
# 		tell application "Messages"
# 			set targetService to 1st service whose service type = iMessage
# 			set targetBuddy to buddy {0} of targetService
# 			send {1} to targetBuddy
# 		end tell
# '''.format(asquote(number), asquote(message))
# asrun(ascript)
#
print(flag, name, number)
def Show(role):  # Laman Utama [Ini tidak sesuai spesifikasi yang diinginkan]
    inUser = input(">>> ")
    # aksi yang terjadi berdasarkan input user
    if inUser == 'caritahun':
        while True:
            gadget.caritahun()
            pil = input("Apa masih mencari caritahun (y/n)?:\n>>> ")
            if pil == 'n':
                Show(role)
    if inUser == 'carirarity':
        while True:
            gadget.carirarity()
            pil = input("Apa masih mencari carirarity (y/n)?:\n>>> ")
            if pil == 'n':
                Show(role)
    if inUser == 'tambahitem':
        if role == 'admin':
            while True:
                modifItem.tambahitem()
                pil = input("Apa masih ingin menambah item (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'hapusitem':
        if role == 'admin':
            while True:
                modifItem.hapusitem()
                pil = input("Apa masih ingin menghapus item (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'ubahjumlah':
        if role == 'admin':
            while True:
                modifItem.ubahjumlah()
                pil = input(
                    "Apa masih ingin mengubah jumlah item (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'register':
        if role == 'admin':
            while True:
                user.register()
                pil = input("Apa masih ingin me-register lagi (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'pinjam':
        if role == 'user':
            while True:
                gadget.PinjamGadget()
                pil = input("Apa masih ingin meminjam lagi (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'kembalikan':
        if role == 'user':
            while True:
                gadget.KembalikanGadget()
                pil = input("Apa masih ingin mengembalikan lagi (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'minta':
        if role == 'user':
            while True:
                consumable.minta()
                pil = input("Apa masih ingin meminta lagi (y/n)?:\n>>> ")
                if pil == 'n':
                    Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'riwayatambil':
        if role == 'admin':
            consumable.riwayatambil()
            Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'riwayatpinjam':
        if role == 'admin':
            gadget.riwayatpinjam()
            Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'riwayatkembali':
        if role == 'admin':
            gadget.riwayatkembali()
            Show(role)
        else:
            print('Anda tidak memiliki ijin akses')
            Show(role)
    if inUser == 'help':
        Help(role)
        Show(role)
    if inUser == 'save':
        save.Save()
        Show(role)
    if inUser == 'exit':
        pil = input("Apa Anda ingin untuk menyimpan perubahan (y/n)?\n>>> ")
        if pil == 'y':
            save.Save()
        exit()
    else:
        print(
            'Terdapat kesalahan input, ketik \'help\' agar melihat list command'
        )
        Show(role)
    return
Beispiel #19
0
async def f2(user: RequestRegister):
    return register(user)
Beispiel #20
0
def parse_params(parameters, ip=False):
    try:
        client = MongoClient()
        mongodb = client.socrates

        result = "{}" #string result from each run-type to print at the end
        working_set = None
        working_set_id = -1
        working_set_name = "Untitled"

        if 'username' in parameters and 'password' in parameters:
            if 'register' in parameters:
                #register new user
                taken = not user.register(parameters['username'], parameters['password'])
                result = json.dumps({"attempted": True, "taken" : taken})
            else:
                #authenticate
                if not user.authenticate(parameters['username'], parameters['password']):
                    return _err("Invalid username and password")
        else:
            #use default user
            user.setDefault()

        if 'working_set_id' in parameters:
            working_set_id = parameters['working_set_id']
            working_set = user.getWorkingSet(working_set_id)
            working_set_name = working_set["working_set_name"]

        if 'working_set_name' in parameters:
            working_set_name = parameters['working_set_name']

        #mutually exclusive if-elif
        if 'module' in parameters:
            typ = parameters['type']
            mod = parameters['module']
            fn = parameters['function']

            print "Running %s, %s, %s\n" % (typ, mod, fn)
            param = {}
            if "input" in parameters:
                param = parameters["input"]
            return_all_data = False
            if "return_all_data" in parameters:
                return_all_data = parameters["return_all_data"]

            if typ == "analysis" and working_set is None:
                return _err("Working set id not included")

            (working_set, is_new) = run(typ, mod, fn, param, working_set)

            user.log_run(typ, mod, fn)
            if ip:
                user.log_activity("run_ip", ip)

            if working_set is None:
                return _err("Internal operation error")
            if 'error' in working_set and working_set['error']:
                return _err("error: " + working_set['message'])

            #store new/modified working set
            working_set["working_set_name"] = working_set_name
            if is_new:
                insert_id = user.addWorkingSet(working_set)
                working_set['working_set_id'] = str(insert_id)
            else:
                user.updateWorkingSet(working_set_id, working_set) #overwrite in database
                working_set['working_set_id'] = str(working_set_id)

            if not return_all_data:
                #remove all data except first entry
                working_set["data"] = working_set["data"][0:1]
                if "analysis" in working_set:
                    for i in range(len(working_set["analysis"])):
                        a = working_set["analysis"][i]
                        if "entry_analysis" in a:
                            for p in a['entry_analysis']:
                                a['entry_analysis'][p] = a['entry_analysis'][p][0:1]

            return dumps(working_set)

        elif 'specs' in parameters:
            print "Fetching specs\n"
            if ip:
                user.log_activity("fetch_ip", ip)
            return json.dumps(getAllSpecs())

        elif 'fetch' in parameters:
            working_set = user.getWorkingSet(working_set_id)
            working_set['working_set_id'] = str(working_set_id)
            #add if statement here to check for datasetonly parameter
            if 'datasetonly' in parameters and parameters['datasetonly']=='true':
                working_set.pop("analysis",None)
                working_set.pop("visualization", None)
            #check format parameter
            if 'format' in parameters and parameters['format']=='csv':
                return pd.io.json.json_normalize(working_set['data']).to_csv(encoding='utf-8')
            elif 'format' in parameters and parameters['format']=='json':
                return dumps(working_set)

        elif 'remove' in parameters:
            user.removeWorkingSet(working_set_id)
            return dumps({"status" : "success"})

        elif 'rename' in parameters:
            user.renameWorkingSet(working_set_id, parameters['new_name'])
            return dumps({"status" : "success"})

        elif 'fetch_all_ids' in parameters:
            working_sets = user.getWorkingSets()
            working_set_identifiers = []
            for w in working_sets:
                wid = {
                    "id" : w["working_set_id"],
                    "name" : "Untitled"
                }
                if "working_set_name" in w:
                    wid["name"] = w["working_set_name"]

                working_set_identifiers.append(wid)

            return dumps({"ids" : working_set_identifiers})

        elif 'upload' in parameters:
            working_set = None
            default_working_set_name = "Imported Dataset"
            data = parameters['working_set_data']
            format = parameters['format']
            if format not in ["csv", "json"]:
                return _err("Invalid upload format selected")
            if format == "json":
                try:
                    working_set = json.loads(data) #no additional parsing necessary
                except ValueError as ve:
                    return _err("Working set JSON could not be parsed")
            elif format == "csv":
                #parse string as csv
                working_set = _parseCSV(data)

            if working_set is not None:
                if "working_set_name" not in working_set:
                    working_set["working_set_name"] = default_working_set_name
                working_set_id = user.addWorkingSet(working_set)
                return dumps({
                    "id" : str(working_set_id),
                    "name" : working_set["working_set_name"]
                    })

            else:
                return _err("Could not upload")
        return result;

    except Exception as e:
        sys.stderr.write("Exception caught: %s\n" % e)
        sys.stderr.write("Stack trace:\n%s\n" % traceback.format_exc())
Beispiel #21
0
    Hi. This is a tool to collect tweets.

'''
import oauth2
import json
import auth
import time
import user


print "Hi! Are You registered?"

if input('1 for YES \n2 for NO \n :') == 1:
    user.registered()
else:
    user.register()


# This function defines a word and location to search
def ur():

    tweetword = str(raw_input('Choose word to search: '))
    locale_user = str(raw_input('Choose locale: '))
    if len(locale_user) <= 2:
        locale_user = '******'

    tweeturl = 'https://api.twitter.com/1.1/search/tweets.json?q=' + \
               tweetword + '&count=100&locale=' + locale_user
    return tweeturl

Beispiel #22
0
def parse_params(parameters, ip=False):
    try:
        client = MongoClient()
        mongodb = client.socrates

        result = "{}" #string result from each run-type to print at the end
        working_set = None
        working_set_id = -1
        working_set_name = "Untitled"

        if 'username' in parameters and 'password' in parameters:
            if 'register' in parameters:
                #register new user
                taken = not user.register(parameters['username'], parameters['password'])
                result = json.dumps({"attempted": True, "taken" : taken})
            else:
                #authenticate
                if not user.authenticate(parameters['username'], parameters['password']):
                    return _err("Invalid username and password")
        else:
            #use default user
            user.setDefault()

        if 'working_set_id' in parameters:
            working_set_id = parameters['working_set_id']
            working_set = user.getWorkingSet(working_set_id)
            working_set_name = working_set["working_set_name"]

        if 'working_set_name' in parameters:
            working_set_name = parameters['working_set_name']

        #mutually exclusive if-elif
        if 'module' in parameters:
            typ = parameters['type']
            mod = parameters['module']
            fn = parameters['function']

            print "Running %s, %s, %s\n" % (typ, mod, fn)
            param = {}
            if "input" in parameters:
                param = parameters["input"]
            return_all_data = False
            if "return_all_data" in parameters:
                return_all_data = parameters["return_all_data"]

            if typ == "analysis" and working_set is None:
                return _err("Working set id not included")

            (working_set, is_new) = run(typ, mod, fn, param, working_set)

            user.log_run(typ, mod, fn)
            if ip:
                user.log_activity("run_ip", ip)

            if working_set is None:
                return _err("Internal operation error")
            if 'error' in working_set and working_set['error']:
                return _err("error: " + working_set['message'])

            #store new/modified working set
            working_set["working_set_name"] = working_set_name
            if is_new:
                insert_id = user.addWorkingSet(working_set)
                #user.test(working_set)
                working_set['working_set_id'] = str(insert_id)
            else:
                user.updateWorkingSet(working_set_id, working_set) #overwrite in database
                working_set['working_set_id'] = str(working_set_id)

            if not return_all_data:
                #remove all data except first entry
                working_set["data"] = working_set["data"][0:1]
                if "analysis" in working_set:
                    for i in range(len(working_set["analysis"])):
                        a = working_set["analysis"][i]
                        if "entry_analysis" in a:
                            for p in a['entry_analysis']:
                                a['entry_analysis'][p] = a['entry_analysis'][p][0:1]

            return dumps(working_set)

        elif 'specs' in parameters:
            print "Fetching specs\n"
            if ip:
                user.log_activity("fetch_ip", ip)
            return json.dumps(getAllSpecs())

        elif 'fetch' in parameters:
            working_set = user.getWorkingSet(working_set_id)
            working_set['working_set_id'] = str(working_set_id)
            return dumps(working_set)

        elif 'remove' in parameters:
            user.removeWorkingSet(working_set_id)
            return dumps({"status" : "success"})

        elif 'rename' in parameters:
            user.renameWorkingSet(working_set_id, parameters['new_name'])
            return dumps({"status" : "success"})

        elif 'fetch_all_ids' in parameters:
            working_sets = user.getWorkingSets()
            working_set_identifiers = []
            for w in working_sets:
                wid = {
                    "id" : w["working_set_id"],
                    "name" : "Untitled"
                }
                if "working_set_name" in w:
                    wid["name"] = w["working_set_name"]

                working_set_identifiers.append(wid)

            return dumps({
                "ids" : working_set_identifiers
                })
            
        elif 'upload' in parameters:
            working_set = None
            default_working_set_name = "Imported Dataset"
            data = parameters['working_set_data']
            format = parameters['format']
            if format not in ["csv", "json"]:
                return _err("Invalid upload format selected")
            if format == "json":
                try:
                    working_set = json.loads(data) #no additional parsing necessary
                except ValueError as ve:
                    return _err("Working set JSON could not be parsed")
            elif format == "csv":
                #parse string as csv
                working_set = _parseCSV(data)

            if working_set is not None:
                if "working_set_name" not in working_set:
                    working_set["working_set_name"] = default_working_set_name
                working_set_id = user.addWorkingSet(working_set)
                return dumps({
                    "id" : str(working_set_id),
                    "name" : working_set["working_set_name"]
                    })

            else:
                return _err("Could not upload")
        return result

    except Exception as e:
        sys.stderr.write("Exception caught: %s\n" % e)
        sys.stderr.write("Stack trace:\n%s\n" % traceback.format_exc())
Beispiel #23
0
import tweet

sum_neo = 0.0
sum_sql = 0.0

start_id = 1
end_id = 1001

n = (end_id - start_id) * 1.0

for i in range(start_id, end_id):
    handle = "a" + str(i)

    # Benchmark SQL
    start_sql = time.clock()
    user.register(handle, handle, handle, handle, handle)
    sql_time = time.clock() - start_sql

    # Benchmark Neo4j
    start_neo = time.clock()
    neo.insert_user(handle)
    neo_time = time.clock() - start_neo

    if i == start_id:
        continue

    sum_sql += sql_time
    sum_neo += neo_time

print("SQL average user adding time of 1000 records: " + str(sum_sql / n))
print("Neo4j average user adding time of 1000 records: " + str(sum_neo / n))
Beispiel #24
0
# Creates data base called database.db

import user, story

user.createTable()
story.createTable()

user.register('clara', 'pass', '???', '???')
user.register('alex', 'pss0', '???', '???')
user.register('235160223', 'asdf', '???', '???')
user.register('290895069', 'qwdfawefweer', '???', '???')

story.updateStory('Nice story', 'clara', 'Once upon a time')
story.updateStory('Nice story', 'jiajie', 'there was a family')
story.updateStory('title1', 'alex', 'The sky was blue,')
story.updateStory('Nice story', 'william', 'that lived in America.')
story.updateStory('title1', 'clara', 'like a crystal')
Beispiel #25
0
def register():
    value = request.json
    return user.register(value)