def save_comment(id=None): user = auth.service.get_user() data = dict(request.form) data['upload'] = request.files.getlist('upload') v = Validator(data) v.fields('upload').image() v.fields('file.id').integer(nullable=True) if v.is_valid(): if not id: v.field('entity_name').required() v.field('entity_id').integer(nullable=True).required() if not v.valid_data.list('url') and not v.valid_data.list( 'upload'): v.field('comment').required( message="Напишите хоть что-нибудь...") if v.is_valid() and user.is_authorized(): data = v.valid_data if not id: comment = Comment() comment.author_id = user.id comment.entity = data.entity_name comment.entity_id = data.entity_id else: comment = Comment.get(id) if comment: comment.modify_datetime = datetime.datetime.now() comment.status = Comment.Status.MODIFIED if comment: return save(comment, data) v.add_error('comment', 'Что-то пошло не так... Попробуйте позже.') return jsonify({'status': 'fail', 'errors': v.errors})
def save_comment(id=None): user = auth.service.get_user() data = dict(request.form) data['upload'] = request.files.getlist('upload') v = Validator(data) v.fields('upload').image() v.fields('file.id').integer(nullable=True) if v.is_valid(): if not id: v.field('entity_name').required() v.field('entity_id').integer(nullable=True).required() if not v.valid_data.list('url') and not v.valid_data.list('upload'): v.field('comment').required(message="Напишите хоть что-нибудь...") if v.is_valid() and user.is_authorized(): data = v.valid_data if not id: comment = Comment() comment.author_id = user.id comment.entity = data.entity_name comment.entity_id = data.entity_id else: comment = Comment.get(id) if comment: comment.modify_datetime = datetime.datetime.now() comment.status = Comment.Status.MODIFIED if comment: return save(comment, data) v.add_error('comment', 'Что-то пошло не так... Попробуйте позже.') return jsonify({'status': 'fail', 'errors': v.errors})
def save(): v = Validator(request.form) v.fields('id').integer(nullable=True) v.field('title').required() v.field('text').required() v.field('category_id').integer(nullable=True) user = auth.service.get_user() if not user.is_authorized(): abort(403) if v.is_valid(): data = v.valid_data news = News.get(data.id) if news: news.title = data.title news.text = data.text else: news = News() news.title = data.title news.text = data.text news.author = user category = NewsCategory.get(data.category_id) news.category = category tags = data.list('tag') existing_tags = {tag.name: tag for tag in NewsTag.get_tags(tags)} tags = {tag: NewsTag(name=tag) for tag in tags} tags.update(existing_tags) news.tags = list(tags.values()) is_new = True if user.id is not None else False db.session.add(news) db.session.commit() if is_new: send_news_notification.delay(news.id, news.title) return jsonify({'status': 'ok', 'news': news.as_dict()}) return jsonify({'status': 'fail', 'errors': v.errors})
def save(): data = dict(request.form) data['image'] = request.files.getlist('image') v = Validator(data) v.fields('id').integer(nullable=True) v.field('name').required() v.field('private').boolean() v.field('description').required() v.field('image').image() user = auth.service.get_user() if not user.is_authorized(): abort(403) if not v.is_valid(): return jsonify({ 'status': 'fail', 'errors': v.errors }) data = v.valid_data community = Community.get(data.id) if community: community.type = Community.TYPE.PRIVATE if data.private else Community.TYPE.PUBLIC community.name = data.name community.description = data.description else: community = Community() community.type = Community.TYPE.PRIVATE if data.private else Community.TYPE.PUBLIC community.name = data.name community.description = data.description community.owner = user db.session.add(community) db.session.flush() image = data.image if image: img = community.image = community.image or File.create(name='image.png', module='community', entity=community) img.makedir() img.update_hash() utils.image.thumbnail(image, width=200, height=200, fill=utils.image.COVER).save(img.get_path()) db.session.commit() return jsonify({'status': 'ok', 'community': community.as_dict()})
def test(): v = Validator(request.form) v.fields('email').email() v.field('first_name').integer() v.field('text').required().length(max=6) v.field('image').image() if v.is_valid(): return jsonify({'status': 'ok'}) return jsonify({'status': 'fail', 'errors': v.errors}) # @main.route('/parse_asl') # def parser_asf(): # with open('application/static/images/smiles/tango/MSNTango.asl', 'r') as f: # for line in f.readlines(): # parts = line.split(' "') # if len(parts) > 2: # file = parts[1].split('"')[0].strip('",') # text = parts[2].strip('",').strip('-125, ').split() # if len(file) > 1: # print('"/static/images/smiles/tango/'+file+'":', '["'+'", "'.join(text)+'"],')
def post_save(): v = Validator(request.form) v.fields('id').integer(nullable=True) v.field('title').required() v.field('text').required() v.field('community_id').required().integer() user = auth.service.get_user() if not user.is_authorized(): abort(403) if not v.is_valid(): return jsonify({ 'status': 'fail', 'errors': v.errors }) data = v.valid_data if not data.id: post = Post() post.community_id = data.community_id else: post = Post.get(data.id) if not post: abort(400) if post.author and post.author != user: abort(403) post.title = data.title post.text = data.text post.author = user db.session.add(post) db.session.commit() return jsonify({ 'status': 'ok', 'post': post.as_dict() })