loaddump_Articles

This commit is contained in:
Andreas Stephanides
2017-02-08 07:14:36 +01:00
parent e1c86cdab1
commit 0c1b586962
6 changed files with 154 additions and 19 deletions

57
load_articles.py Normal file
View File

@@ -0,0 +1,57 @@
import sys
import json
from src.articles.model import Article, FullArticleSchema
from src.database import db_session
from sqlalchemy.exc import IntegrityError
if len(sys.argv) <= 1:
raise Error("Kein Zieldateiname angegeben")
def load_article(a):
return FullArticleSchema().load(a[0]).data
def load_section(s):
return FullSectionSchema().load(s[0]).data
file = open(sys.argv[1], "r")
data=json.load(file)
articles=None
sections=None
organizations=None
if isinstace(data,dict):
if data.has_key("articles"):
articles=data["articles"]
if data.has_key("sections"):
sections=data["sections"]
else:
articles=data
articles= map (load_article, articles)
sections=map(load_section,sections)
for a in articles:
try:
db_session.add(a)
db_session.commit()
except IntegrityError:
db_session.rollback()
finally:
db_session.rollback()
for s in sections:
try:
db_session.add(s)
db_session.commit()
except IntegrityError:
db_session.rollback()
finally:
db_session.rollback()
file.close()