Parse gz reports

This commit is contained in:
David Baer
2020-05-22 21:59:41 -04:00
parent 9491d5d25d
commit 5ad87d6c02
3 changed files with 61 additions and 33 deletions

View File

@@ -1,6 +1,7 @@
import zope.sqlalchemy as zsqla
from sqlalchemy import Column, Integer, String, Unicode, Enum, CheckConstraint, ForeignKey, DateTime, create_engine
from sqlalchemy.orm import scoped_session, sessionmaker, relationship
from sqlalchemy import Column, Integer, String, Unicode, \
UnicodeText, Enum, CheckConstraint, ForeignKey, DateTime, create_engine
from sqlalchemy.orm import scoped_session, sessionmaker, relationship, backref
import sqlalchemy.types as satypes
import sqlalchemy.dialects.postgresql as dpg
from sqlalchemy.ext.declarative import declarative_base
@@ -60,9 +61,15 @@ class Report(DeclarativeBase):
adkim = Column(Alignment, nullable=False)
aspf = Column(Alignment, nullable=False)
p = Column(Disposition, nullable=False)
sp = Column(Disposition, nullable=False)
sp = Column(Disposition)
pct = Column(Integer, CheckConstraint('pct >= 0 AND pct <= 100'), nullable=False)
class ReportXML(DeclarativeBase):
__tablename__ = 'report_xml'
report_id = Column(Integer, ForeignKey(Report.id, onupdate='CASCADE', ondelete='CASCADE'), nullable=False, primary_key=True)
xml = Column(UnicodeText, nullable=False)
report = relationship(Report, backref=backref('original', uselist=False), uselist=False)
class ReportError(DeclarativeBase):
__tablename__ = 'report_errors'
id = Column(Integer, primary_key=True)