schmeckels/models.py
Felix Breidenstein 78a0d1a1f7 WIP
2020-10-18 15:14:52 +02:00

41 lines
1.1 KiB
Python

#! /usr/bin/env python3
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship, backref
from helper import format_amount
Base = declarative_base()
class Transaction(Base):
__tablename__ = "Transaction"
id = Column(Integer, primary_key=True)
name = Column(String)
date = Column(DateTime)
iban = Column(String)
amount = Column(Integer)
description = Column(String)
def is_positive(self):
return self.amount > 0
def pretty_amount(self):
return format_amount(self.amount)
def get_date(self, format):
if format == "iso":
return self.date.strftime("%Y-%m-%d")
elif format == "de":
return self.date.strftime("%d.%m.%Y")
else:
return "UNKNOWN FORMAT"
class Tag(Base):
__tablename__ = "Tag"
name = Column(String, primary_key=True)
description = Column(String)
transactions = relationship("Transaction", backref="tags")
def __repr__(self):
return f"<Tag {self.name}>"