conf.py 992 Bytes
import json

from iso8583_web.models.meta import Base
from sqlalchemy import (
    Column,
    Integer,
    String,
    Text,
    )
from sqlalchemy.ext.declarative import declarative_base


# Base = declarative_base()


class Conf(Base):
    __tablename__ = 'conf'
    id = Column(Integer, primary_key=True)
    nama = Column(String(100), unique=True)
    nilai = Column(Text)
    keterangan = Column(Text)

    def as_boolean(self):
        return self.nilai == 'true'

    def as_int(self):
        return int(self.nilai)

    def as_float(self):
        return float(self.nilai)

    def as_list(self):
        return self.nilai.split()

    def as_dict(self):
        return json.loads(self.nilai)


class QConf:
    def __init__(self, db_session):
        self.db_session = db_session

    def get(self, key):
        q = self.db_session.query(Conf).filter_by(nama=key)
        return q.first()

    def get_value(self, key):
        row = self.get(key)
        return row and row.nilai