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)