def get_posts_by_user(id): user_posts = dao.read(USER_POST) post_ids = [ int(row['post_id']) for row in user_posts if int(row['uid']) == id ] post_objs = list(map(PostManager.get_post_by_id, post_ids)) return post_objs
def category_search(category): data = dao.read(POSTS) data = [ row for row in data if category == row['category'] or category == 'all' ] data = [Discount_post(row) for row in data] return data
def get_users_categories(): data = dao.read(USER_CATEGORIES) rels = defaultdict(list) for rel in data: if rel['category'] not in rel['user_id']: rels[rel['user_id']].append(rel['category']) return rels
def add_post(data_dict, uploaded_file=None): all_posts = dao.read(POSTS) data_dict['id'] = len(all_posts) if uploaded_file is not None: filename = str(data_dict['id']) + ".jpg" uploaded_file.save( os.path.join(app.config['UPLOAD_FOLDER'], filename)) data_dict.pop('file', None) dao.write(POSTS, [data_dict], mode="a")
def get_post_by_id(id): post_dict = next(filter(lambda u: int(u['id']) == id, dao.read(POSTS))) return Discount_post(post_dict)
def get_all_posts(): data = dao.read(POSTS) data = [Discount_post(row) for row in data] print(data) return data
def name_search(name): data = dao.read(POSTS) data = [row for row in data if name in row['name']] data = [Discount_post(row) for row in data] return data
def remove_post(post): data = dao.read(POSTS) data = [row for row in data if int(row['id']) != post.id] dao.write(POSTS, data, mode="w")
def get_users(): return [User(user_dict) for user_dict in dao.read(USERS)]
def get_user_by_id(id): all_users = dao.read(USERS) for user in all_users: if user['id'] == str(id): return User(user) return None
def add_user(user_form): # count curr user number uid = len(dao.read(USERS)) + 1 user_form['id'] = uid dao.write(USERS, [user_form])