Skip to content
Snippets Groups Projects
Commit 4abe3f46 authored by Henrik tom Wörden's avatar Henrik tom Wörden
Browse files

MAINT: create a real config file

parent 60ad4c36
No related branches found
No related tags found
1 merge request!5MAINT: move datamodel config to a separate file
Pipeline #60973 failed
import linkahead as db
import os
import configparser
import importlib.resources as pkg_resources
default_config_path = pkg_resources.path(__package__, 'default_config.ini')
user_config_path = os.path.expanduser('~/.linkahead_loan')
config = configparser.ConfigParser()
config.read([default_config_path, user_config_path])
rts = config['RecordTypes']
ps = config['Properties']
# RecordTypes
BOX = db.RecordType(name="Box")
PERSON = db.RecordType(name="Person")
LOAN = db.RecordType(name="Loan")
BOX = db.RecordType(name=rts['BOX'])
PERSON = db.RecordType(name=rts['PERSON'])
LOAN = db.RecordType(name=rts['LOAN'])
# Properties
FIRST_NAME = db.Property(name="firstName", datatype=db.TEXT)
LAST_NAME = db.Property(name="lastName", datatype=db.TEXT)
EMAIL = db.Property(name="email", datatype=db.TEXT)
LOCATION = db.RecordType(name="Location")
DESTINATION = db.Property(name="LoanLocation", datatype="Location")
RETURNLOCATION = db.Property(name="ReturnLocation", datatype="Location")
COMMENT = db.Property(name="comment", datatype=db.TEXT)
EXHAUST_CONTENTS = db.Property(name="exhaustContents", datatype=db.BOOLEAN)
BORROWER = db.Property(name="Borrower", datatype=PERSON.name)
CONTENT = db.Property(name="Content", datatype=db.TEXT)
LOAN_REQUESTED = db.Property(name="loanRequested", datatype=db.DATETIME)
EXPECTED_RETURN = db.Property(name="expectedReturn", datatype=db.DATETIME)
LOAN_ACCEPTED = db.Property(name="loanAccepted", datatype=db.DATETIME)
LENT = db.Property(name="lent", datatype=db.DATETIME)
RETURN_REQUESTED = db.Property(name="returnRequested", datatype=db.DATETIME)
RETURN_ACCEPTED = db.Property(name="returnAccepted", datatype=db.DATETIME)
RETURNED = db.Property(name="returned", datatype=db.DATETIME)
BOX_NUMBER = db.Property(name="Number", datatype=db.TEXT)
FIRST_NAME = db.Property(name=ps['FIRST_NAME'], datatype=db.TEXT)
LAST_NAME = db.Property(name=ps['LAST_NAME'], datatype=db.TEXT)
EMAIL = db.Property(name=ps['EMAIL'], datatype=db.TEXT)
LOCATION = db.RecordType(name=rts['LOCATION'])
DESTINATION = db.Property(name=ps['DESTINATION'], datatype=rts['LOCATION'])
RETURNLOCATION = db.Property(name=ps['RETURNLOCATION'], datatype=rts['LOCATION'])
COMMENT = db.Property(name=ps['COMMENT'], datatype=db.TEXT)
EXHAUST_CONTENTS = db.Property(name=ps['EXHAUST_CONTENTS'], datatype=db.BOOLEAN)
BORROWER = db.Property(name=ps['BORROWER'], datatype=rts['PERSON'])
CONTENT = db.Property(name=ps['CONTENT'], datatype=db.TEXT)
LOAN_REQUESTED = db.Property(name=ps['LOAN_REQUESTED'], datatype=db.DATETIME)
EXPECTED_RETURN = db.Property(name=ps['EXPECTED_RETURN'], datatype=db.DATETIME)
LOAN_ACCEPTED = db.Property(name=ps['LOAN_ACCEPTED'], datatype=db.DATETIME)
LENT = db.Property(name=ps['LENT'], datatype=db.DATETIME)
RETURN_REQUESTED = db.Property(name=ps['RETURN_REQUESTED'], datatype=db.DATETIME)
RETURN_ACCEPTED = db.Property(name=ps['RETURN_ACCEPTED'], datatype=db.DATETIME)
RETURNED = db.Property(name=ps['RETURNED'], datatype=db.DATETIME)
BOX_NUMBER = db.Property(name=ps['BOX_NUMBER'], datatype=db.TEXT)
# Other Strings
# TODO: Adapt datamodel and remove name override
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment