def get_all_returned_orders(self): orders = self.DBmanager.get_by('active', 'orders', 2) output = [tuple_to_dict('order', order) for order in orders] for order in output: doc = self.DBmanager.select_label(order['table'], order['doc_id']) order['doc'] = tuple_to_dict(order['table'], doc) order['user'] = self.get_user(order['user_id']) return output
def get_all_orders(self, by_who_id=-1): by_who = 'UNKNOW' if by_who_id == -1 else self.get_user( by_who_id)['name'] orders = self.DBmanager.select_all('orders') self.log('INFO', 'Librarian {} whant to see all orders'.format(by_who)) output = [tuple_to_dict('order', order) for order in orders] for order in output: doc = self.DBmanager.select_label(order['table'], order['doc_id']) order['doc'] = tuple_to_dict(order['table'], doc) order['user'] = self.get_user(order['user_id']) return output
def get_account_info(self): session_id = request.cookies['session_id'] user_id = self.dbmanager.get_user_id_by_session(session_id)[0] user = tuple_to_dict('account', self.dbmanager.get_user_by_id(user_id)) user.pop('passwd', 0) user.pop('chat_id', 0) return jsonify(user)
def get_documents_by_title(self, title, type_db, by_who_id=-1): by_who = 'UNKNOW' if by_who_id == -1 else self.get_user( by_who_id)['name'] documents = self.DBmanager.get_by('title', type_db, title) self.log( 'INFO', 'Get {} by title {} by {}.'.format(type_db.capitalize(), title, by_who)) return [tuple_to_dict(type_db, i) for i in documents]
def get_user(self, user_id, status=None): types = { 0: "unauthorized", 1: 'unconfirmed', 2: 'patrons', 3: 'librarians' } if not status: status = self.user_type(user_id) user_type = types[status] if status: return tuple_to_dict( user_type, self.DBmanager.select_label(user_type, user_id)) else: self.log('WARNING', 'User with id {} not found.'.format(user_id)) return False
def get_user_history(self, user_id): user = self.get_user(user_id) if not user: return [] orders_id = eval(user['history']) output = [] for order_id in orders_id: order = self.get_order(order_id) if order is None: continue doc = self.DBmanager.select_label(order['table'], order['doc_id']) if doc is None: continue order['doc'] = tuple_to_dict(order['table'], doc) output.append(order) return output
def get_all_articles(self): return [ tuple_to_dict('article', article) for article in self.DBmanager.select_all("article") ]
def get_all_books(self): return [ tuple_to_dict('book', book) for book in self.DBmanager.select_all("book") ]
def get_all_reference_articles(self): rows = self.DBmanager.select_all("reference_article") return [ tuple_to_dict('reference_article', article) for article in rows ]
def get_all_reference_book(self): rows = self.DBmanager.select_all("reference_book") return [tuple_to_dict('reference_book', book) for book in rows]
def get_document(self, doc_id, type_bd): return tuple_to_dict(type_bd, self.DBmanager.select_label(type_bd, doc_id))
def get_user_by_name(self, name): user = self.DBmanager.get_by('name', 'patrons', name)[0] return tuple_to_dict('patrons', user)
def get_order(self, order_id): order = self.DBmanager.select_label("orders", order_id) if order is None: self.log('WARNING', 'Can`t find the order for giving id.') return None return tuple_to_dict('order', order)
def get_all_media(self): rows = self.DBmanager.select_all("media") return [tuple_to_dict('media', media) for media in rows]
def get_all_librarians(self): rows = self.DBmanager.select_all("librarians") return [tuple_to_dict('librarians', user) for user in rows]
def get_all_librarians(self, by_who_id=-1): by_who = 'UNKNOW' if by_who_id == -1 else self.get_user( by_who_id)['name'] self.log('INFO', 'Get all librarians by {}'.format(by_who)) rows = self.DBmanager.select_all("librarians") return [tuple_to_dict('librarians', user) for user in rows]
def get_all_unconfirmed(self): return [ tuple_to_dict('unconfirmed', user) for user in self.DBmanager.select_all("unconfirmed") ]
def get_librarian_by_name_post(self): librarians_list = tuple_to_dict( 'librarians', self.dbmanager.get_user_by_name(request.values.get('name'))) return jsonify(librarians_list)
def get_documents_by_keywords(self, keywords, type_db): documents = self.DBmanager.get_by('keywords', type_db, keywords) return [tuple_to_dict(type_db, i) for i in documents]
def get_documents_by_title(self, title, type_db, by_who_id=-1): documents = self.DBmanager.get_by('title', type_db, title) return [tuple_to_dict(type_db, i) for i in documents]
def get_user_by_name(self, name, by_who_id=-1): by_who = 'UNKNOW' if by_who_id == -1 else self.get_user(by_who_id) user = self.DBmanager.get_by('name', 'patrons', name)[0] self.log('INFO', 'Get user with name {} by {}'.format(name, by_who)) return tuple_to_dict('patrons', user)
def get_all_patrons(self): rows = self.DBmanager.select_all("patrons") return [tuple_to_dict('patrons', user) for user in rows]