Exemple #1
0
async def add_filter(command_arg: str, user_id: int):
    sender_user = session.query(Users).filter(
        Users.telegram_user_id == user_id).first()
    if not sender_user:
        sender_user = Users(telegram_user_id=user_id)
        session.add(sender_user)
    session.add(ScrapFilters(user_id=sender_user.id, path=command_arg))
def register_page():

    form = RegistrationForm(request.form)

    if request.method == "POST" and form.validate():
        username = form.username.data
        email = form.email.data
        password = sha256_crypt.encrypt((str(form.password.data)))

        username_check = Users.query.filter_by(username=username).count()
        email_check = Users.query.filter_by(email=email).count()

        if username_check > 0:
            flash("That username is already taken, please choose another")
            return render_template('register.html', form=form, CONTENT=CONTENT)

        elif email_check > 0:
            flash("That email is already used, please choose another")
            return render_template('register.html', form=form, CONTENT=CONTENT)

        else:

            db.session.add(
                Users(username=username, password=password, email=email))
            db.session.commit()
            flash("Thanks for registering!")
            gc.collect()

            session['logged_in'] = True
            session['username'] = username

            # return redirect(url_for('index'))
            return back.redirect()

    return render_template("register.html", form=form, CONTENT=CONTENT)
Exemple #3
0
def get_user(user_id: str) -> Users:
    """
    DBからLINEのユーザーIDに基づくユーザー情報を取得する

    Args:
        user_id(str): LINEのユーザーID

    Returns:
        User: ユーザー情報
    """
    user = db.session.query(Users).filter_by(user_id=user_id).first()
    if not user:
        user = Users()
        user.user_id = user_id
        db.session.add(user)
        db.session.commit()
    return user
Exemple #4
0
def register():
    form = RegisterForm()

    if form.validate_on_submit():
        user = Users(form.username.data, form.password.data)
        if form.check_user(user.username):
            flash('El nombre de usuario ya esta en uso', 'warning')
            return render_template('register.html', form=form)
        else:
            db.session.add(user)
            db.session.commit()
            flash('El usuario ha sido agregado satisfactoriamente', 'success')
            return redirect(url_for('.login'))
    return render_template('register.html', form=form)
Exemple #5
0
 def setUp(self):
     db.create_all()
     sampleuser = Users(user_name="test", password="******")
     db.session.add(sampleuser)
     sampletechnique = Techniques(name="test",
                                  difficulty="test",
                                  description="test")
     db.session.add(sampletechnique)
     samplemember = Members(name="test", level="test", affiliation="test")
     db.session.add(samplemember)
     date = datetime.datetime.now()
     sampleclass = Classes(date=date)
     db.session.add(sampleclass)
     db.session.commit()
     techniqueintersect = ClassesTechnique(class_id=sampleclass.id,
                                           technique_id=sampletechnique.id)
     db.session.add(techniqueintersect)
     memberintersect = ClassesMember(class_id=sampleclass.id,
                                     member_id=samplemember.id)
     db.session.add(memberintersect)
     db.session.commit()
Exemple #6
0
class UserListByCity(Resource):
    users = Users().users_db

    def get(self):
        city = request.args.get("city")

        response = {"success": False, "data": None}
        response_code = 400

        if (city is not None) or (city != ""):
            users_by_city = users_class.get_users_by_city(city=city)

            if users_by_city:
                response["success"] = True
                response["data"] = users_by_city
                response_code = 200
            # external_response = get(url=DEFAULT_API_ENDPOINT % city)
            # print(external_response)
            # print(external_response.url)
            # print(external_response.json())
            # # print(external_response.data)
            # return external_response.json()

        return response, response_code
Exemple #7
0
# Imports
from flask import request
from flask_restplus import Namespace, Resource
from src.models import Users

# Initialise/Create namespace
people_namespace = Namespace("people",
                             description="Endpoint to retrieve list of people")

# Initialise Users globally: eliminate need for multiple calls to API
users_class = Users()

# Global Variables
DEFAULT_API_ENDPOINT = "https://bpdts-test-app.herokuapp.com/city/%s/users"
DEFAULT_LONDON_COORDINATES = {"lat": 51.50722, "long": 0.1278}
DEFAULT_MILES_RANGE = 50


# Routes/Resources
@people_namespace.route("")
class UserList(Resource):
    def get(self):
        users_list_all = users_class.get_users_db()

        if users_list_all:
            response = {"success": True, "data": users_list_all}
            response_code = 200

        else:
            response = {"success": False, "data": None}
            response_code = 400
Exemple #8
0
def updateZone(self, json_obj):
	try:
		user_obj = Users.get_by_id(int(json_obj["user_id"]))
		data = {}
		#if user not valid
		if not user_obj :
			
			data = {'status' : 1,
					'zone_name' : "unknown", 
					'map_name' : "unknown", 
					'last_update' : "unknown"
					}
			
			self.response.headers['Content-Type'] = "application/json"
			self.response.out.write(json.dumps(data))
			return
		
		#get zone from mac address
		item = db.GqlQuery(("SELECT * FROM BSSIDZones " +
			"WHERE mac_address = :1"), urllib.unquote_plus(json_obj["mac_address"]))	
		if item.count() > 0:
			
			curr_zone = item[0].zones
			zone_id = curr_zone.zone_id

			#update user location
			user_obj.last_location = curr_zone.key()
			user_obj.put()
			
			
			if curr_zone.maps.count() > 0:
				map_name = curr_zone.maps[0].map_name
				

			#generating JSON data
				data = {'status' : 0,
						'zone_name' : curr_zone.zone_name, 
						'map_name' : map_name,
						'last_update' : main.pretty_date(user_obj.last_update),
						}	
				self.response.headers['Content-Type'] = "application/json"
				self.response.out.write(json.dumps(data))	
				return
			
			#map not found
			else: 
				data = {'status' : 3,
						'zone_name' : curr_zone.zone_name, 
						'map_name' : "unknown",
						'last_update' : main.pretty_date(user_obj.last_update),
						}	
				self.response.headers['Content-Type'] = "application/json"
				self.response.out.write(json.dumps(data))	
				return
		#zone unknown						
		else: 	
			data = {'status' : 2,
					'zone_name' : "unknown", 
					'last_update' : main.pretty_date(user_obj.last_update),
					'map_name' : "unknown"
					}
			self.response.headers['Content-Type'] = "application/json"
			self.response.out.write(json.dumps(data))	
			return
	
	except apiproxy_errors.OverQuotaError, message:
		logging.error(message)
		self.response.headers['Content-Type'] = "application/json"
		self.response.out.write(json.dumps({"status" : 10}))
Exemple #9
0
def add_user(user_id: int):
    user = session.query(Users).filter(Users.id == user_id).first()
    if user is None:
        session.add(Users(id=user_id))
        session.commit()
Exemple #10
0
def add_start_user(start_db):
    test_user = Users(id=1)
    session.add(test_user)
    session.commit()