Switch tags to use new-style templates
Getty Ritter
5 years ago
| 158 | 158 |
@app.route("/tag/<tag>/")
|
| 159 | 159 |
@main
|
| 160 | 160 |
def get_tag(tag):
|
| 161 | |
pg_num = int(flask.request.args.get("page") or 0)
|
| 162 | |
data = db.get_designs_by_tag(tag, pg_num)
|
| 163 | |
pg_min, pg_max = db.max_page_range_for_tag(tag)
|
| 161 |
page = int(flask.request.args.get("page") or 0)
|
| 162 |
data = db.get_designs_by_tag(tag, page)
|
| 164 | 163 |
pretty_tag = " ".join(w.capitalize() for w in tag.split("_"))
|
| 165 | |
return (
|
| 166 | |
pretty_tag,
|
| 167 | |
render.by_tag_list(
|
| 168 | |
tag,
|
| 169 | |
(
|
| 170 | |
render.design_tile(name, pics, 0, id)
|
| 171 | |
for name, pics, desc, cat, id in data
|
| 172 | |
),
|
| 173 | |
pg_num,
|
| 174 | |
pg_num > pg_min,
|
| 175 | |
pg_num < pg_max,
|
| 176 | |
),
|
| 177 | |
)
|
| 164 |
return (pretty_tag, Templates.design_list(data))
|
| 178 | 165 |
|
| 179 | 166 |
|
| 180 | 167 |
@app.route("/<name>/")
|
| 336 | 336 |
|
| 337 | 337 |
def get_designs_by_tag(self, tag, offset=0):
|
| 338 | 338 |
ds = self._db.query(
|
| 339 | |
"""select * from designs, tags
|
| 340 | |
where tags.tag_name = $tag
|
| 341 | |
and designs.id = tags.design_id
|
| 342 | |
order by designs.id desc
|
| 339 |
"""select d.title, d.description, d.id, c.name as cat_name,
|
| 340 |
(select filename from photos where photos.design_id = d.id limit 1) as image
|
| 341 |
from designs d, tags t, categories c
|
| 342 |
where t.tag_name = $tag
|
| 343 |
and d.id = t.design_id
|
| 344 |
and d.category = c.id
|
| 345 |
order by d.id desc
|
| 343 | 346 |
limit $per_page offset $offset""",
|
| 344 | 347 |
vars=dict(tag=tag, offset=offset * self.per_page, per_page=self.per_page),
|
| 345 | 348 |
)
|
| 346 | |
|
| 347 | |
return (
|
| 348 | |
(
|
| 349 | |
d.title,
|
| 350 | |
self.get_picture(d.design_id),
|
| 351 | |
d.description,
|
| 352 | |
self.get_category_name(d.category),
|
| 353 | |
d.design_id,
|
| 354 | |
)
|
| 355 | |
for d in ds
|
| 356 | |
)
|
| 349 |
total = self._db.query(
|
| 350 |
"""select count(*) as c from designs d, tags t
|
| 351 |
where t.tag_name = $tag and d.id = t.design_id""",
|
| 352 |
vars={"tag": tag},
|
| 353 |
)
|
| 354 |
return Paginated.paginate(offset, total[0].c, Design.list(ds))
|
| 357 | 355 |
|
| 358 | 356 |
def get_tags_for_design(self, design_id):
|
| 359 | 357 |
return [
|