This commit is contained in:
2014-12-24 10:36:12 -05:00
parent ed559549c2
commit d9208d0d26
-77
View File
@@ -65,83 +65,6 @@ class SessionPropertyMixin(object):
session.close()
# Reflect each database table we need to use, via schemas.
class Slugs(Base, SessionPropertyMixin):
__table__ = Table('slugs', metadata, autoload=True)
class Apps(Base, SessionPropertyMixin):
__table__ = Table('apps', metadata, autoload=True)
@classmethod
def register(cls, app, session):
# TODO: Check for existing record first.
existing = session.query(cls).filter_by(app=app).first()
if existing:
self = existing
else:
self = cls()
self.session = session
self.save()
return self
class Extracts(Base, SessionPropertyMixin):
__table__ = Table('extracts', metadata, autoload=True)
@classmethod
def register(cls, slug, session):
# TODO: Check for existing record first.
existing = session.query(cls).filter_by(slug=slug).first()
if existing:
self = existing
else:
self = cls()
self.session = session
self.slug = slug
self.updated_at = datetime.utcnow()
self.save()
return self
def mark_fail(self, failure_step, meta=None):
self.success = False
self.failure_step = failure_step
self.meta = meta
self.updated_at = datetime.utcnow()
self.save()
def extract_fail(self, language, stdout, stderr):
self.success = False
self.failure_step = 'extract'
self.language = language
if not self.meta:
self.meta = {}
self.meta['stdout'] = stdout
self.meta['stderr'] = stderr
self.updated_at = datetime.utcnow()
self.save()
def mark_success(self):
self.success = True
self.updated_at = datetime.utcnow()
self.save()
def save(self):
self.session.add(self)
self.session.commit()
class Warehouse(object):
def __init__(self, conn_str):
self.db = RealDictConnection(conn_str)