示例#1
0
def index():
    # if search, return result
    form = SearchForm()
    if form.validate_on_submit():
        productsToShow = products.get_search_products(form.search.data)
    # else, return products from selected category
    else:
        productsToShow = products.get_products()
    categories.create_categories_table()
    products.create_products_table()
    category = categories.get_category()
    mainCategories = categories.get_main_categories(0)
    subcategories = categories.get_subcategories()
    numberOfMainCategories = categories.get_number_of_main_categories()
    numberOfSubcategories = categories.get_number_of_subcategories()
    numberOfProducts = products.get_number_of_products()
    numberOfProductsOfCategory = products.get_number_of_products_of_category()
    return render_template(
        'index.html',
        form=form,
        numberOfProductsOfCategory=numberOfProductsOfCategory,
        numberOfProducts=numberOfProducts,
        products=productsToShow,
        subcategories=subcategories,
        mainCategories=mainCategories,
        numberOfMainCategories=numberOfMainCategories,
        numberOfSubcategories=numberOfSubcategories,
        category=category)
示例#2
0
def arg_products(args):
    print(
        f"\n > La oss se om vi kan finne produktene på side {args.products} i produktkatalogen..."
    )

    page = args.products
    products = get_products()
    start = (page - 1) * 20

    if page < 1 or type(page) is not int:
        print("\n > Beklager, sidetall starter fra 1 og må være et heltall")
    elif start > len(products):
        print(
            f"\n Beklager, vi har bare { math.floor(len(products) / 20)} produktsider!"
        )
    else:
        print(f"\n > Her er produktene på side {page}:\n")
        for product in products[start:start + 20]:
            print_product(product)

        if (page * 20 + 20) < len(products):
            print(
                "\n > Se flere produkter? Gå til neste produktside --products"
                +
                f" { page + 1 } (totalt { math.floor(len(products) / 20)} sider) \n"
            )
        else:
            print(f"\n > Dette var siste produktside! \n")
示例#3
0
def arg_search(args):
    print(
        f"\n > Vi skal se om vi kan finne produkt som matcher søkeordet ditt '{args.search}'..."
    )
    search = args.search
    products = get_products()

    result = [
        product for product in products
        if str(search).lower() in product["title"].lower()
        or str(search).lower() in product["description"].lower()
    ]

    if len(result) > 0:
        amount = len(result)

        print("\n > YAY! Jeg fikk " +
              (" et treff " if amount == 1 else f"{amount} treff ") +
              "med ditt søkeord '" + search + "'\n")

        for product in result:
            print_product(product)

        print(
            "\n > (Søk tok utgangspunkt produktets beskrivelse og tittel) \n")

    else:
        print(
            "\n > Beklager, jeg fant ikke noe produkt med å søke på {args.search} :("
        )
示例#4
0
def get_product_prices():
    item_prices = {}
    itemIDs = get_products()

    for itemID in itemIDs:
        item_prices[itemID] = load_obj(itemID)

    return (item_prices)
示例#5
0
文件: main.py 项目: jjestrel/lcbo-cli
def search_products(ctx, page, per_page, where, where_not, order, q, store_id):
    """
    flag: 'is_dead', 'is_discontinued', 'has_value_added_promotion', 'has_limited_time_offer', 'has_bonus_reward_miles', 'is_seasonal', 'is_vqa', 'is_ocb', 'is_kosher'

    field: 'id', 'price_in_cents', 'regular_price_in_cents', 'limited_time_offer_savings_in_cents', 'limited_time_offer_ends_on', 'bonus_reward_miles', 'bonus_reward_miles_ends_on', 'package_unit_volume_in_milliliters', 'total_package_units', 'total_package_volume_in_milliliters', 'volume_in_milliliters', 'alcohol_content', 'price_per_liter_of_alcohol_in_cents', 'price_per_liter_in_cents', 'inventory_count', 'inventory_volume_in_milliliters', 'inventory_price_in_cents', 'released_on'
    """
    result = products.get_products(access_key, page, per_page, where, where_not, order, q, store_id)
    TableWriter().output(result)
示例#6
0
def arg_all(args):
    products = get_products()

    print("\n > Jeg skal finne frem alle produktene for deg :)")
    sleep(1)

    print(f"\nHer er alle produkter ({len(products)}):")

    for product in products:
        print_product(product)

    print("\n > Det var alt! \n")
示例#7
0
def extract():
    url=request.form['url']
    if 'burlesquedesign.com/' in url:
        if 'collections/' in url:
            productsList, seo = get_products(url)
            sliceVal = len('collections/') 
            category = url[url.index('collections/')+sliceVal:]
            return render_template("category.html", category=category, productsList=productsList, url=url, seo=seo)
        elif 'products/' in url:
            productDetails, seo, relatedProducts = get_product(url)
            return render_template("product.html", productDetails=productDetails, url=url, seo=seo, relatedProducts=relatedProducts)
        else:
            return render_template("error.html")
    else:
            return render_template("error.html")
示例#8
0
def arg_id(args):
    print(
        f"\n > La oss se om vi kan finne produkt med id {args.id} i produktkatalogen..."
    )
    products = get_products()

    results = [
        product for product in products
        if product["url"] is not None and str(args.id) in product["url"]
    ]

    if len(results) > 0:
        print(f"\n > Yay - vi fant produkt med id {args.id}\n")
        for product in results:
            print_product(product)
        print("\n")
    else:
        print(f"\n > Beklager - fant ikke produkt med id {args.id}.\n")
示例#9
0
def download_prices():
    prices = {}
    productIDs = get_products()
    item_prices = {}
    lowest_download = {"time": 1000000.0, "item": "None"}
    highest_download = {"time": 0.0, "item": "None"}

    lowest_save = {"time": 1000000.0, "item": "None"}
    highest_save = {"time": 0.0, "item": "None"}


    for number, item in enumerate(productIDs):
        item_time = time.perf_counter()
        item_price = get_item_price.request(item)
        if item_price["success"] == True:
            item_prices[item] = item_price["prices"]["sell"]
            downloaded_time = time.perf_counter()
        else:
            print("Occurred Error while loading the price of {}. Errortype: {}.".format(item, item_price))
            exit()
        print(f"Got price for {item}".format(item=item))
        save_time_start = time.perf_counter()
        try: 
            save_obj(item_prices[item], item)
            prices[item] = item_prices[item]
        except KeyError:
            pass
        save_time_stop = time.perf_counter()
        
        if downloaded_time - item_time < lowest_download["time"]:
            lowest_download["time"] = downloaded_time - item_time
            lowest_download["item"] = item
        if downloaded_time - item_time > highest_download["time"]:
            highest_download["time"] = downloaded_time - item_time
            highest_download["item"] = item
        if save_time_stop - save_time_start < lowest_save["time"]:
            lowest_save["time"] = save_time_stop - save_time_start
            lowest_save["item"] = item
        if save_time_stop - save_time_start > highest_save["time"]:
            highest_save["time"] = save_time_stop - save_time_start
            highest_save["item"] = item
        
    return([number, lowest_download, highest_download, lowest_save, highest_save, prices]) 
示例#10
0
 def on_start(self):
     self._data = products.get_products()
示例#11
0
def index():
    return render_template('index.html', products=get_products())
def index():
    products = get_products()
    html = bedu_travels_template(products)
    return template(html)
示例#13
0
文件: app.py 项目: socksy/crunchdata
    raw_company = en.get_endpoint('organization/'+org)[0]
    company = en.Entity(raw_company)
    return render_template('entity.html', entity=company)

@app.route('/product/<prod>', methods=["POST"])
def product(prod):
    if prod is None:
        prod = request.form["company"]
    raw_company = en.get_endpoint('product/'+prod)[0]
    company = en.Entity(raw_company)
    return render_template('entity.html', entity=company)

@app.route('/companies')
def companies():
    return render_template('companies.html', entities=companies[:10])

@app.route('/products')
def products():
    return render_template('companies.html', entities=products[:10])

@app.route('/entity/<what>/<organization>')
def entity(what, organization):
    return json.dumps(en.get_individual_entity(what+'/'+organization))

if __name__ == "__main__":
    #companies = get_endpoint('organizations', 1, organization_types="company")
    #print(companies)
    companies = cl.get_companies()
    products = pd.get_products()
    app.run(debug=True)
示例#14
0
def home() -> str:
    response = render_template("home.html", products=get_products())
    return response
示例#15
0
def products():
    page = int(request.args.get("page", 1))
    next_page = page + 1
    return render_template("products.html",
                           products=get_products(page=page),
                           next_page=next_page)