def on_get(self, req, res): user = UserDB() users = user.list_user() LOG.info(("Users fectched: {0}.").format( json.dumps(users).decode("unicode-escape"))) res.status = httplib.OK res.body = json.dumps(users)
def on_put(self, req, res, userId): data = req.stream.read() data = json.loads(data) sche = schema.Schema("password") sche.validate(data) user = UserDB() user.change_password(userId, data['password']) res.status = httplib.OK res.body = "Password for user %s is changed successfully" % userId
def on_post(self, req, res): data = req.stream.read() data = json.loads(data) sche = schema.Schema("user") sche.validate(data) desc = "Normal user" if 'description' in data: desc = data['description'] role = 0 if 'role' in data: role = data['role'] user = UserDB() user.add_user(data['id'], data['name'], data['password'], role, desc) res.status = httplib.OK res.body = "User %s is created successfully" % data['name']
# t.me/ClassTextBot from telegram.ext import Updater, CommandHandler, MessageHandler, Filters import logging, yaml, telegram from find_classes import Scraper from db import UserDB dbase = UserDB() logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) def start(update, context): reply_markup = telegram.ReplyKeyboardMarkup( [[telegram.KeyboardButton('Share contact', request_contact=True)]]) context.bot.sendMessage( chat_id=update.message.chat_id, text='Please share your contact so I can verify you with my database: ', reply_markup=reply_markup) def contact(update, context): phone_number = update.message.contact.phone_number user_id = update.message.contact.user_id dbase.add_user_id(phone_number, user_id) context.bot.sendMessage( chat_id=update.message.chat_id, text= 'Thanks, you\'re verified! Now type /begin to start getting class updates.' )
def on_delete(self, req, res, userId): user = UserDB() user.delete_user(userId) res.status = httplib.OK res.body = "User ID %s delete successfully" % userId
def on_post(self, req, res, userId): ''' - check if user exists; - check if book exists; - check if book number reach maximum; ''' data = req.stream.read() data = json.loads(data) sche = schema.Schema("book") sche.validate(data) # Check if user exists user = UserDB() user_checking = user.get_user(userId) if not user_checking: res.status = httplib.INTERNAL_SERVER_ERROR res.body = "User Id %s not exists. Please create user first.\n" % userId return book = BookDB() # check if book already exists book_existing = book.get_book_by_name(userId, data['name']) if len(book_existing) != 0: res.status = httplib.INTERNAL_SERVER_ERROR res.body = "Book %s has already existed." % data['name'] return # check if book amount reach maximum counts = book.count_book(userId) if counts == MAX_BOOKS_PER_UER: res.status = httplib.INTERNAL_SERVER_ERROR res.body = "Only %s books can be added. It reaches maximum." % MAX_BOOKS_PER_UER return # Add book to DB if counts == 0: bookId = 1 else: bookId = 15 books = book.list_book(userId) for ibook in books: bookId = bookId - ibook['ID'] % 10000 for i in [1, 2, 4, 8]: if bookId & i != 0: bookId = i break LOG.info(("Book relative ID: [{0}]").format(bookId)) status = 0 if 'status' in data: status = data['status'] desc = data['name'] if desc in data: desc = data['description'] bookId = 10000 * int(userId) + bookId book.add_book(userId, bookId, data['name'], status, desc) res.status = httplib.OK res.body = "Book %s is added successfully" % data['name']
import math import datetime import functools from flask_restful import Resource, reqparse from bson.objectid import ObjectId from db import CommentDB, UserDB, TopicDB from .settings import ITEMS_PER_PAGE db = CommentDB() userDb = UserDB() topicDb = TopicDB() class CommentResource(Resource): def get(self): parser = reqparse.RequestParser() parser.add_argument('user_id', type=str) parser.add_argument('topic_id', type=str) parser.add_argument('page', type=int, default=0) args = parser.parse_args() comments = None if args['user_id'] != None and args['topic_id'] != None: comments = db.find({ 'user_id': ObjectId(args['user_id']), 'topic_id': ObjectId(args['topic_id']) }) elif args['user_id'] != None: comments = db.get_by_user_id(args['user_id']) elif args['topic_id'] != None: comments = db.get_by_topic_id(args['topic_id']) else:
import math from bson.objectid import ObjectId from flask_restful import Resource, abort, reqparse from db import UserDB, CommentDB from .settings import ITEMS_PER_PAGE db = UserDB() commentDb = CommentDB() class UserResource(Resource): def get(self, id): parser = reqparse.RequestParser() parser.add_argument('topic_id', type=str) args = parser.parse_args() query = {'user_id': ObjectId(id)} if args['topic_id'] != None: query['topic_id'] = ObjectId(args['topic_id']) user = db.get_by_id(id) if user == None: abort(404, message='No such user with id %s' % (id)) user['num_of_topics'] = len(user['topic_ids']) user.pop('topic_ids', None) user['num_of_messages'] = commentDb.count(query) return user class UserTopicsResource(Resource): def get(self, id):