def mark_movie(): if 'imei' in request.form: imei = request.form['imei'] else: return server_return.server_error(server_return.ERROR_PARAMS, 'imei') if 'movieId' in request.form: movie_id = request.form['movieId'] else: return server_return.server_error(server_return.ERROR_PARAMS, 'movieId') if 'movieName' in request.form: movie_name = request.form['movieName'] else: return server_return.server_error(server_return.ERROR_PARAMS, 'movieName') if 'downloaded_time' in request.form: downloaded_time = request.form['downloaded_time'] else: return server_return.server_error(server_return.ERROR_PARAMS, 'downloaded_time') if 'downloaded_timestamp' in request.form: downloaded_timestamp = request.form['downloaded_timestamp'] else: return server_return.server_error(server_return.ERROR_PARAMS, 'downloaded_timestamp') return client().mark_movie(imei, movie_id, movie_name, downloaded_time, downloaded_timestamp)
def upload_apk(): if 'version_code' in request.form and 'version_name' in request.form and 'file' in request.files and _check_sign( request.form): form = request.form is_current = form.get('is_current', 0) is_force = form.get('is_force', 0) message = form.get('message', None) directory = _get_directory() file = request.files['file'] if 'apk' in file.filename: print(file, type(file)) fn = _get_filename(file.filename, directory) file.save(directory + '/' + fn) client().save_version(file_name=fn, version_code=int(form.get('version_code')), version_name=form.get('version_name'), is_current=int(is_current), message=message, is_force=is_force) return server_return.server_success({'m': '上传成功'}) else: return server_return.server_error(server_return.ERROR_SIGN, '文件格式有误') else: return server_return.server_error(server_return.ERROR_SIGN)
def mark_in_ip(): ip = request.form.get('ip', None) mark_id = request.form.get('mark_id', None) if not ip: return server_return.server_error(server_return.ERROR_PARAMS, "ip") if not mark_id: return server_return.server_error(server_return.ERROR_PARAMS, "mark_id") return client().mark_in_ip(ip, mark_id)
def mark_out(): if 'logout_time' in request.form: logout_time = request.form['logout_time'] else: return server_return.server_error(server_return.ERROR_PARAMS) if 'mark_id' in request.form: mark_id = request.form['mark_id'] else: return server_return.server_error(server_return.ERROR_PARAMS) return client().mark_out(mark_id, logout_time)
def upload_file(): if 'file' in request.files and 'sign' in request.form and 'time_stamp' in request.form: if request.form.get('sign', None) == _get_sign(request.form.get('time_stamp', None)): directory = _get_directory() file = request.files['file'] print(file, type(file)) file.save(directory + '/' + _get_filename(file.filename, directory)) return server_return.server_success({'m': '上传成功'}) else: return server_return.server_error(server_return.ERROR_SIGN) else: return server_return.server_error(server_return.ERROR_PARAMS)
def upload_file(): if 'file' in request.files and 'sign' in request.form and 'time_stamp' in request.form: if request.form.get('sign', None) == _get_sign( request.form.get('time_stamp', None)): directory = _get_directory() file = request.files['file'] print(file, type(file)) file.save(directory + '/' + _get_filename(file.filename, directory)) return server_return.server_success({'m': '上传成功'}) else: return server_return.server_error(server_return.ERROR_SIGN) else: return server_return.server_error(server_return.ERROR_PARAMS)
def mark_in(): print(request.form) if 'imei' in request.form: imei = request.form['imei'] else: return server_return.server_error(server_return.ERROR_PARAMS, "imei") if 'login_time' in request.form: login_time = request.form['login_time'] else: return server_return.server_error(server_return.ERROR_PARAMS, "login_time") local = request.form.get('local', None) ip = request.form.get('ip', None) version_code = request.form.get('version_code', None) version_name = request.form.get('version_name', None) return client().mark_in(imei, login_time, local, ip, version_code, version_name)
def get_role(): # print(type(request.args), request.args) if 'imei' in request.form: imei = request.form.get('imei') else: return server_return.server_error(server_return.ERROR_PARAMS) return client().select_role(imei)
def create_user(self, root_imei, imei, role, usable, name): """ 创建/更新用户(更新时,只改变role,name和usable字段) :param root_imei: :param imei: :param role: :param usable: :param name: :return: """ self.cursor.execute( 'select role from {table} where imei = {imei};'.format( table=TABLE_USER, imei=root_imei)) # root_role = self.cursor.fetchone() # print(type(root_role), root_role) if self.cursor.fetchone()[0] == 'root': count_sql = 'select count(*) from user where imei = "{imei}";'.format( imei=imei) self.cursor.execute(count_sql) if self.cursor.fetchone()[0] == 0: # 插入新用户 return self._save_new_normal_user(imei, root_imei, usable, name) else: # 更新 只改变role,name和usable字段 self.cursor.execute( 'select * from user where imei = "{imei}";'.format( imei=imei)) user = self.cursor.fetchone() print('更新 select') print(user) _role = user[3] if role is None else role _usable = user[5] if usable is None else usable # _name = '' if name is None else name update_sql = 'update {table} set role=\"{role}\",usable={usable},name=\"{name}\" where imei ={imei};' \ .format(table=TABLE_USER, role=_role, imei=imei, usable=_usable, name=name) try: print('更新', update_sql) self.cursor.execute(update_sql) self.db.commit() return server_return.server_success('更新成功') except: return server_return.server_error(server_return.ERROR_DB) else: return server_return.server_error(ERROR_PERMISSION_DE)
def mark_out(self, id, logout_time): update_sql = 'update {table} set logout_time = \"{logout_time}\" where id=\"{id}\";' \ .format(table=TABLE_USER_LOG, logout_time=logout_time, id=id) try: print('mark_out:', update_sql) self.cursor.execute(update_sql) self.db.commit() return server_return.server_success('更新成功') except: return server_return.server_error(server_return.ERROR_DB)
def mark_in(self, imei, login_time, local, ip, version_code, version_name): select_sql = 'select * from {table} where imei = {imei}' \ .format(table=TABLE_USER, imei=imei) self.cursor.execute(select_sql) user = self.cursor.fetchone() if user: user_id = user[INDEX_ID] username = user[INDEX_NAME] values_str = ' values({user_id},\"{imei}\",\"{login_time}\"' \ .format(user_id=user_id, imei=imei, login_time=login_time) insert_sql = 'insert into {table}(user_id,imei,login_time'.format( table=TABLE_USER_LOG) if username: insert_sql += ',username' values_str += ',\"{username}\"'.format(username=username) if local: insert_sql += ',local' values_str += ',\"{local}\"'.format(local=local) if ip: insert_sql += ',ip' values_str += ',\"{ip}\"'.format(ip=ip) if version_code: insert_sql += ',version_code' values_str += ',{version_code}'.format( version_code=version_code) if version_name: insert_sql += ',version_name' values_str += ',\"{version_name}\"'.format( version_name=version_name) f_insert_sql = insert_sql + ')' + values_str + ');' print('mark_in', f_insert_sql) try: self.cursor.execute(f_insert_sql) lastrowid = self.cursor.lastrowid self.db.commit() return server_return.server_success({'mark_id': lastrowid}) except: return server_return.server_error(server_return.ERROR_DB) else: return server_return.server_error(server_return.ERROR_DB, '用户不存在')
def download_apks(filename): if _check_sign(request.args, '我怎么这么好看'): directory = _get_directory() b = os.path.isfile(directory + '/' + filename) if b: response = make_response(send_from_directory(directory, filename, as_attachment=True)) response.headers["Content-Disposition"] = "attachment; filename={}".format( filename.encode().decode('latin-1')) return response return server_return.server_error(server_return.ERROR_PARAMS)
def create_user(): role = None usable = None name = None if 'root_imei' in request.form: root_imei = request.form['root_imei'] else: return server_return.server_error(server_return.ERROR_PARAMS) if 'imei' in request.form: imei = request.form['imei'] else: return server_return.server_error(server_return.ERROR_PARAMS) if 'role' in request.form: role = request.form['role'] if 'usable' in request.form: usable = request.form['usable'] if 'name' in request.form: name = request.form['name'] return client().create_user(root_imei, imei, role, usable, name)
def maoyan_board(): sign = request.args.get('sign', None) tag = request.args.get('tag', 0) page_num = request.args.get('page_num', 1) page_size = request.args.get('page_size', 10) time_stamp = request.args.get('time_stamp', 0) print(time_stamp, int(time.time())) if sign and time_stamp: hl = md5() hl.update(('我是大帅哥' + time_stamp).encode(encoding='utf-8')) mm = hl.hexdigest() print('sign:{sign},mm:{mm}'.format(sign=sign, mm=mm)) if sign == mm: j = get_maoyan_control().get_data(tag=tag, page_num=page_num, page_size=page_size) return server_return.server_success(j) else: return server_return.server_error(server_return.ERROR_PARAMS) else: return server_return.server_error(server_return.ERROR_PARAMS)
def mark_in(self, imei, login_time, local, ip, version_code, version_name): select_sql = 'select * from {table} where imei = {imei}' \ .format(table=TABLE_USER, imei=imei) self.cursor.execute(select_sql) user = self.cursor.fetchone() if user: user_id = user[INDEX_ID] username = user[INDEX_NAME] values_str = ' values({user_id},\"{imei}\",\"{login_time}\"' \ .format(user_id=user_id, imei=imei, login_time=login_time) insert_sql = 'insert into {table}(user_id,imei,login_time'.format(table=TABLE_USER_LOG) if username: insert_sql += ',username' values_str += ',\"{username}\"'.format(username=username) if local: insert_sql += ',local' values_str += ',\"{local}\"'.format(local=local) if ip: insert_sql += ',ip' values_str += ',\"{ip}\"'.format(ip=ip) if version_code: insert_sql += ',version_code' values_str += ',{version_code}'.format(version_code=version_code) if version_name: insert_sql += ',version_name' values_str += ',\"{version_name}\"'.format(version_name=version_name) f_insert_sql = insert_sql + ')' + values_str + ');' print('mark_in', f_insert_sql) try: self.cursor.execute(f_insert_sql) lastrowid = self.cursor.lastrowid self.db.commit() return server_return.server_success({'mark_id': lastrowid}) except: return server_return.server_error(server_return.ERROR_DB) else: return server_return.server_error(server_return.ERROR_DB, '用户不存在')
def download_apks(filename): if _check_sign(request.args, '我怎么这么好看'): directory = _get_directory() b = os.path.isfile(directory + '/' + filename) if b: response = make_response( send_from_directory(directory, filename, as_attachment=True)) response.headers[ "Content-Disposition"] = "attachment; filename={}".format( filename.encode().decode('latin-1')) return response return server_return.server_error(server_return.ERROR_PARAMS)
def create_user(self, root_imei, imei, role, usable, name): """ 创建/更新用户(更新时,只改变role,name和usable字段) :param root_imei: :param imei: :param role: :param usable: :param name: :return: """ self.cursor.execute('select role from {table} where imei = {imei};'.format(table=TABLE_USER, imei=root_imei)) # root_role = self.cursor.fetchone() # print(type(root_role), root_role) if self.cursor.fetchone()[0] == 'root': count_sql = 'select count(*) from user where imei = "{imei}";'.format(imei=imei) self.cursor.execute(count_sql) if self.cursor.fetchone()[0] == 0: # 插入新用户 return self._save_new_normal_user(imei, root_imei, usable, name) else: # 更新 只改变role,name和usable字段 self.cursor.execute('select * from user where imei = "{imei}";'.format(imei=imei)) user = self.cursor.fetchone() print('更新 select') print(user) _role = user[3] if role is None else role _usable = user[5] if usable is None else usable # _name = '' if name is None else name update_sql = 'update {table} set role=\"{role}\",usable={usable},name=\"{name}\" where imei ={imei};' \ .format(table=TABLE_USER, role=_role, imei=imei, usable=_usable, name=name) try: print('更新', update_sql) self.cursor.execute(update_sql) self.db.commit() return server_return.server_success('更新成功') except: return server_return.server_error(server_return.ERROR_DB) else: return server_return.server_error(ERROR_PERMISSION_DE)
def mark_in_ip(self, ip, mark_id): local = None try: res = requests.get('http://ip.zxinc.org/ipquery/?ip={ip}'.format(ip=ip)) selector = Selector(text=res.text) local = selector.xpath('//form[@method="get"]//tr[4]/td[2]/text()').extract_first() except: pass sets = 'ip=\"{ip}\"'.format(ip=ip) if local: sets += ',local=\"{local}\"'.format(local=local) update_sql = 'update {table} set {sets} where id = {mark_id}'.format(table=TABLE_USER_LOG, sets=sets, mark_id=mark_id) print('update_sql', update_sql) try: self.cursor.execute(update_sql) self.db.commit() return server_return.server_success('更新成功') except: return server_return.server_error(server_return.ERROR_DB, update_sql)
def mark_movie(self, imei, movie_id, movie_name, downloaded_time, downloaded_timestamp): select_url = "select * from {table} where imei = \"{imei}\";".format(table=TABLE_USER, imei=imei) self.cursor.execute(select_url) user = self.cursor.fetchone() if user: user_id = user[INDEX_ID] user_name = user[INDEX_NAME] sql = 'insert into {table}(userId,userName,movieId,movieName,downloaded_time,' \ 'downloaded_timestamp) values({userId},\"{userName}\",{movieId},\"{movieName}\",\"{downloaded_time}\",' \ '{downloaded_timestamp});'.format(table=TABLE_USER_MOVIE, userId=user_id, userName=user_name, movieId=movie_id, movieName=movie_name, downloaded_time=downloaded_time, downloaded_timestamp=downloaded_timestamp) try: print('记录数据', sql) self.cursor.execute(sql) self.db.commit() return server_return.server_success('记录成功') except: return server_return.server_error(server_return.ERROR_DB)
def mark_movie(self, imei, movie_id, movie_name, downloaded_time, downloaded_timestamp): select_url = "select * from {table} where imei = \"{imei}\";".format( table=TABLE_USER, imei=imei) self.cursor.execute(select_url) user = self.cursor.fetchone() if user: user_id = user[INDEX_ID] user_name = user[INDEX_NAME] sql = 'insert into {table}(userId,userName,movieId,movieName,downloaded_time,' \ 'downloaded_timestamp) values({userId},\"{userName}\",{movieId},\"{movieName}\",\"{downloaded_time}\",' \ '{downloaded_timestamp});'.format(table=TABLE_USER_MOVIE, userId=user_id, userName=user_name, movieId=movie_id, movieName=movie_name, downloaded_time=downloaded_time, downloaded_timestamp=downloaded_timestamp) try: print('记录数据', sql) self.cursor.execute(sql) self.db.commit() return server_return.server_success('记录成功') except: return server_return.server_error(server_return.ERROR_DB)
def mark_in_ip(self, ip, mark_id): local = None try: res = requests.get( 'http://ip.zxinc.org/ipquery/?ip={ip}'.format(ip=ip)) selector = Selector(text=res.text) local = selector.xpath( '//form[@method="get"]//tr[4]/td[2]/text()').extract_first() except: pass sets = 'ip=\"{ip}\"'.format(ip=ip) if local: sets += ',local=\"{local}\"'.format(local=local) update_sql = 'update {table} set {sets} where id = {mark_id}'.format( table=TABLE_USER_LOG, sets=sets, mark_id=mark_id) print('update_sql', update_sql) try: self.cursor.execute(update_sql) self.db.commit() return server_return.server_success('更新成功') except: return server_return.server_error(server_return.ERROR_DB, update_sql)
def _save_new_user(self, imei, role, usable, name): """ 插入新用户(普通) :param imei: :param role: :param usable: :param name: :return: json """ print('插入新用户') now = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) _name = '' if name is None else name _usable = 1 if usable is None else usable _role = 'normal' if role is None else role sql = 'insert into {table}(imei,role,create_time,name,usable) values (\"{imei}\",\"{role}\",\"{create_time}\",\"{name}\",\"{usable}\");' \ .format(table=TABLE_USER, role=_role, imei=imei, create_time=now, name=_name, usable=_usable) try: # print('插入新用户', sql) self.cursor.execute(sql) self.db.commit() return server_return.server_success('插入成功') except: return server_return.server_error(server_return.ERROR_DB)
def get_post_params(param_name: str): if 'logout_time' in request.form: logout_time = request.form['logout_time'] else: return server_return.server_error(server_return.ERROR_PARAMS)