__init__.py 1.26 KB
from datetime import datetime
from sqlalchemy import (
    Column,
    Integer,
    Text,
    DateTime,
    ForeignKey,
    UniqueConstraint,
    String,
    SmallInteger
    )
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm.exc import NoResultFound
from sqlalchemy.orm import (
    scoped_session,
    sessionmaker,
    relationship,
    backref
    )

from zope.sqlalchemy import ZopeTransactionExtension

from ...models import (CommonModel, DefaultModel as BaseDefaultModel,
                       Base as EisBase, DBSession as EisDBSession,
                       KodeModel as BaseKodeModel, NamaModel as BaseNamaModel)
 
TABLE_ARGS = {'extend_existing':True,
              'schema':'eis'
              }
    
class DefaultModel(BaseDefaultModel):
    def save(self):
        if self.id:
            EisDBSession.merge(self)
        else:
            EisDBSession.add(self)    
        
    @classmethod
    def query(cls):
        return EisDBSession.query(cls)

    @classmethod
    def count(cls):
        return EisDBSession.query(func.count('id')).scalar()
    
class KodeModel(DefaultModel, BaseKodeModel):
    pass
    
class NamaModel(KodeModel, BaseNamaModel):
    pass
    
from .eis import Eis, Slide, Chart, ChartItem, EisParams, ArPayment, LastUpdate