forked from tanner/qotnews
add related stories (in api only)
This commit is contained in:
parent
4ec50e20cb
commit
5efc6ef2d3
|
@ -1,6 +1,4 @@
|
||||||
import json
|
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
from sqlalchemy import create_engine, Column, String, ForeignKey, Integer
|
from sqlalchemy import create_engine, Column, String, ForeignKey, Integer
|
||||||
from sqlalchemy.ext.declarative import declarative_base
|
from sqlalchemy.ext.declarative import declarative_base
|
||||||
from sqlalchemy.orm import sessionmaker
|
from sqlalchemy.orm import sessionmaker
|
||||||
|
@ -67,6 +65,13 @@ def get_story_by_ref(ref):
|
||||||
session = Session()
|
session = Session()
|
||||||
return session.query(Story).filter(Story.ref==ref).first()
|
return session.query(Story).filter(Story.ref==ref).first()
|
||||||
|
|
||||||
|
def get_stories_by_url(url):
|
||||||
|
session = Session()
|
||||||
|
return session.query(Story).\
|
||||||
|
filter(Story.title != None).\
|
||||||
|
filter(Story.meta['url'].as_string() == url).\
|
||||||
|
order_by(Story.meta['date'].desc())
|
||||||
|
|
||||||
def get_reflist():
|
def get_reflist():
|
||||||
session = Session()
|
session = Session()
|
||||||
q = session.query(Reflist).order_by(Reflist.rid.desc())
|
q = session.query(Reflist).order_by(Reflist.rid.desc())
|
||||||
|
|
|
@ -163,6 +163,8 @@ def get_sitemap_date(a):
|
||||||
return a.find('lastmod').text
|
return a.find('lastmod').text
|
||||||
if a.find('news:publication_date'):
|
if a.find('news:publication_date'):
|
||||||
return a.find('news:publication_date').text
|
return a.find('news:publication_date').text
|
||||||
|
if a.find('ns2:publication_date'):
|
||||||
|
return a.find('ns2:publication_date').text
|
||||||
return ''
|
return ''
|
||||||
|
|
||||||
class Sitemap(_Base):
|
class Sitemap(_Base):
|
||||||
|
|
|
@ -99,7 +99,9 @@ def submit():
|
||||||
def story(sid):
|
def story(sid):
|
||||||
story = database.get_story(sid)
|
story = database.get_story(sid)
|
||||||
if story:
|
if story:
|
||||||
res = Response(json.dumps({"story": story.data}))
|
related = database.get_stories_by_url(story.meta['url'])
|
||||||
|
related = [r.meta for r in related]
|
||||||
|
res = Response(json.dumps({"story": story.data, "related": related}))
|
||||||
res.headers['content-type'] = 'application/json'
|
res.headers['content-type'] = 'application/json'
|
||||||
return res
|
return res
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user