Pastebin

Paste #3156: No description

< previous paste - next paste>

Pasted by Anonymous Coward

Download View as text

------------ matching function:



    if footwear_type:
        query.options(joinedload('vendor'))
        query = query.filter_by(Footwear.product_type==footwear_type)
    return query

-----------  view:
            return render_template("searchresult.html", result=result, query=query)

------------- model product:
class Footwear(Base):
    __tablename__ = "footwear"

    id                  = db.Column(db.Integer, db.Sequence('footwear_id_seq'), primary_key=True)
    vendor_product_id   = db.Column(db.String)
    vendor_product_id_hash = db.Column(db.String)
    vendor              = db.Column(db.String, db.ForeignKey('vendor.id'))
    product_name        = db.Column(db.String)
    size_eu             = db.Column(db.Numeric(3, 1))
    mm_forefoot_height  = db.Column(db.Integer, nullable=True)
    mm_instep_height    = db.Column(db.Integer, nullable=True)
    mm_foot_length      = db.Column(db.Integer, nullable=True)
    mm_forefoot_width   = db.Column(db.Integer, nullable=True)
    mm_heel_width       = db.Column(db.Integer, nullable=True)
    product_image_url   = db.Column(db.String)
    description_en      = db.Column(db.Text, nullable=False)
    description_de      = db.Column(db.Text, nullable=True)
    description_da      = db.Column(db.Text, nullable=True)
    footwear_type       = db.Column(db.String, db.ForeignKey('footwear_type.id'))
    # Valid values are: M=male, F=Female, U=Unisex
    sex_enums           = ('M','F','U')
    sex                 = db.Column(db.Enum(*sex_enums, name="sex_enum"), nullable=False)
    # Valid values are: A=Adult, C=Children
    age_group_enums     = ('A','C')
    age_group           = db.Column(db.Enum(*age_group_enums, name="age_group_enum"), nullable=False)
    product_url         = db.Column(db.String)
    date_created        = db.Column(db.DateTime, default=datetime.datetime.utcnow)

    def __repr__(self):
        return "<Footwear(id='%s', vendor='%s', product_name='%s', vendor_product_id='%s', size_eu='%s', mm_forefoot_height='%s', mm_instep_height='%s', mm_foot_length='%s', mm_forefoot_width='%s', mm_heel_width='%s')>" % (
                self.id,
                self.vendor,
                self.product_name,
                self.vendor_product_id,
                self.size_eu,
                self.mm_forefoot_height,
                self.mm_instep_height,
                self.mm_foot_length,
                self.mm_forefoot_width,
                self.mm_heel_width
                )


------------- model vendor:
#!/usr/bin/env python
#encoding=utf8
"""Vendor model"""
from flask_sqlalchemy import SQLAlchemy

from model.meta import Base, db

class Vendor(Base):
    __tablename__ = "vendor"
    id          = db.Column(db.String, primary_key=True)
    name        = db.Column(db.String)
    data_url    = db.Column(db.String)
    data_format = db.Column(db.String)
    website_url = db.Column(db.String)
    contact_email   = db.Column(db.String)
    active      = db.Column(db.Boolean, default=True)

    footwear            = db.relationship('Footwear', backref=db.backref('footwearvendor'))

    def __repr__(self):
        return "<Vendor(id='%s', name='%s', active='%s')>" % (self.id, self.name, self.active)





------------ template:
{% extends "base.html" %}
{% block content %}
<h2>{{ gettext("Matchende fodtøj") }}</h2>

<div class="searchquery">
  {{ gettext("Nedenfor vises det fodtøj som matcher dine indtastning") }}
  <div class="debug">
    Query:
    <br />

    {% for q in query %}
    {{ q }}={{ query[q] }}
    <br />
    {% endfor %}
  </div>
</div>
<div class="results">
  {% if not result.count %}
  {{ gettext("Vi kunne desværre ikke finde noget fodtøj der matcher din indtastning. Prøv evt. igen senere.") }}
  {% endif %}
  {% for footwear in result %}
  <div class="product_list">
    <a href="/product/{{footwear.id}}"><img src="/static/product_images/{{footwear.id}}.jpg" alt="{{footwear.product_name}}" class="thumbnail" /></a>
    <a href="/product/{{footwear.id}}">
      {{footwear.vendor.name}}:
      {{footwear.product_name}}
    </a>
  </div>
  {% endfor %}
</div>

{% endblock %}

New Paste


Do not write anything in this field if you're a human.

Go to most recent paste.