def search(request): q = "" per_page = 20 page = 1 page_results = None all_items_count = 0 paginator = "" if "q" in request.GET: form = SearchForm(request.GET, request=request) if form.is_valid(): if 'page' in request.GET: page = request.GET["page"] else: page = 1 pages = paginate(page, per_page) q = form.cleaned_data["q"] results = SearchQuerySet().models(SellerItem).auto_query(q) page_results = results[pages["from"]: pages["to"]] url = "/search?q=" + q + "&page=" all_items_count = len(results) paginator = pagination_string(all_items_count, int(page), per_page, url) return render_to_response( 'search/search_home.html', context_instance=RequestContext(request, {"results": page_results, "q": q, "paginator": paginator, "total_results": all_items_count}))
def fetch_content(query_text, column, text_column, page, sources=None): session = g.session tsq = build_tsquery(query_text) search = None if column == db.WebPages.title: query = session \ .query(db.WebPages, func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq))) \ .filter( \ func.to_tsvector("english", column).match(tsq, postgresql_regconfig='english') \ ) \ .order_by(func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq)).desc()) elif column == db.WebPages.tsv_content: query = session \ .query(db.WebPages, func.ts_rank_cd(column, func.to_tsquery(tsq))) \ .filter( column.match(tsq) ) if "'" in query_text or '"' in query_text: search = query_text.replace("!", " ").replace("?", " ").replace( "'", " ").replace('"', " ").replace(',', " ").replace('.', " ").strip() while " " in search: search = search.replace(" ", " ") search = search.strip() search = '%{}%'.format(search.lower()) query = query.filter(func.lower(text_column).like(search)) query = query.order_by( func.ts_rank_cd(column, func.to_tsquery(tsq)).desc()) if sources: query = query.filter(db.WebPages.netloc.in_(sources)) else: raise ValueError("Wat?") print(str(query.statement.compile(dialect=postgresql.dialect()))) print("param: '%s', '%s', '%s'" % (tsq, sources, search)) try: entries = paginate(query, page, per_page=50) except sqlalchemy.exc.ProgrammingError: traceback.print_exc() print("ProgrammingError - Rolling back!") g.session.rollback() raise except sqlalchemy.exc.InternalError: traceback.print_exc() print("InternalError - Rolling back!") g.session.rollback() raise except sqlalchemy.exc.OperationalError: traceback.print_exc() print("InternalError - Rolling back!") g.session.rollback() raise return entries
def album_photos(request): """ Ajax request handler to display album photos """ page = int(request.GET["page"]) count = int(request.GET["show"]) pages = paginate(page, count) album_id = request.GET["album_id"] album_photos = {} album_photos["data"] = [] if album_id == "frattiest_week": total_count = 10 query_object = AlbumImage.objects.all().order_by( 'votes', 'album__created_date')[:10] else: album = Album.objects.get(pk=int(album_id)) total_count = AlbumImage.objects.filter(album=album).count() query_object = AlbumImage.objects.filter( album=album).order_by('-id')[pages["from"]:pages["to"]] album_photos["data"] = serialize_photos(query_object) album_photos["total_count"] = total_count album_photos["album_name"] = album.name return HttpResponse(simplejson.dumps(album_photos), mimetype="application/json")
def album_photos(request): """ Ajax request handler to display album photos """ page = int(request.GET["page"]) count = int(request.GET["show"]) pages = paginate(page, count) album_id = request.GET["album_id"] album_photos = {} album_photos["data"] = [] if album_id == "frattiest_week": total_count = 10 query_object = AlbumImage.objects.all().order_by( 'votes', 'album__created_date')[:10] else: album = Album.objects.get(pk=int(album_id)) total_count = AlbumImage.objects.filter(album=album).count() query_object = AlbumImage.objects.filter(album=album).order_by('-id')[ pages["from"]:pages["to"]] album_photos["data"] = serialize_photos(query_object) album_photos["total_count"] = total_count album_photos["album_name"] = album.name return HttpResponse(simplejson.dumps(album_photos), mimetype="application/json")
def get_adv_parameters(request, page, campaign): per_page = 20 pages = paginate(page, per_page) paginator = ajax_pagination_string(len(campaign.ads), int(page),per_page, "App.Ad.get_adv_page") advs = Ad.objects(id__in=campaign.ads)[pages["from"]:pages["to"]] params = {"advs" : advs, "adv_paginator" : paginator} return params
def fetch_content(query_text, column, text_column, page, sources=None): session = g.session tsq = build_tsquery(query_text) search = None if column == db.WebPages.title: query = session \ .query(db.WebPages, func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq))) \ .filter( \ func.to_tsvector("english", column).match(tsq, postgresql_regconfig='english') \ ) \ .order_by(func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq)).desc()) elif column == db.WebPages.tsv_content: query = session \ .query(db.WebPages, func.ts_rank_cd(column, func.to_tsquery(tsq))) \ .filter( column.match(tsq) ) if "'" in query_text or '"' in query_text: search = query_text.replace("!", " ").replace("?", " ").replace("'", " ").replace('"', " ").replace(',', " ").replace('.', " ").strip() while " " in search: search = search.replace(" ", " ") search = search.strip() search = '%{}%'.format(search.lower()) query = query.filter( func.lower(text_column).like(search) ) query = query.order_by(func.ts_rank_cd(column, func.to_tsquery(tsq)).desc()) if sources: query = query.filter(db.WebPages.netloc.in_(sources)) else: raise ValueError("Wat?") print(str(query.statement.compile(dialect=postgresql.dialect()))) print("param: '%s', '%s', '%s'" % (tsq, sources, search)) try: entries = paginate(query, page, per_page=50) except sqlalchemy.exc.ProgrammingError: traceback.print_exc() print("ProgrammingError - Rolling back!") g.session.rollback() raise except sqlalchemy.exc.InternalError: traceback.print_exc() print("InternalError - Rolling back!") g.session.rollback() raise except sqlalchemy.exc.OperationalError: traceback.print_exc() print("InternalError - Rolling back!") g.session.rollback() raise return entries
def list_post(request, page): per_page = 20 pages = paginate(page, per_page) all_posts_count = Post.objects.all().count() posts = Post.objects.all()[pages["from"] : pages["to"]] url = "/page/list/post/" paginator = pagination_string(all_posts_count, int(page), per_page, url) return render_to_response("cms/post_list.html", context_instance = RequestContext\ (request, {"posts" : posts, "paginator" : paginator, "extra_path" : settings.BASE_URL_PATH}))
def news_type_page(request,post_type,page): page = int(page) per_page = 20 pages = paginate(page, per_page) stream_news = StreamPost().get_news_type(pages, post_type) count = StreamPost.objects(post_type=post_type).count() paginator = pagination_string(count, page, per_page, "/news/type/"+post_type+"/") return render_to_response("news/news_home.html", context_instance=RequestContext\ (request, {"stream_news":stream_news, "paginator":paginator}))
def renderFeedsSourceTable(source, page=1): feeds = g.session.query(db.RssFeedPost) \ .filter(db.RssFeedPost.srcname == source) \ .order_by(desc(db.RssFeedPost.published)) if feeds is None: flash('No feeds? Something is /probably/ broken!.') return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader="Source = '%s'" % source, sequence_item=feed_entries, page=page)
def renderFeedsSourceTable(source, page=1): feeds = g.session.query(db.FeedItems) \ .filter(db.FeedItems.srcname == source) \ .order_by(desc(db.FeedItems.published)) if feeds is None: flash(gettext('No feeds? Something is /probably/ broken!.')) return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader = "Source = '%s'" % source, sequence_item = feed_entries, page = page )
def fetch_content(query_text, column, page, sources=None): session = db.get_session() tsq = build_tsquery(query_text) if column == db.WebPages.title: query = session \ .query(db.WebPages, func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq))) \ .filter( \ func.to_tsvector("english", column).match(tsq, postgresql_regconfig='english') \ ) \ .order_by(func.ts_rank_cd(func.to_tsvector("english", column), func.to_tsquery(tsq)).desc()) elif column == db.WebPages.tsv_content: query = session \ .query(db.WebPages, func.ts_rank_cd(column, func.to_tsquery(tsq))) \ .filter( column.match(tsq) ) \ .order_by(func.ts_rank_cd(column, func.to_tsquery(tsq)).desc()) if sources: query = query.filter(db.WebPages.netloc.in_(sources)) else: raise ValueError("Wat?") # print(str(query.statement.compile(dialect=postgresql.dialect()))) # print("param: '%s'" % tsq) try: entries = paginate(query, page, per_page=50) except sqlalchemy.exc.ProgrammingError: traceback.print_exc() print("ProgrammingError - Rolling back!") db.get_session().rollback() raise except sqlalchemy.exc.InternalError: traceback.print_exc() print("InternalError - Rolling back!") db.get_session().rollback() raise except sqlalchemy.exc.OperationalError: traceback.print_exc() print("InternalError - Rolling back!") db.get_session().rollback() raise return entries
def renderFeedsTagTable(tag, page=1): query = g.session.query(db.RssFeedPost) # query = query.join(db.Tags) query = query.filter(db.RssFeedPost.tags.contains(tag)) query = query.order_by(desc(db.RssFeedPost.published)) feeds = query if feeds is None: flash('No feeds? Something is /probably/ broken!.') return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader="Tag = '%s'" % tag, sequence_item=feed_entries, page=page)
def renderFeedsTable(page=1): feeds = g.session.query(db.RssFeedPost) \ .order_by(desc(db.RssFeedPost.published)) feeds = feeds.options(joinedload('tag_rel')) feeds = feeds.options(joinedload('author_rel')) if feeds is None: flash('No feeds? Something is /probably/ broken!.') return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader="", sequence_item=feed_entries, page=page)
def renderFeedsTagTable(tag, page=1): query = g.session.query(db.FeedItems) # query = query.join(db.Tags) query = query.filter(db.FeedItems.tags.contains(tag)) query = query.order_by(desc(db.FeedItems.published)) feeds = query if feeds is None: flash(gettext('No feeds? Something is /probably/ broken!.')) return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader = "Tag = '%s'" % tag, sequence_item = feed_entries, page = page )
def search_album(request): page = 1 count = 20 q = "" if "page" in request.GET: page = int(request.GET["page"]) if "show" in request.GET: count = int(request.GET["show"]) if "q" in request.GET: q = request.GET["q"] pages = paginate(page, count) query_object = Album.objects.filter(name__icontains=q)[pages["from"]:pages["to"]] albums = {} albums["data"] = serialize_album(query_object) albums["total_count"] = Album.objects.count() return HttpResponse(simplejson.dumps(albums), mimetype="application/json")
def search_album(request): page = 1 count = 20 q = "" if "page" in request.GET: page = int(request.GET["page"]) if "show" in request.GET: count = int(request.GET["show"]) if "q" in request.GET: q = request.GET["q"] pages = paginate(page, count) query_object = Album.objects.filter( name__icontains=q)[pages["from"]:pages["to"]] albums = {} albums["data"] = serialize_album(query_object) albums["total_count"] = Album.objects.count() return HttpResponse(simplejson.dumps(albums), mimetype="application/json")
def item_list_page(request, page): response = reply_object() list_items = {} try: per_page = 20 pages = paginate(page, per_page) all_items_count = Item.objects.all().count() items = Item.objects.all()[pages["from"] : pages["to"]] url = "#/item/list/" paginator = pagination_string(all_items_count, int(page), per_page, url) page = render_to_string("item_list.html", {"item_list" : items, "paginator" : paginator}) response["code"] = settings.APP_CODE["PAGE LOADED"] response["page"] = page except: response["code"] = settings.APP_CODE["SYSTEM ERROR"] response["page"] = "An error has occured while loading this page" return HttpResponse(simplejson.dumps(response))
def list_post(request, page): response = reply_object() try: page = int(page) per_page = 20 pages = paginate(page, per_page) model_object = StreamPost stream_posts = get_mongo_objects_list(request, model_object, pages) paginator = pagination_string(len(stream_posts), page, per_page, "#/news/list/post") page = render_to_string("news/stream_post_list.html", {"stream_posts":stream_posts, "paginator" : paginator, "object_type" : "stream_post"}) response["code"] = settings.APP_CODE["PAGE LOADED"] response["page"] = page except: response["code"] = settings.APP_CODE["SYSTEM ERROR"] return HttpResponse(simplejson.dumps(response))
def renderFeedsTable(page=1): feeds = g.session.query(db.FeedItems) \ .order_by(desc(db.FeedItems.published)) feeds = feeds.options(joinedload('tag_rel')) feeds = feeds.options(joinedload('author_rel')) if feeds is None: flash(gettext('No feeds? Something is /probably/ broken!.')) return redirect(url_for('renderFeedsTable')) feed_entries = paginate(feeds, page, app.config['FEED_ITEMS_PER_PAGE']) return render_template('rss-pages/feeds.html', subheader = "", sequence_item = feed_entries, page = page )
def list_campaigns(request, page): response = reply_object() try: per_page = 20 pages = paginate(page, per_page) camp_obj = Campaign() paginator = pagination_string(camp_obj.count(request.user.id), int(page), per_page, "#/list/adv/") campaigns = camp_obj.my_campaigns(request.user.id, pages["from"], pages["to"]) page = render_to_string("campaigns.html", {"campaigns" : campaigns, "paginator" : paginator}) response["code"] = settings.APP_CODE["PAGE LOADED"] response["page"] = page except: response["code"] = settings.APP_CODE["SYSTEM ERROR"] return HttpResponse(simplejson.dumps(response))