aboutsummaryrefslogtreecommitdiffstats
path: root/python/Dawn/utils.py
blob: 3dd0d1c5a167751ccdcd02f9e432ca5880a696ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import re
from pickle import dumps


def bump_rev(filename):
    pattern = r"([^r]*)(\srev(\d)|).pdf"
    begin, _, rev_number = re.match(pattern, filename).groups()
    rev_number = int(rev_number) + 1 if rev_number else 1
    return f"{begin} rev{rev_number}.pdf"


def simple_serialize(obj, **kwargs):
    d = {c.name: getattr(obj, c.name) for c in obj.__table__.columns}
    # add data from foreign relationship
    if obj.__table__.name == "wires":
        d.update(
            {
                "Counterparty": obj.account.counterparty,
                "cashaccount": obj.account.cash_account,
                "custodian": obj.account.custodian,
            }
        )
    d.update(kwargs)
    return dumps(d)