def post(self): data = request.get_json() name_role = data['name'] if name_role: mongo.db.role.insert_one({'nameRole': name_role}) return response('Role added successfully', 200) else: return response('Please fill in all information', 400)
def put(self, user_id): ret = mongo.db.user.find_one_and_update( {"_id": ObjectId(user_id)}, {"$set": { 'firstTimeUse': False }}, return_document=ReturnDocument.BEFORE) if ret is None: return response('Error while updating firstTimeUse', 404) else: return response('Used updated successfully', 200)
def post(self): data = request.get_json() movie_id = data['movieId'] user_id = data['userId'] if movie_id and user_id: mongo.db.watchlist.insert_one({ 'movieId': movie_id, 'userId': user_id }) return response('Watchlist added successfully', 200) else: return response('Please fill in all information', 400)
def verify_token(request): print(request.headers) token = request.headers.get('Token', None) print(token) if token == None: print('INSIDE') # raise Error return response('No token, authorization denied', 401) try: decoded = jwt.decode(token, SECRET_KEY) except jwt.ExpiredSignatureError: return response('Signature expired. Please log in again.', 401) except jwt.InvalidTokenError: return response('Invalid token. Please log in again.', 401) except Exception as e: print(e)
def get(self): page = request.args.get('page', 1, type=int) articles = Article.query.paginate(page, app.config['POSTS_PER_PAGE'], False) data_all = [] for article in articles.items: result = { 'id': article.id, 'title': article.title, 'content': article.content } data_all.append(result) result = { 'pagination': { 'current': articles.page, 'total_pages': articles.pages, 'total_items': articles.total, }, 'articles': data_all } return response(result)
def post(self): data = request.form form = ArticleForm(data) if form.validate(): new_article = Article(title=data['title'], content=data['content'], post_date=data['post_date']) db.session.add(new_article) db.session.commit() return response({'id': new_article.id}) else: return response(form.get_error_messages(), 400)
def profile(submit, token, project, commit, tag): for badpath in BADPATH: if badpath in token or badpath in project or badpath in commit: return 'System Error!' info = None infopath = os.path.join(config.USER_INFO, '%s.yml' % token) if os.path.isfile(infopath): with codecs.open(infopath, 'r', 'utf-8') as f: info = yaml.load(f, Loader = yaml.RoundTripLoader) if not info: return 'Token (%s) Error!' % token error = _check(info, project, commit) if not error: dirpath = os.path.join(config.PROFILE_PATH, info['user'], project, tag, commit) if not os.path.isdir(dirpath): os.makedirs(dirpath) for i in range(config.MAX_COUNT): filepath = os.path.join(dirpath, '%d.prof' % i) if not os.path.isfile(filepath): with open(filepath, 'wb') as f: for chunk in submit: f.write(chunk) Runner.profile(TASK_RETRY, TASK_INTERVAL, info['user'], project, tag, commit) break return response(error = error)
def post(self): data = request.get_json() password = data['password'] email = data['email'] user = mongo.db.user.find_one({'email': email}) if user is None: return response("Incorrect username or password", 404) new_user = json.loads(json_util.dumps(user)) # return(new_user['username']) if check_password_hash(new_user['hashed_password'], password): encoded_jwt = jwt.encode( {'username': new_user['username'], 'id': new_user['_id']['$oid'], 'email': new_user['email'], 'fullname': new_user['fullname'], 'exp': datetime.datetime.utcnow() + datetime.timedelta(minutes=60)}, SECRET_KEY, algorithm='HS256') decoded_token = encoded_jwt.decode('UTF-8') return response(decoded_token, 200) else: return response('Incorrect username or password', 400)
def get(self, role_id): role = mongo.db.role.find_one({"_id": ObjectId(role_id)}) if role is None: return response('', 404) else: new_role = json.loads(json_util.dumps(role)) new_role['_id'] = new_role['_id']["$oid"] return new_role, 200
def user_main(cookies): session = cookies.get('session') session = session and session.value error, account = SESSION.get(session) account = github.Account(account) assert account, 'Only support github account now!!!' return response(**account.user)
def get(self, user_id): user = mongo.db.user.find_one({"_id": ObjectId(user_id)}, {"hashed_password": 0}) if user is None: return response('', 404) else: new_user = json.loads(json_util.dumps(user)) new_user['_id'] = new_user['_id']["$oid"] return new_user, 200
def put(self, user_id): data = request.get_json() username = data['username'] email = data['email'] fullname = data['fullname'] role = data['role'] if mongo.db.user.count_documents( { 'email': email, '_id': { '$ne': ObjectId(user_id) } }, limit=1) != 0: return response('Email is already registered', 400) if mongo.db.user.count_documents( { 'username': username, '_id': { '$ne': ObjectId(user_id) } }, limit=1) != 0: return response('Username is already registered', 400) if username and email and fullname: ret = mongo.db.user.find_one_and_update( {"_id": ObjectId(user_id)}, { "$set": { 'username': username, 'email': email, 'fullname': fullname, 'role': role } }, return_document=ReturnDocument.BEFORE) if ret is None: return response('', 404) else: return response('Used updated successfully', 200) else: return response('Please fill in all information', 400)
def get(self, article_id): article = Article.query.filter_by(id=article_id).first() if not article: return False, 404 result = { 'id': article.id, 'title': article.title, 'content': article.content } return response(result)
def post(self): data = request.get_json() username = data['username'] email = data['email'] password = data['password'] verifyPassword = data['verifyPassword'] fullname = data['fullname'] role = data['role'] one_user = mongo.db.user.find_one() if one_user is None: dataframe = pd.read_csv('ratings.csv') row = dataframe.nlargest(1, 'userId') largest_user_id = row['userId'].values[0] largest_user_id = largest_user_id + 1 user_id = largest_user_id.item() else: last_user = mongo.db.user.find().limit(1).sort([("$natural", -1)]) for x in last_user: user_id = x['userId'] + 1 # user_id = last_user['userId'] + 1 if not username or not email or not password or not role or not verifyPassword or not fullname: return response('Please fill in all information', 400) if mongo.db.user.count_documents({'email': email}, limit=1) != 0: return response('Email is already registered', 400) if mongo.db.user.count_documents({'username': username}, limit=1) != 0: return response('Username is already registered', 400) if password != verifyPassword: return response("Password doesn't match!", 400) hashed_password = generate_password_hash(password, method='sha256') mongo.db.user.insert_one({ 'username': username, 'email': email, 'fullname': fullname, 'userId': user_id, 'hashed_password': hashed_password, 'role': role, 'firstTimeUse': True }) return response('Used created successfully', 200)
def post(self): data = request.get_json() mean_rating = data['rating'] # rating param = -2 represents user-clicking point, not user rating if mean_rating == -2: ratings = pd.read_csv('ratings.csv') ratings = ratings[ratings.userId == data['userid']] # calculate mean rating of current user mean_rating = ratings["rating"].mean() with open('ratings.csv', 'a', newline='') as f: thewriter = csv.writer(f) ratings = pd.read_csv("ratings.csv") ratings = ratings[ratings.movieId == data["id"]][ratings.userId == 592] ratings = ratings.nlargest(1, ['timestamp']) if not ratings.empty and data['rating'] == -2: return response('Failed to add rating', 200) if not ratings.empty and ratings["rating"].values[0] == mean_rating: return response('Dupplicate ratings', 200) thewriter.writerow(['592', data["id"], mean_rating, datetime.timestamp(datetime.now())]) return response('Added rating successfully', 200) return response('Failed to add rating', 500)
def put(self, user_id): data = request.get_json() password = data['password'] verifyPassword = data['verifyPassword'] if not password or not verifyPassword: return response('Please fill in all information', 400) if password != verifyPassword: return response("Password doesn't match!", 400) hashed_password = generate_password_hash(password, method='sha256') ret = mongo.db.user.find_one_and_update( {"_id": ObjectId(user_id)}, {"$set": { 'hashed_password': hashed_password }}, return_document=ReturnDocument.BEFORE) print(ret) if ret is None: return response('12321213', 404) else: return response('Password updated successfully', 200)
def projectInfo(cookies): info = {} for repo in repos: repo_url = 'https://api.github.com/repos/%s'%repo #确定url repoInfo = readURL('Repositories/reposInfo/%s'%(repo),repo_url )#访问url得到数据 repoInfo = repoInfo and json.loads(repoInfo)#将数据类型转换 #提取想要的信息保存在info中 info[repo] = { "stargazers_count":repoInfo['stargazers_count'], 'watchers_count':repoInfo['watchers_count'], 'created_at':repoInfo['created_at'], 'size':repoInfo['size'], 'forks_count':repoInfo['forks_count'], 'open_issues':repoInfo['open_issues'] } #将info返回给页面 return response(projectInfo=info)
def delete(self, role_id): ret = mongo.db.role.find_one_and_delete({"_id": ObjectId(role_id)}) if ret is None: return response('', 404) else: return response('Role deleted successfully', 200)
def projectPath(): JMH = P.getJMH() #将info返回给页面 return response(projectPa=JMH)
def projectCommits(): commits = Co.getCommits() #将info返回给页面 return response(projectCo=commits)
def projectBranches(): bran = Branch.getBranches() #将info返回给页面 return response(projectBran=bran)
def projectInfo(): info = Info.getInfo() #将info返回给页面 return response(projectInfo=info)
def delete(self, role_id): ret = mongo.db.watchlist.remove({"userId": str(user_id)}) if ret is None: return response('', 404) else: return response('Role deleted successfully', 200)
def delete(self): mongo.db.user.remove({}) return response("Deleted all users!", 200)
def delete(self, user_id): ret = mongo.db.user.find_one_and_delete({"_id": ObjectId(user_id)}) if ret is None: return response('', 404) else: return response('Deleted successfully', 200)