def get_tweets(): page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get(get_per_page_parameter(), type=int, default=20) start = page * per_page end = (page + 1) * per_page #Retrieving data from database, sorting and paginating tweets_data = col.find().sort('_id', pymongo.ASCENDING).skip(per_page).limit(end) tweets = tweets_data[start:end] #classifier instance sc = SentimentClassifier() tweet_data = [] for tweet in tweets: #getting a text from a tweet text_data = tweet["text"] #Convert to a string text_data = str(text_data) #perform classification text_data = sc.classify(text_data) #total += 1 tweet_data.append(text_data) #creating Pagination instance paginate = Pagination(page=page, per_page=per_page, per_page_parameter='per_page', show_single_page=True, total=tweets.count(), css_framework='foundation', record_name='tweets') return tweet_data, paginate, page, per_page
def index(solar=""): search = False q = request.args.get('q') if q: search = True searched = get_papers(False) history = { 'paper': searched.get('paperNumber', 1), 'page': searched.get('pageNumber', 1) } page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get(get_per_page_parameter(), type=int, default=20) total, papers = get_json_data(JSON_PATH, page, per_page) pagination = Pagination(page=page, per_page=per_page, total=total, search=search, record_name='papers', css_framework='bootstrap4') return render_template('index.html', fixed="", solar=solar, history=history, papers=papers, pagination=pagination)
def general_pagination(posts): # pagination PER_PAGE_DEFAULT = 5 page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get(get_per_page_parameter(), type=int, default=PER_PAGE_DEFAULT) pagination = Pagination(page=page, total=len(posts), per_page=per_page, search=False, record_name='posts', css_framework='bootstrap', bs_version=4) begin = per_page * (page - 1) end = per_page * page if end > len(posts): end = len(posts) posts = posts[begin:end] return posts, pagination
def search_bookmarks(): arg_obj = request.form if request.method == 'DELETE' else request.args search_bookmarks_form = forms.SearchBookmarksForm(request.args) is_api_request_path = request.path.startswith('/api/') if is_api_request_path: keywords = arg_obj.getlist('keywords') all_keywords = arg_obj.get('all_keywords') deep = arg_obj.get('deep') regex = arg_obj.get('regex') # api request is more strict all_keywords = False if all_keywords is None else all_keywords deep = False if deep is None else deep regex = False if regex is None else regex all_keywords = (all_keywords if isinstance(all_keywords, bool) else all_keywords.lower() == 'true') deep = deep if isinstance(deep, bool) else deep.lower() == 'true' regex = regex if isinstance(regex, bool) else regex.lower() == 'true' else: keywords = search_bookmarks_form.keywords.data all_keywords = search_bookmarks_form.all_keywords.data deep = search_bookmarks_form.deep.data regex = search_bookmarks_form.regex.data result = {'bookmarks': []} bukudb = getattr(flask.g, 'bukudb', get_bukudb()) found_bookmarks = bukudb.searchdb(keywords, all_keywords, deep, regex) found_bookmarks = [] if found_bookmarks is None else found_bookmarks page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get(get_per_page_parameter(), type=int, default=int( current_app.config.get( 'BUKUSERVER_PER_PAGE', views.DEFAULT_PER_PAGE))) res = None if request.method == 'GET': if bookmarks is not None: for bookmark in found_bookmarks: result_bookmark = { 'id': bookmark[0], 'url': bookmark[1], 'title': bookmark[2], 'tags': list([_f for _f in bookmark[3].split(',') if _f]), 'description': bookmark[4] } result['bookmarks'].append(result_bookmark) current_app.logger.debug('total bookmarks:{}'.format( len(result['bookmarks']))) if is_api_request_path: res = jsonify(result) else: pagination_total = len(result['bookmarks']) bms = list(views.chunks(result['bookmarks'], per_page)) try: result['bookmarks'] = bms[page - 1] except IndexError as err: current_app.logger.debug( '{}:{}, result bookmarks:{}, page:{}'.format( type(err), err, len(result['bookmarks']), page)) pagination = Pagination(page=page, total=pagination_total, per_page=per_page, search=False, record_name='bookmarks', bs_version=3) res = render_template( 'bukuserver/bookmarks.html', result=result, pagination=pagination, search_bookmarks_form=search_bookmarks_form, create_bookmarks_form=forms.BookmarkForm(), ) elif request.method == 'DELETE': if found_bookmarks is not None: for bookmark in found_bookmarks: result_flag = bukudb.delete_rec(bookmark[0]) if result_flag is False: res = (jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, { 'ContentType': 'application/json' }) if res is None: res = (jsonify(response.response_template['success']), status.HTTP_200_OK, { 'ContentType': 'application/json' }) return res
def bookmarks(): """Bookmarks.""" res = None bukudb = getattr(flask.g, 'bukudb', get_bukudb()) page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get(get_per_page_parameter(), type=int, default=int( current_app.config.get( 'BUKUSERVER_PER_PAGE', views.DEFAULT_PER_PAGE))) url_render_mode = current_app.config['BUKUSERVER_URL_RENDER_MODE'] create_bookmarks_form = forms.BookmarkForm() if request.method == 'GET': all_bookmarks = bukudb.get_rec_all() result = {'bookmarks': []} for bookmark in all_bookmarks: result_bookmark = { 'url': bookmark[1], 'title': bookmark[2], 'tags': list([_f for _f in bookmark[3].split(',') if _f]), 'description': bookmark[4] } if not request.path.startswith('/api/'): result_bookmark['id'] = bookmark[0] result['bookmarks'].append(result_bookmark) if request.path.startswith('/api/'): res = jsonify(result) else: if request.args.getlist('tag'): tags = request.args.getlist('tag') result['bookmarks'] = [ x for x in result['bookmarks'] if set(tags).issubset(set(x['tags'])) ] current_app.logger.debug('total bookmarks:{}'.format( len(result['bookmarks']))) current_app.logger.debug('per page:{}'.format(per_page)) pagination_total = len(result['bookmarks']) bms = list(views.chunks(result['bookmarks'], per_page)) try: result['bookmarks'] = bms[page - 1] except IndexError as err: current_app.logger.debug( '{}:{}, result bookmarks:{}, page:{}'.format( type(err), err, len(result['bookmarks']), page)) pagination = Pagination(page=page, total=pagination_total, per_page=per_page, search=False, record_name='bookmarks', bs_version=3) res = render_template( 'bukuserver/bookmarks.html', result=result, pagination=pagination, search_bookmarks_form=forms.SearchBookmarksForm(), create_bookmarks_form=create_bookmarks_form, url_render_mode=url_render_mode, ) elif request.method == 'POST': url_data = create_bookmarks_form.url.data result_flag = bukudb.add_rec(url_data, create_bookmarks_form.title.data, create_bookmarks_form.tags.data, create_bookmarks_form.description.data) if request.path.startswith('/api/'): res = [ jsonify(response.response_template['success']), status.HTTP_200_OK, { 'ContentType': 'application/json' } ] if result_flag != -1 else [ jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, { 'ContentType': 'application/json' } ] else: bm_text = '[<a href="{0}">{0}</a>]'.format(url_data) if result_flag != -1: flash(Markup('Success creating bookmark {}.'.format(bm_text)), 'success') else: flash(Markup('Failed creating bookmark {}.'.format(bm_text)), 'danger') return redirect(url_for('bookmarks-html')) elif request.method == 'DELETE': result_flag = bukudb.cleardb() res = [ jsonify(response.response_template['success']), status.HTTP_200_OK, { 'ContentType': 'application/json' } ] if result_flag else [ jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, { 'ContentType': 'application/json' } ] return res
def index(): dianzans = DianZanModel.query.filter(DianZanModel.author == g.front_user) post_id_list = [] for i in dianzans: post_id_list.append(i.post_id) boards = BoardsModel.query.all() posts = PostsModel.query.order_by(PostsModel.create_time.desc()) # 分页 page = request.args.get(get_per_page_parameter(), type=int, default=1) start = (page - 1) * config.PER_PAGE end = start + config.PER_PAGE totle = PostsModel.query.count() pagination = Pagination(page=page, bs_version=3, total=totle, outer_window=1, inner_window=2) st = request.args.get('st') if st == '2': posts = PostsModel.query.filter(PostsModel.highlight) context = { 'boards': boards, 'posts': posts, 'pagination': pagination, 'post_id_list': post_id_list } return render_template('front/index.html', **context) if st == '3': posts = PostsModel.query.order_by( PostsModel.dianzan_totle.desc()).slice(0, 10) context = { 'boards': boards, 'posts': posts, 'pagination': pagination, 'post_id_list': post_id_list } return render_template('front/index.html', **context) if st == '4': posts = PostsModel.query.order_by( PostsModel.common_totle.desc()).slice(0, 10) context = { 'boards': boards, 'posts': posts, 'pagination': pagination, 'post_id_list': post_id_list } return render_template('front/index.html', **context) board_id = request.args.get('board_id') if board_id: posts = PostsModel.query.filter(PostsModel.board_id == board_id) posts_totle = posts.slice(start, end) context = { 'boards': boards, 'posts': posts_totle, 'pagination': pagination, 'post_id_list': post_id_list } return render_template('front/index.html', **context) context = { 'boards': boards, 'posts': posts, 'pagination': pagination, 'post_id_list': post_id_list } return render_template('front/index.html', **context)
def search_bookmarks(): arg_obj = request.form if request.method == 'DELETE' else request.args search_bookmarks_form = forms.SearchBookmarksForm(request.args) is_api_request_path = request.path.startswith('/api/') if is_api_request_path: keywords = arg_obj.getlist('keywords') all_keywords = arg_obj.get('all_keywords') deep = arg_obj.get('deep') regex = arg_obj.get('regex') # api request is more strict all_keywords = False if all_keywords is None else all_keywords deep = False if deep is None else deep regex = False if regex is None else regex all_keywords = \ all_keywords if type(all_keywords) == bool else all_keywords.lower() == 'true' deep = \ deep if type(deep) == bool else deep.lower() == 'true' regex = \ regex if type(regex) == bool else regex.lower() == 'true' else: keywords = search_bookmarks_form.keywords.data all_keywords = search_bookmarks_form.all_keywords.data deep = search_bookmarks_form.deep.data regex = search_bookmarks_form.regex.data result = {'bookmarks': []} bukudb = getattr(flask.g, 'bukudb', BukuDb()) found_bookmarks = bukudb.searchdb(keywords, all_keywords, deep, regex) found_bookmarks = [] if found_bookmarks is None else found_bookmarks page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get( get_per_page_parameter(), type=int, default=int( current_app.config.get('BUKUSERVER_PER_PAGE', views.DEFAULT_PER_PAGE)) ) res = None if request.method == 'GET': if bookmarks is not None: for bookmark in found_bookmarks: result_bookmark = { 'id': bookmark[0], 'url': bookmark[1], 'title': bookmark[2], 'tags': list([_f for _f in bookmark[3].split(',') if _f]), 'description': bookmark[4] } result['bookmarks'].append(result_bookmark) current_app.logger.debug('total bookmarks:{}'.format(len(result['bookmarks']))) if is_api_request_path: res = jsonify(result) else: pagination_total = len(result['bookmarks']) bms = list(views.chunks(result['bookmarks'], per_page)) try: result['bookmarks'] = bms[page-1] except IndexError as err: current_app.logger.debug('{}:{}, result bookmarks:{}, page:{}'.format( type(err), err, len(result['bookmarks']), page )) pagination = Pagination( page=page, total=pagination_total, per_page=per_page, search=False, record_name='bookmarks', bs_version=3 ) res = render_template( 'bukuserver/bookmarks.html', result=result, pagination=pagination, search_bookmarks_form=search_bookmarks_form, create_bookmarks_form=forms.BookmarkForm(), ) elif request.method == 'DELETE': if found_bookmarks is not None: for bookmark in found_bookmarks: result_flag = bukudb.delete_rec(bookmark[0]) if result_flag is False: res = jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, {'ContentType': 'application/json'} if res is None: res = jsonify(response.response_template['success']), status.HTTP_200_OK, {'ContentType': 'application/json'} return res
def bookmarks(): """Bookmarks.""" res = None bukudb = getattr(flask.g, 'bukudb', BukuDb()) page = request.args.get(get_page_parameter(), type=int, default=1) per_page = request.args.get( get_per_page_parameter(), type=int, default=int( current_app.config.get('BUKUSERVER_PER_PAGE', views.DEFAULT_PER_PAGE)) ) url_render_mode = current_app.config['BUKUSERVER_URL_RENDER_MODE'] create_bookmarks_form = forms.BookmarkForm() if request.method == 'GET': all_bookmarks = bukudb.get_rec_all() result = { 'bookmarks': [] } for bookmark in all_bookmarks: result_bookmark = { 'url': bookmark[1], 'title': bookmark[2], 'tags': list([_f for _f in bookmark[3].split(',') if _f]), 'description': bookmark[4] } if not request.path.startswith('/api/'): result_bookmark['id'] = bookmark[0] result['bookmarks'].append(result_bookmark) if request.path.startswith('/api/'): res = jsonify(result) else: if request.args.getlist('tag'): tags = request.args.getlist('tag') result['bookmarks'] = [ x for x in result['bookmarks'] if set(tags).issubset(set(x['tags'])) ] current_app.logger.debug('total bookmarks:{}'.format(len(result['bookmarks']))) current_app.logger.debug('per page:{}'.format(per_page)) pagination_total = len(result['bookmarks']) bms = list(views.chunks(result['bookmarks'], per_page)) try: result['bookmarks'] = bms[page-1] except IndexError as err: current_app.logger.debug('{}:{}, result bookmarks:{}, page:{}'.format( type(err), err, len(result['bookmarks']), page )) pagination = Pagination( page=page, total=pagination_total, per_page=per_page, search=False, record_name='bookmarks', bs_version=3 ) res = render_template( 'bukuserver/bookmarks.html', result=result, pagination=pagination, search_bookmarks_form=forms.SearchBookmarksForm(), create_bookmarks_form=create_bookmarks_form, url_render_mode=url_render_mode, ) elif request.method == 'POST': url_data = create_bookmarks_form.url.data result_flag = bukudb.add_rec( url_data, create_bookmarks_form.title.data, create_bookmarks_form.tags.data, create_bookmarks_form.description.data ) if request.path.startswith('/api/'): res = [ jsonify(response.response_template['success']), status.HTTP_200_OK, {'ContentType': 'application/json'} ] if result_flag != -1 else [ jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, {'ContentType': 'application/json'} ] else: bm_text = '[<a href="{0}">{0}</a>]'.format(url_data) if result_flag != -1: flash(Markup('Success creating bookmark {}.'.format(bm_text)), 'success') else: flash(Markup('Failed creating bookmark {}.'.format(bm_text)), 'danger') return redirect(url_for('bookmarks-html')) elif request.method == 'DELETE': result_flag = bukudb.cleardb() res = [ jsonify(response.response_template['success']), status.HTTP_200_OK, {'ContentType': 'application/json'} ] if result_flag else [ jsonify(response.response_template['failure']), status.HTTP_400_BAD_REQUEST, {'ContentType': 'application/json'} ] return res