def get_clients_to_push(): rows = database.Database().execute(query_formats.get_registration_id_format) clients_to_push = list() for row in rows: clients_to_push.append(row['registration_key']) return clients_to_push
def __init__(self): country_codes_all = "AED,AFN,ALL,AMD,ANG,AOA,ARS,AUD,AWG,AZN,BAM,USD,BDT,BGN,BHD,BIF,SGD,BRL,BSD,INR,BWP,BYR,BZD,CAD,CDF,CHW,CHF,CLP,CNY,COU,CRC,CUP,CVE,CZK,DJF,DKK,DOP,DZD,EGP,ERN,ETB,EUR,FJD,FKP,GBP,GEL,GHS,GIP,GMD,GNF,GTQ,GYD,HKD,MOP,HNL,HRK,HUF,IDR,ILS,NPR,IQD,IRR,ISK,JMD,JOD,JPY,KES,KGS,THB,KMF,KPW,KRW,KWD,KYD,KZT,LBP,LKR,LRD,LSL,LYD,MAD,MDL,MGA,MKD,MNT,MRO,MUR,MVR,MWK,MXV,MYR,MZN,NAD,NGN,NIO,NOK,NZD,MOR,PEN,PGK,PHP,PKR,PLN,PYG,QAR,RON,RSD,RUB,RWF,SAR,SBD,SCR,SDG,SEK,SHP,SLL,SOS,SRD,SSP,STD,SYP,SZL,TJS,TMT,TND,TOD,TRY,TTD,TWD,TZS,UAH,UGX,USN,ZWL,UYU,UZS,VEF,VND,VUV,WST,XAF,XCD,XOF,XPF,YER,ZAR,ZMW" # country_code by string # 볼리비아 기금부호(BOV) 제외 모든 화폐 단위 코드 country_list_all = country_codes_all.split(",") # list 형태 country_codes_major = "ARS,AUD,BRL,CAD,CNY,EUR,GBP,INR,JPY,KRW,PHP,SGD,TRY,USD" # 아르헨티나 페소, 오스트레일리아 달러, 브라질 헤알, 캐나다 달러, 중국 위안, 유로, 파운드 스털링, 일본 엔, 대한민국 원 # 필리핀 페소, 싱가포르 달러, 터키 리라, 미국 달러 # 주요 국가 화폐 단위 코드 country_list_major = country_codes_major.split(",") # 주요 국가 화폐 단위 list 형태 self.code_string = country_codes_major self.code_list = country_list_major self.APIUrl = "https://api.manana.kr/exchange/rate/" self.db = database.Database() self.fcm_sender = fcm_sender.FCMSender( 'AAAAGhKg7Ws:APA91bGTOrM2nmAwP31NoY7DcbqD5ZpYzupJwUyOStM-TD7zk7jddIrzUAUlM5wXd5Jz94kbz-ab7uazV8UTxGe89H5aeyl5vudLCceeCbihjgTOGPDqX6fQK5FVMwKEZ-T3vgt7vLBM' ) self.last_average_date = datetime.date.today() self.section = 30 self.exploit = stastic_data.ExploitRate('temp', 'temp')
def check_database(logSettings, databaseFile): db = database.Database(logSettings, databaseFile) checkDB = db.check_database() if checkDB is False: logSettings.log(logger.LogLevel.CRITICAL, 'Database is not set up correctly') return None return db
def row_exists(uuid, src_nation, dst_nation): query = "SELECT * FROM options WHERE uuid='%s' AND src_nation='%s' AND dst_nation='%s'" rows = database.Database().execute(query % (uuid, src_nation, dst_nation)) if rows: return True else: return False
def create_new_database_if_not_exists(): db = dbase.Database("tugas_individu_akun_sekuy") db.set_host("localhost") db.set_username("root") db.set_password("") db.create_database() db.set_table_name("akun_pelajar") db.create_table()
def run(self): self.sender = MessageSender() self.sender.start() self.reciever = MessageReciever(self) self.reciever.start() self.db = user_db.Database(self.db_file) self.form_users_list()
def users(): db = database.Database() def db_query(): return User(db).get_users() res = db_query() db.con.close() return jsonify(res)
class HelpRequest(Resource): db = database.Database() sender = firebase_push.FCMSender('AIzaSyDEqNM3DgDvmxryb2pDrjry5wLHuT8NPjI') def post(self): # 도움 요청 id = request.form['id'] longitude = request.form['longi'] latitude = request.form['lati'] content = request.form['content'] user_info = self.db.execute(query_formats.get_user_info_format % id) self.db.execute(query_formats.request_help_format % (id, user_info[0]['registration_key'], float(longitude), float(latitude), content)) self.sender.send('Helpable', user_info[0]['name'] + '님에게 도움이 필요합니다.') return '', 201 def get(self): # 도움 요청 목록 help_rows = self.db.execute(query_formats.get_help_list_format) help_list = [] for row in help_rows: user_info = self.db.execute(query_formats.get_user_info_format % row['requester_id']) data = { 'idx': row['idx'], 'longi': row['longitude'], 'lati': row['latitude'], 'content': row['content'], 'name': user_info[0]['name'], 'age': user_info[0]['age'], 'gender': user_info[0]['gender'], 'disability_rating': user_info[0]['disability_rating'], 'disability_type': user_info[0]['disability_type'] } if row['contributor_id']: data['has_contributor'] = True help_list.append(data) return jsonify(result=help_list) def delete(self): # 도움 요청 취소 id = request.form['id'] idx = request.form['idx'] # 도움 요청의 주인이 맞는지 확인 help = self.db.execute(query_formats.get_help_format % int(idx)) if id == help[0]['requester_id']: self.db.execute(query_formats.delete_help_format % int(idx)) return '', 200 else: return '', 404
def store_user(): db = database.Database() def db_query(): return User(db).store_user(request.json) res = db_query() db.con.close() return jsonify(res)
def expenses(identifier): db = database.Database() def db_query(): return Expense(db).get_user_expenses(identifier) res = db_query() db.con.close() return jsonify(res)
def categories(): db = database.Database() def db_query(): return Category(db).get_categories() res = db_query() db.con.close() return jsonify(res)
def load(self, fn=r'C:\pythonprojects\chess_prod\database\nodes.db'): """ Load database to self :param fn: path to database file :return: """ self.database = database.Database( self, fn=fn) if self.database is None else self.database self.database.load(self)
def store_category(): db = database.Database() def db_query(): return Category(db).store_category(request.json) res = db_query() db.con.close() return jsonify(res)
def download(identifier): db = database.Database() def func(): return Expense(db).download_expenses(identifier) res = func() db.con.close() return res
def check_database(log): """ Checks that database is up and running correctly """ db = database.Database(log, 'crawl.db') status = db.check_database() if status is False: log.log(logger.LogLevel.CRITICAL, 'Database is not set up correctly') return None log.log(logger.LogLevel.INFO, 'Database is correctly set up') return db
def store_expense(): db = database.Database() def db_query(): data = request.json return Expense(db).store_expense(data) res = db_query() db.con.close() return jsonify(res)
class Token(Resource): # 토큰 업데이트 db = database.Database() def post(self): id = request.form['id'] registration_key = request.form['token'] self.db.execute(query_formats.registration_id_change_format % (registration_key, id)) return '', 201
def user_categories(identifier): db = database.Database() def db_query(): user = User(db).get_user_by_su(identifier) user_id = user[0]['id'] return UserCategory(db).get_user_categories(user_id) res = db_query() db.con.close() return jsonify(res)
def populate_db(): """Create database if not exists. To use, replace the pyquizz() function with this one in if __name__ == '__main__'""" from pyquizz import settings from database import database db = database.Database(settings.DB_NAME) db.connect() db.create(force=True) db.populate("categories") db.populate("musics")
def migrate(): connection = db.Database('python_flask_api_crudv2') connection.setLocalhost('localhost') connection.setUsername('root') connection.setPassword('root') connection.createDatabase() connection.setTableName('customers') connection.createTable() return jsonify({"status": "success"})
class SignUp(Resource): # 회원가입 db = database.Database() def post(self): connect_sns = request.form['connect_sns'] client_token = request.form['token'] if connect_sns == 'True' or connect_sns == 'true': # sns 연결 시 uuid = request.form['uuid'] google_id = request.form['google_id'] rows = self.db.execute("SELECT * FROM account WHERE uuid='", uuid, "'") if rows: # 디바이스에 이미 계정이 생성되어 있을 경우 return '', 409 else: # 가입되어 있지 않을 때 self.db.execute(query_formats.register_sns_account_format % (uuid, google_id)) self.db.execute(query_formats.register_client_token_format % (google_id, client_token)) return '', 201 else: # sns 미연결 시 uuid = request.form['uuid'] id = request.form['id'] password = request.form['password'] rows = self.db.execute("SELECT * FROM account WHERE uuid='", uuid, "'") if rows: # 디바이스에 이미 계정이 생성되어 있을 경우 return 'conflict uuid', 409 else: # uuid 미중복 시 rows = self.db.execute("SELECT * FROM account WHERE id='", id, "'") if rows: # id 중복 시 return 'conflict id', 409 else: # id 미중복 시 if len(password) >= 8: self.db.execute(query_formats.register_account_format % (uuid, id, password)) return '', 201 else: # 비밀번호 길이가 8자리 미만 return '', 409
def store_user_category(identifier): db = database.Database() def db_query(): user = User(db).get_user_by_su(identifier) user_id = user[0]['id'] data = request.json data['user_id'] = user_id return UserCategory(db).store_user_category(data) res = db_query() db.con.close() return jsonify(res)
def wake(self): self.db = database.Database(self.db_name) try: self.woke_at = self.utc_for(datetime.datetime.now()) self.process_tasks() if not self.expire: threading.Timer(self.wake_interval, self.wake).start() except Exception as ex: print "Unexpected error:", sys.exc_info()[0] print ex.args print ex self.db.commit() self.db.close() self.db = None
def save_walk(self, walked_nodes=settings.walked_nodes, fn=r'C:\pythonprojects\chess_prod\database\nodes.db'): """ First assigns save.Database(self, fn=fn) to self.database if database is not yet initialized. Saves last walk of tree to db: self.database.save_one_walk(walked_nodes). :param walked_nodes: list of nodes walked last training round, default is settings.walked_nodes :param fn: path to sqlite database file :type walked_nodes: list :type fn: str """ self.database = database.Database( self, fn=fn) if self.database is None else self.database self.database.save_one_walk(walked_nodes)
class HelpResponse(Resource): db = database.Database() def post(self): # 기여자 등록 id = request.form['id'] idx = request.form['idx'] self.db.execute(query_formats.response_help_format % (int(idx), id)) requester_info = self.db.execute(query_formats.get_help_format % idx) requester_key = requester_info[0]['requester_key'] # self.sender.send('Helpable', # '도우미가 나타났습니다.', # requester_key) self.sender.send('Helpable', '도우미가 나타났습니다.') return '', 201 def get(self): # 도움 요청자가 열람 가능한 기여자 목록 idx = request.args.get('idx') contributor_rows = self.db.execute( query_formats.get_contributor_list_format % int(idx)) contributor_list = [] for row in contributor_rows: user_info = self.db.execute(query_formats.get_user_info_format % row['contributor_id']) data = { 'idx': row['idx'], 'id': row['contributor_id'], 'name': user_info[0]['name'], 'age': user_info[0]['age'], 'gender': user_info[0]['gender'], 'affiliation': user_info[0]['affiliation'] } contributor_list.append(data) return jsonify(result=contributor_list) def delete(self): # 기여 취소 id = request.form['id'] idx = request.form['idx'] self.db.execute(query_formats.delete_contributor_format % (int(idx), id)) return '', 200
def category(identifier): db = database.Database() category_id = None category_name = None try: category_id = int(identifier) except ValueError: category_name = identifier def db_query(): return Category(db).get_category(category_id) if category_id is not None \ else Category(db).get_category_by_name(category_name) res = db_query() db.con.close() return jsonify(res)
def user(identifier): db = database.Database() user_id = None user_su = None if int(identifier) > 10000: user_su = identifier else: user_id = identifier def db_query(): return User(db).get_user(user_id) if user_id is not None \ else User(db).get_user_by_su(user_su) res = db_query() db.con.close() return jsonify(res)
def expenses_from_to(identifier): db = database.Database() def db_query(): data = request.json if data is None: return Expense(db).get_user_expenses(identifier) else: if 'start_date' not in data: data['start_date'] = '2000-01-01' if 'end_date' not in data: data['end_date'] = time.strftime('%Y-%m-%d') return Expense(db).get_user_expenses_from_to(data, identifier) res = db_query() db.con.close() return jsonify(res)
class Accept(Resource): # 기여자 선정 db = database.Database() def post(self): id = request.form['id'] idx = request.form['idx'] self.db.execute(query_formats.select_contributor_format % (id, int(idx))) user_info = self.db.execute(query_formats.get_user_info_format % id) contributor_key = user_info[0]['registration_key'] # self.sender.send('Helpable - 도우미', # '당신의 도움으로 차별없는 세상을 만들어주세요.', # contributor_key) self.sender.send('Helpable - 도우미', '당신의 도움으로 차별없는 세상을 만들어주세요.') return '', 201
class SignIn(Resource): # 로그인 # SNS 미연결 시 db = database.Database() def post(self): id = request.form['id'] password = request.form['password'] rows = self.db.execute("SELECT * FROM account WHERE id='", id, "'") if rows: # id에 해당하는 계정 존재 if rows[0]['password'] == password: # 로그인 성공 return '', 201 else: return '', 404 else: # 계정 미존재 return '', 404