def create_users_posts(): session = Session() user = User(username='******', password='******') session.add(user) session.flush(session) print("Создаем посты от имени пользователя: ", user) print('------создаем посты-----') post1 = Post(user_id=user.id, title='Обзор фильма "Во все тяжкие"', text='Здесь находится большой текст-описание обзора фильма "Во все тяжкие"', timestamp=datetime.now()) post2 = Post(user_id=user.id, title='Обзор фильма "Гладиатор"', text='Здесь находится большой текст-описание обзора фильма "Гладиатор"', timestamp=datetime.now()) post3 = Post(user_id=user.id, title='Обзор фильма "Терминатор"', text='Здесь находится большой текст-описание обзора фильма "Терминатор"', timestamp=datetime.now()) post4 = Post(user_id=user.id, title='Обзор фильма "Мишки Гамми"', text='Здесь находится большой текст-описание обзора фильма "Мишки Гамми"', timestamp=datetime.now()) post5 = Post(user_id=user.id, title='Обзор фильма "Кремниевая долина"', text='Здесь находится большой текст-описание обзора фильма "Кремниевая долина"', timestamp=datetime.now()) session.add(post1) session.add(post2) session.add(post3) session.add(post4) session.add(post5) create_start_tags() session.commit() session.close()
def post(self): args = self.parser.parse_args() # 校验参数必须填写 if args.title is None or args.post_type is None or args.category is None\ or args.summary is None or args.content is None: abort(400) # 文章类型,文章,视频,企业内推 post_type = args.post_type # 校验用户身份 admin用户允许新增文章 if args.token is None: abort(403) user = User.verify_auth_token(args.token) if user is None: abort(403) if user.username != '*****@*****.**': abort(403) new_post = Post(user.id, user.nickname, post_type, args.title, args.image, args.category, args.tags, args.summary, args.content) db.session.add(new_post) db.session.commit()
def index(): form = PostForm() if form.validate_on_submit(): language = guess_language(form.post.data) if language == 'UNKNOWN' or len(language) > 5: language = '' post = Post(body=form.post.data, author=current_user, language=language) db.session.add(post) db.session.commit() flash(_('Your post is now live!')) return redirect(url_for('index')) #分页 page = request.args.get('page', 1, type=int) posts = current_user.followed_posts().paginate( page, app.config['POSTS_PER_PAGE'], False) next_url = url_for('index', page=posts.next_num if posts.has_next else None) prev_url = url_for('index', page=posts.prev_num if posts.has_prev else None) return render_template('index.html', title=_('Home'), form=form, posts=posts.items, next_url=next_url, prev_url=prev_url)
def post(self,post_id=None): if post_id: abort(405) else: args = post_post_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title']) new_post.user = user new_post.publish_date=datetime.datetime.now() new_post.text = args['text'] if args['tags']: for item in args['tags']: tag = Tag.query.filter_by( title=item ).first() if tag: new_post.tags.append(tag) else: new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id,201
def new(type): form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.cover = form.cover.data new_post.publish_date = datetime.now() new_post.update_date = new_post.publish_date new_post.user_id = current_user.id new_post.type = type new_post.summary = form.summary.data new_post.video = form.video.data tagStrList = form.tags.data.split(',') for tagStr in tagStrList: tagStr = tagStr.strip() tag = Tag.query.filter_by(title=tagStr).first() if not tag: tag = Tag(tagStr) new_post.tags.append(tag) for photo_url in form.photos.data: if photo_url != '': photo = Photo(photo_url) new_post.photos.append(photo) db.session.add(new_post) db.session.commit() return redirect(url_for('blog.post', post_id=new_post.id)) form.type.data = type return render_template("edit_{}.html".format(type), form=form, type=type)
def test_follow_posts(self): # create four users mohamed = User(username='******', email='*****@*****.**') wamda = User(username='******', email='*****@*****.**') ragda = User(username='******', email='*****@*****.**') abdeen = User(username='******', email='*****@*****.**') db.session.add_all([mohamed, wamda, ragda, abdeen]) # create four posts now = datetime.utcnow() p1 = Post(title="Mohamed post's title", content="post from mohamed", author=mohamed, date_posted=now + timedelta(seconds=1)) p2 = Post(title="Wamda post's title", content="post from wamda", author=wamda, date_posted=now + timedelta(seconds=4)) p3 = Post(title="Ragda post's title", content="post from ragda", author=ragda, date_posted=now + timedelta(seconds=3)) p4 = Post(title="Abdeen post's title", content="post from abdeen", author=abdeen, date_posted=now + timedelta(seconds=2)) db.session.add_all([p1, p2, p3, p4]) db.session.commit() # setup the followers mohamed.follow(wamda) # mohamed follows wamda mohamed.follow(abdeen) # mohamed follows abdeen wamda.follow(ragda) # wamda follows ragda ragda.follow(abdeen) # ragda follows abdeen db.session.commit() # check the followed posts of each user f1 = mohamed.followed_posts().all() f2 = wamda.followed_posts().all() f3 = ragda.followed_posts().all() f4 = abdeen.followed_posts().all() self.assertEqual(f1, [p2, p4]) self.assertEqual(f2, [p3]) self.assertEqual(f3, [p4]) self.assertEqual(f4, [])
def new_post(): form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() db.session.add(new_post) db.session.commit() return render_template('new.html', form=form)
def post(self): data = reqparse.RequestParser() data.add_argument('title', type=str, required=True) data.add_argument('text', type=str, required=True) args = data.parse_args() post = Post(args['title']) post.text = args['text'] db.session.add(post) db.session.commit()
def new_post(): form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() new_post.user = User.query.filter_by( username=current_user.username).one() db.session.add(new_post) db.session.commit() return render_template('new.html', form=form)
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, author=current_user) db.session.add(post) db.session.commit() flash('Your post has been created!', 'success') return redirect(url_for('home')) return render_template('create_post.html', title='New Post', form=form)
def test_follow_posts(self): # create four users u1 = User(username='******', email='*****@*****.**') u2 = User(username='******', email='*****@*****.**') u3 = User(username='******', email='*****@*****.**') u4 = User(username='******', email='*****@*****.**') db.session.add_all([u1, u2, u3, u4]) # create four posts now = datetime.utcnow() p1 = Post(body="post from john", author=u1, timestamp=now + timedelta(seconds=1)) p2 = Post(body="post from susan", author=u2, timestamp=now + timedelta(seconds=4)) p3 = Post(body="post from mary", author=u3, timestamp=now + timedelta(seconds=3)) p4 = Post(body="post from david", author=u4, timestamp=now + timedelta(seconds=2)) db.session.add_all([p1, p2, p3, p4]) db.session.commit() # setup the followers u1.follow(u2) # john follows susan u1.follow(u4) # john follows david u2.follow(u3) # susan follows mary u3.follow(u4) # mary follows david db.session.commit() # check the followed posts of each user f1 = u1.followed_posts().all() f2 = u2.followed_posts().all() f3 = u3.followed_posts().all() f4 = u4.followed_posts().all() self.assertEqual(f1, [p2, p4, p1]) self.assertEqual(f2, [p2, p3]) self.assertEqual(f3, [p3, p4]) self.assertEqual(f4, [p4])
def adding(data,time,room): print('adding',time) if len(Post.query.filter_by(room=room).all())>100: print("\ndeleting####\n",len(Post.query.filter_by(room=room).all())) val=Post.query.filter_by(room=room).first() print(val) db.session.delete(val) db.session.commit() val = Post(date_posted=time,content=str(data),room=room) # print(">>>>>",val) db.session.add(val) db.session.commit()
def new_post(): form = PostForm() print("new_post") if form.validate_on_submit(): new_post = Post() new_post.title = form.title.data new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() user = User.objects(id=current_user.id).first() new_post.user = user new_post.save() return render_template('new.html', form=form)
def editormd(): form = PostForm() if form.validate_on_submit(): post = Post(text=form.text.data, title=form.title.data, subtitle=form.subtitle.data, user=current_user._get_current_object(), publish_date=datetime.now()) db.session.add(post) db.session.commit() return redirect(url_for('main.index')) return render_template('post/editormd.html', form=form, backgroundpic='/static/img/post-bg.jpg')
def add(request): #broker if request.method == 'POST': resp = request.body.decode('UTF-8') data = json.loads(resp) lista = Adapters.objects.filter(ativo=1).values("rid") if data["to"] == 1: isRecomendation = False for i in lista: if i["rid"] in ( data["id"]).split(" "): #clique de recomendacao isRecomendation = True adapter = i["rid"] break post_data = Post(data["ip"], data["idUser"], data["idClick"], data["classe"], data["texto"], data["current"], data["href"], data["timestamp"], data["dateTimestamp"], data["dateR"]) post_data.save() #salva o clique na tabela ClickStream if isRecomendation: #salva na tabela recomendações acessadas caso o clique proveio de uma recomendação post_data = RecomendacaoAcessada(adapter, data["idClick"], date=data["dateR"]) post_data.save() return HttpResponse(status=204) else: #gerar recomendacao dados = Post.objects.get(idClick=data["idClick"]) for i in lista: if i["rid"] == data["iden"]: recomendador = i["rid"] + '.' + i[ "rid"] #nome do recomendador (ou funcao) try: recomendador = eval( recomendador) # executa python dentro da execução except: module = __import__("webapp.algorithms." + i["rid"], fromlist=i["rid"]) recomendador = getattr(module, i["rid"]) finally: function_output = recomendador( request, dados) #saida deverá ser um vetor de links for each_link in function_output: post_data = RecomendacaoGerada( #salva as recomendações sugeridas i["rid"], data["idClick"], each_link, data["dateR"]) post_data.save() return JsonResponse({i["rid"]: function_output}) return HttpResponse(status=204) else: return HttpResponse(status=204)
def new_post(): form = PostForm() if not current_user: return redirect(url_for('main.login')) if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() db.session.add(new_post) db.session.commit() return render_template('new.html', form=form)
def add_post(): if not g.current_user: flash('发表新想法前请先登录!', category='error') return redirect(url_for('main.login')) form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data, form.content.data) new_post.publish_date = datetime.datetime.now() new_post.user = g.current_user new_post.category = PostCategory(form.category.data) db.session.add(new_post) db.session.commit() return redirect(url_for('.get_post', post_id=new_post.id)) return render_template('add.html', form=form)
def new_post(): # 此处验证用login_required装饰器代替 ''' if not g.current_user: return redirect(url_for('main.login')) ''' form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() new_post.user = current_user db.session.add(new_post) db.session.commit() return redirect(url_for('.post', post_id=new_post.id)) return render_template('new.html', form=form)
def create_article(): if request.method == 'POST': title = request.form['title'] header = request.form['header'] text = request.form['text'] post_creation_date = datetime.datetime.utcnow() post = Post(title=title, header=header, text=text, post_creation_date=post_creation_date) try: db.session.add(post) db.session.commit() return redirect(url_for('.edit_articles')) except: return 'Error' else: return render_template('/admin/create-articles.html')
def new_post(): form = PostForm() if form.validate_on_submit(): post = Post(title=form.title.data, content=form.content.data, post_image_file=form.picture_file.data, author=current_user) if form.picture_file.data: post_image_file = save_picture_post(form.picture_file.data) current_user.image_file = post_image_file db.session.add(post) db.session.commit() flash('Your post has been created', 'success') return redirect(url_for('home')) return render_template('create_post.html', title='New Post', form=form, legend='New Post')
def process_submission(self, post): print('Post Recieved') try: from webapp.models import Post, Review except django.core.exceptions.AppRegistryNotReady: return False if "[review]" in post.title.lower(): try: p_exists = Post.objects.get(id=post.id) print('Post in Database') return False except Post.DoesNotExist: pass p = Post(user=post.author.name, date=post.created, link=post.url, id=post.id, title=post.title) p.save() print(post.title + ' is not in the database, adding') split_selftext = post.selftext.split('\n') index, review_start_index, review_end_index = 0, -1, -1 while (index < len(split_selftext)): if (review_start_index == review_end_index and "|" in split_selftext[index]): review_start_index = index elif (review_start_index != review_end_index and "|" in split_selftext[index]): review_end_index = index index += 1 if (review_start_index == -1 or review_end_index == -1): return [] r_list = parse.parse_review( split_selftext[review_start_index:review_end_index + 1], p) for r in r_list: r.save()
def scrape_post(post): if "[review]" in post.title.lower(): print("Run Scraper") try: p_exists = Post.objects.get(id=post.id) return except Post.DoesNotExist: pass p = Post(user=post.author.name, date=parse.parse_date(post.created), link=post.url, id=post.id, title=post.title) p.save() pprint(('Post: ' + str(p))) split_selftext = post.selftext.split('\n') index, review_start_index, review_end_index = 0, -1, -1 while (index < len(split_selftext)): if (review_start_index == review_end_index and "|" in split_selftext[index]): review_start_index = index elif (review_start_index != review_end_index and "|" in split_selftext[index]): review_end_index = index index += 1 if (review_start_index == -1 or review_end_index == -1): return [] r_list = parse.parse_review( split_selftext[review_start_index:review_end_index + 1], p) for r in r_list: p.review_set.create(user=r.user, date=post.created, itemName=r.itemName, itemLink=r.itemLink, itemReview=r.itemReview, itemSize=r.itemSize, itemPic=r.itemPic)
def post_article(): params = request.get_json() print params post = Post( title=params['title'], text=params['text'], publish_able=params['publishable'], tag_id=params['tagId']) post.user_id = g.userId erps = copy.deepcopy(error_response) db.session.add(post) try: db.session.commit() except BaseException: erps['error'] = '新建错误' return json.dumps(erps) erps['success'] = True return json.dumps(erps)
def index(): form = PostForm() if form.validate_on_submit(): post = Post(body=form.post.data, author=current_user) db.session.add(post) db.session.commit() flash('Your post is now live!') return redirect(url_for('index')) page = request.args.get('page', 1, type=int) posts = current_user.followed_posts().paginate( page, app.config['POSTS_PER_PAGE'], False) next_url = url_for('index', page=posts.next_num) if posts.has_next else None prev_url = url_for('index', page=posts.prev_num) if posts.has_prev else None return render_template("index.html", title='Home Page', form=form, posts=posts.items, next_url=next_url, prev_url=prev_url)
def home(): form = PostForm() if form.validate_on_submit(): language = guess_language(form.content.data) if language == 'UNKNOWN' or len(language) > 5: language = '' post = Post(title=form.title.data, content=form.content.data, author=current_user, language=language) db.session.add(post) db.session.commit() flash('Your post is now live!') return redirect(url_for('main.home')) page = request.args.get('page', 1, type=int) followed_posts = current_user.followed_posts() posts = followed_posts.paginate(page, current_app.config['POSTS_PER_PAGE'], False) next_url = url_for('main.home', page=posts.next_num) if posts.has_next else None prev_url = url_for('main.home', page=posts.prev_num) if posts.has_prev else None num_of_posts = followed_posts.count() displayPagination = num_of_posts > current_app.config['POSTS_PER_PAGE'] return render_template('home.html', title='Home', form=form, posts=posts.items, next_url=next_url, prev_url=prev_url, num_of_posts=num_of_posts, display=displayPagination)
def setup_db(): db.create_all() admin_role = Role() admin_role.name = "admin" admin_role.description = "admin" db.session.add(admin_role) default_role = Role() default_role.name = "default" default_role.description = "default" db.session.add(default_role) admin = User() admin.username = "******" admin.set_password("password") admin.roles.append(admin_role) admin.roles.append(default_role) db.session.add(admin) tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlechemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "Body text" for i in xrange(100): new_post = Post("Post " + str(i)) new_post.user = admin new_post.publish_date = datetime.datetime.now() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()
def new_post(): if request.method == 'POST': jsonStr = request.get_data() data = json.loads(jsonStr) if hasattr(data, 'key') or data['key'] != "wysj3910": return "密钥错误!" new_post = Post(data['title']) # 创建帖子 new_post.text = data['text'] # 内容 new_post.cover = data['cover'] # 封面 new_post.publish_date = time.strftime( "%Y-%m-%d %H:%M:%S", time.localtime(data['publish_date'])) # 发布日期 new_post.update_date = datetime.datetime.now() #更新的日期 user = User.query.filter_by(username=data['username']).first() # 获取用户 if not user: user = User(data['username']) if hasattr(data, 'nickname'): user.nickname = data['nickname'] new_post.user = user # 用户 new_post.type = data['type'] # 类型 new_post.summary = data['summary'] # 简介 new_post.video = data['video'] # 视频地址 new_post.read = data['read'] # 阅读量 new_post.post_hash = data['post_hash'] #贴的hash值 for photo_url in data['photos']: # 图片列表 if photo_url != '': photo = Photo(photo_url) new_post.photos.append(photo) for tagStr in data['tags']: # 标签 tagStr = tagStr.strip() tag = Tag.query.filter_by(title=tagStr).first() if not tag: tag = Tag(tagStr) new_post.tags.append(tag) db.session.add(new_post) db.session.commit() return json.dumps({'status': 0})
def post(self, post_id=None): if post_id: # 为啥要设置这条件? abort(400) else: args = post_post_parser.parse_args(strict=True) # ? user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title'], args['text']) # 新建post对象 new_post.date = datetime.datetime.now() new_post.author = user if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() if tag: # 如果数据库已经存在该tag,那就直接添加到新post中 new_post.tags.append(tag) else: # 不然要新建了再添加 new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id, 201
def setup_db(): db.create_all() # 创建管理员角色 admin_role = Role('admin') admin_role.description = 'admin' db.session.add(admin_role) # 创建默认角色 default_role = Role('default') default_role.description = 'default' db.session.add(default_role) # 创建管理员用户信息 admin = User('admin') admin.set_password('password') admin.roles.append(admin_role) admin.roles.append(default_role) db.session.add(admin) tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlchemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = 'Body text' for i in range(100): new_post = Post('Post %s' % i, s) new_post.user = admin new_post.publish_date = datetime.datetime.now() new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()
def insert_data(): with app.app_context(): # 不需要在这里创建库,应该使用数据库升级命令`db upgrade`来创建库 # db.create_all() # 这里设定了3种角色 role_admin = Role(name='admin') role_admin.description = "administrator role" role_poster = Role(name='poster') role_poster.description = "the registered user role" role_default = Role(name='default') role_default.description = 'the unregistered user role' db.session.add(role_admin) db.session.add(role_poster) db.session.add(role_default) # add User admin = User(username='******') admin.email = '*****@*****.**' admin.password = '******' admin.confirmed = True admin.roles.append(role_admin) admin.roles.append(role_poster) admin.roles.append(role_default) db.session.add(admin) user01 = User(username='******') user01.email = '*****@*****.**' user01.password = '******' user01.confirmed = True user01.roles.append(role_poster) user01.roles.append(role_default) db.session.add(user01) user02 = User(username='******') user02.email = '*****@*****.**' user02.password = '******' user02.confirmed = True user02.roles.append(role_poster) user02.roles.append(role_default) db.session.add(user02) # add Tag and Post tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlechemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "Example Text" for i in xrange(1, 101): new_post = Post("Post {}".format(i)) if i % 2: new_post.user = user01 else: new_post.user = user02 new_post.publish_date = datetime.datetime.utcnow() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) # add comment comment01 = Comment() comment01.name = 'comment01' comment01.text = 'comment text' comment01.post_id = 99 comment01.date = datetime.datetime.utcnow() db.session.add(comment01) comment02 = Comment() comment02.name = 'comment02' comment02.text = 'comment text' comment02.post_id = 100 comment02.date = datetime.datetime.utcnow() db.session.add(comment02) db.session.commit()