mirror of
https://github.com/heyarne/berliner-winter.git
synced 2026-05-06 19:23:39 +02:00
get all articles using sqlite3
This commit is contained in:
parent
155874f689
commit
677a839012
1 changed files with 50 additions and 30 deletions
74
server.py
74
server.py
|
|
@ -1,39 +1,59 @@
|
||||||
import bottle
|
import bottle
|
||||||
from models import *
|
import sqlite3
|
||||||
|
import json
|
||||||
|
|
||||||
@bottle.get("/")
|
@bottle.get("/")
|
||||||
def index():
|
def index():
|
||||||
return bottle.template('index')
|
return bottle.template('index')
|
||||||
|
|
||||||
@bottle.get("/locations/<article_id:int>")
|
# @bottle.get("/locations/<article_id:int>")
|
||||||
def location(article_id):
|
# def location(article_id):
|
||||||
return (Location
|
# return (Location
|
||||||
.select()
|
|
||||||
.where(Location.article == article_id)
|
|
||||||
.order_by(Location.confidence.desc(), Location.id.asc())
|
|
||||||
.dicts()
|
|
||||||
.get())
|
|
||||||
|
|
||||||
@bottle.get("/categories/<article_id:int>")
|
|
||||||
def category(article_id):
|
|
||||||
categories = (Category
|
|
||||||
.select()
|
|
||||||
.where(Category.article == article_id))
|
|
||||||
|
|
||||||
return {
|
|
||||||
"article": article_id,
|
|
||||||
"categories": [c.name for c in categories]
|
|
||||||
}
|
|
||||||
|
|
||||||
@bottle.get("/articles/<article_id:int>")
|
|
||||||
def article(article_id):
|
|
||||||
# articles have a datetime field and need special serialization
|
|
||||||
# return json_util.dumps(Article
|
|
||||||
# .select()
|
# .select()
|
||||||
# .where(Article.id == article_id)
|
# .where(Location.article == article_id)
|
||||||
|
# .order_by(Location.confidence.desc(), Location.id.asc())
|
||||||
# .dicts()
|
# .dicts()
|
||||||
# .get())
|
# .get())
|
||||||
pass
|
|
||||||
|
# @bottle.get("/categories/<article_id:int>")
|
||||||
|
# def category(article_id):
|
||||||
|
# categories = (Category
|
||||||
|
# .select()
|
||||||
|
# .where(Category.article == article_id))
|
||||||
|
|
||||||
|
# return {
|
||||||
|
# "article": article_id,
|
||||||
|
# "categories": [c.name for c in categories]
|
||||||
|
# }
|
||||||
|
|
||||||
|
@bottle.get("/articles/")
|
||||||
|
def articles():
|
||||||
|
conn = sqlite3.connect('violence.db')
|
||||||
|
c = conn.cursor()
|
||||||
|
c = c.execute("""
|
||||||
|
SELECT article.id, article.date, article.place, article.description, category.name,
|
||||||
|
location.confidence, location.lat, location.lng, location.match, location.returned_place
|
||||||
|
FROM article
|
||||||
|
JOIN category ON article.id = category.article_id
|
||||||
|
JOIN location ON article.id = location.article_id
|
||||||
|
""")
|
||||||
|
|
||||||
|
articles = []
|
||||||
|
for article in c.fetchall():
|
||||||
|
articles.append({
|
||||||
|
"id": article[0],
|
||||||
|
"date": article[1],
|
||||||
|
"place": article[2],
|
||||||
|
"desc": article[3],
|
||||||
|
"cat": article[4],
|
||||||
|
"conf": article[5],
|
||||||
|
"lat": article[6],
|
||||||
|
"lng": article[7],
|
||||||
|
"match": article[8],
|
||||||
|
"returned_place": article[9]
|
||||||
|
})
|
||||||
|
conn.close()
|
||||||
|
return json.dumps(articles)
|
||||||
|
|
||||||
@bottle.get('/static/<filepath:path>')
|
@bottle.get('/static/<filepath:path>')
|
||||||
def server_static(filepath):
|
def server_static(filepath):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue