def search_commodity(): from shop import app ix = open_dir(app.config.get("INDEX_DIR")) searcher = ix.searcher() mparser = MultifieldParser(["content", "title"], schema=ix.schema) query_raw = request.args.get('q', '') if query_raw: query = mparser.parse(unicode(query_raw.lower())) results = searcher.search(query) result_id = [] for result in results: result_id.append(int(result['id'])) result_id = list(set(result_id)) wq = None for rid in result_id: if not wq: wq = Q(id=rid) else: wq |= Q(id=rid) if wq: coms = Commodity.select().where(wq) else: coms = [] else: coms = Commodity.select() category = int(request.args.get('c', '0')) if category and category != 1: coms = [c for c in coms if c.is_category(category)] return render_template('core/com_list.html', commodities=coms)
def travel_commodity(writer): commodities = Commodity.select() for com in commodities: writer.add_document(type=u"Commodity", id=unicode(com.id), title=unicode(com.name.lower()), content=unicode(com.des.lower()))
def get_new(): coms = list(Commodity.select()) result = sorted(coms, key=lambda a: a.join_date, reverse=True) if len(result) > 5: result = result[:5] return render_template('core/gallery_view.html', items=result, title="What's New", id="new")
def get_hot(): coms = list(Commodity.select()) result = sorted(coms, key=lambda a: a.order_items.count(), reverse=True) if len(result) > 5: result = result[:5] return render_template('core/gallery_view.html', items=result, title="What's Host", id="hot")
def item(item_id): commodity = Commodity.select().get(id=item_id) commodity.img_name = commodity.imgs.execute().first().name return render_template('commodity/item.html', user=g.user, commodity=commodity)
def item_comments(item_id): commodity = Commodity.select().get(id=item_id) return render_template('commodity/item_comments.html', user=g.user, commodity=commodity)
def additem(): json = request.json order = get_object_or_404(UserOrder, id=json["order"]) commodity = Commodity.select().get(id=json["commodity"]) OrderItem.create(commodity=commodity, order=order, num=json["num"], price=commodity.price) return jsonify(success=True)
def com_list(): commodities = Commodity.select().filter(**request.args) return render_template('core/com_list.html', commodities=commodities)
def recommend(): recommends = list(Commodity.select())[0:10] return render_template('core/gallery_view.html', title="Recommendation", items=recommends, id="rec")