def post(self, forum_id): author = cgi.escape(self.request.get('author')) forum_name = cgi.escape(self.request.get('forum')) title = cgi.escape(self.request.get('title')) url = cgi.escape(self.request.get('url')) text = cgi.escape(self.request.get('text')) post = ForumPost() forum = Forum.query(Forum.name == forum_name).get() if forum != None: forum.posts += 1 else: forum = Forum(name=forum_name, posts=1) forum.put() author = author[3:-2] post.text = text post.author = author post.forum_name = forum_name post.forumnyn_aty = forum.aty post.title = title post.time = datetime.datetime.now() - datetime.timedelta( hours=8) #For PST post.url = url post.url_host = urlparse(url).hostname post.reference = ''.join( random.choice(string.ascii_lowercase + string.digits) for _ in range(8)) post.put() self.redirect('/forum/{}'.format(forum_name))
def get_recurring_subreddits(self): """ Utility method returns a list of recurring Forums aka subreddits in top 100 'hot' Submissions of r/popular """ # Get recurring subreddits seen_subreddits = {} # dictionary for seen subreddits recurring_subreddits = [] for submission in self.hot_submissions: try: # This subredit has already been seen at least once seen_subreddits[submission.subreddit] += 1 # increment count if seen_subreddits[submission.subreddit] == 2: # First time subreddit has been seen more than once new_forum = Forum( title=submission.subreddit.display_name, description=submission.subreddit.public_description) # Add to list recurring_subreddits.append(new_forum) except KeyError: # First time seeing this subreddit seen_subreddits[submission.subreddit] = 1 # Return list of recurring Forums (subreddits) return recurring_subreddits
def post(self): args = self.parser.parse_args() if not current_user.is_authenticated: return JSON_abort(401, message="You should login first.") if not check_title(args["title"]): return JSON_abort(400, message="Forbidden symbols") editors = "" if args["editors"]: for nickname in args["editors"].split(", "): user = session.query(User).filter( User.nickname == nickname).first() if not user: return JSON_abort( 400, message=f"Nickname {nickname} not exist.") editors += str(user.id) + "," forum = Forum() forum.title = args["title"] forum.private = args["private"] forum.editors = editors forum.admin_id = current_user.id session.add(forum) session.commit() current_user.follow += str( session.query(Forum).order_by(Forum.id.desc()).first().id) + "," session.commit() return jsonify({'success': 'OK'})
def create_forum_submit(request): forum = Forum(user=request._user, name="DEFAULT") data = ForumForm(request.POST, instance=forum) if data.is_valid(): entity = data.save(commit=False) entity.put() return HttpResponseRedirect('/') return render_to_response('home/create_forum.html', {'forum_form': data})
def send(): try: req_data = request.get_json() u_id = req_data["u_id"] title = req_data["title"] content = req_data["content"] except: return jsonify({'status': 400, 'msg': "请求参数错误"}) else: add_text = Forum(u_id=u_id, f_title=title, f_content=content) db.session.add(add_text) db.session.commit() return jsonify({ "status": 200, "msg": "发送帖子成功", })
def module002_new_forum(): form = ForumForm() for course in Course.query.filter(Course.user_id == current_user.id): form.course_id.choices += [(course.id, str(course.id) + '-' + course.name + '-' + course.institution_name)] if request.method == 'POST': if current_user.is_authenticated and form.validate_on_submit(): forum = Forum(author_id=current_user.id, title=form.title.data, course_id=form.course_id.data) db.session.add(forum) db.session.commit() flash("Successfully created a new forum") return redirect(url_for('module002.module002_index')) else: flash("Couldn't create new forum. Form error: {}".format(form)) return render_template('module002_new_forum.html', module="module002", form=form)
def get_unique_subreddits(self): """ Utility method returns a list of unique Forums aka subreddits in top 100 'hot' Submissions of r/popular. """ unique_subreddits = [] seen_subreddits = [] for submission in self.hot_submissions: if submission.subreddit not in seen_subreddits: # List subreddit as seen seen_subreddits.append(submission.subreddit) # Translate subreddit into Forum and append to list new_forum = Forum( title=submission.subreddit.display_name, description=submission.subreddit.public_description) unique_subreddits.append(new_forum) # Return list of unique Forums (subreddits) return unique_subreddits
def convert_forums(self): start_time = time.time() cursor = connection.cursor() cursor.execute("SELECT * FROM smf_boards;") rows = cursor.fetchall() for row in rows: forum = Forum() category = Category.objects.get(old_category_id=row[1]) forum.category = category forum.old_forum_id = row[0] forum.position = row[4] forum.name = row[10] forum.description = row[11] forum.active = True forum.save() self.calculate_time(start_time, time.time())
def post(self): imeforum = self.request.get("fime") print imeforum priimekforum = self.request.get("fpriimek") email = self.request.get("femail") sporocilo = self.request.get("fsporocilo") #params = {"fime" : imeforum } if sporocilo != "Obvezno vpisi kaj notri": forum = Forum(fime=imeforum, fpriimek=priimekforum, fsporocilo=sporocilo, femail=email) forum.put() time.sleep(1) fseznam = Forum.query().fetch() print fseznam params = {"forumseznam": fseznam} return self.render_template("redirect.html", params=params)
def post(self): """ Creates forum """ data = request.json name = data.get('name') author_id = data.get('author_id') author_name = data.get('author_name') description = data.get('description') if (name == "" or author_id == "") or description == "": return {'error': 'Missing arguments'}, 400 if db.session.query(Forum).filter(Forum.name == name).first(): return {'error': 'Forum name already exist'}, 400 new_forum = Forum(name=name, author_name=author_name, author_id=int(author_id), description=description) db.session.add(new_forum) db.session.commit() return 201
def create_forum(): form = ForumForm() if form.validate_on_submit(): if not check_title(form.title.data): return render_template( 'create_forum.html', title='Создать форум', form=form, message=f"Название содержит недопустимые символы.") editors = "" if form.editors.data: for nickname in form.editors.data.split(", "): user = session.query(User).filter( User.nickname == nickname).first() if not user: return render_template( 'create_forum.html', title='Создать форум', form=form, message= f"Пользователя с ником {nickname} не существует.") editors += str(user.id) + "," forum = Forum() forum.title = form.title.data forum.private = form.private.data forum.editors = editors forum.admin_id = current_user.id session.add(forum) session.commit() current_user.follow += str( session.query(Forum).order_by(Forum.id.desc()).first().id) + "," session.commit() return redirect('/forums') return render_template('create_forum.html', title='Создать форум', form=form, message="")
def register(token): form = RegisterForm() try: email = serializer.loads(token, salt="email_confirmation", max_age=3600) except Exception: return render_template( 'register.html', title='Регистрация', form=form, message="Время вышло. Попробуйте зарегистрироваться еще раз.") if session.query(User).filter(User.email == email).first(): return render_template('register.html', title='Регистрация', form=form, message="Такая электронная почта уже есть", email=email) if form.validate_on_submit(): if form.password.data != form.repeat_password.data: return render_template('register.html', title='Регистрация', form=form, message="Пароли не совпадают", email=email) if not check_password(form.password.data): return render_template( 'register.html', title='Регистрация', form=form, message= "Пароль должен быть больше 7 символов, и состоять только из цифр, букв латинского алфавита и символов _.!#$%^&*-+=", email=email) if not check_nick(form.nickname.data): return render_template( 'register.html', title='Регистрация', form=form, message="Никнейм содержит недопустимые символы", email=email) if session.query(User).filter( User.nickname == form.nickname.data).first(): return render_template('register.html', title='Регистрация', form=form, message="Такой пользователь уже есть", email=email) user = User() user.nickname = form.nickname.data user.email = email user.set_password(form.password.data) session.add(user) session.commit() forum = Forum() forum.title = form.nickname.data forum.personal = True forum.admin_id = session.query(User).order_by( User.id.desc()).first().id forum.editors = f"{forum.admin_id}," session.add(forum) session.commit() user = session.query(User).filter(User.id == forum.admin_id).first() user.forum_id = session.query(Forum).order_by( Forum.id.desc()).first().id user.follow = f"{user.forum_id}," session.commit() return redirect('/login') return render_template('register.html', title='Регистрация', form=form, message="", email=email)