update_data
UpdateData
- Data class to store updates for the address file and maintenance file
- Using a data class here allows for greater flexibility when adding more properties later
- Other functions/modules in this package modifies/extracts the properties/fields to generate output files for internal and external data updates
UpdateData
UpdateData (note:str='', email:str='', phone1:str='', phone2:str='', street:str='', city:str='', prov:str='', pc:str='', country:str='', mfn:str='', mln:str='', sfn:str='', sln:str='', pin_fn:str='', pin_ln:str='', mdod_str:str='', mdc:str='', sdod_str:str='', sdc:str='', death_note:str='', ticket_num:str='', key:str='', cs:str='', csd_str:str='', payee_status:str='', banking:str='', mdob_str:str='', sdob_str:str='', srv:bool=False, pin_update:bool=False, rel_pin_ids:list=<factory>, pin_group:list=<factory>)
Fields
note: str = "" # full note incl ID and URL to ticket
# contact info
email: str = ""
phone1: str = ""
phone2: str = ""
street: str = ""
city: str = ""
prov: str = "" # s/b abbreviated
pc: str = ""
country: str = ""
# names
mfn: str = ""
mln: str = ""
sfn: str = ""
sln: str = ""
pin_fn: str = ""
pin_ln: str = ""
# death
mdod_str: str = ""
mdc: str = ""
sdod_str: str = ""
sdc: str = ""
# for Harmony
death_note: str = ""
ticket_num: str = ""
key: str = "" # from legacy system, before ticket #s were implemented
# current status
cs: str = ""
csd_str: str = ""
# dob
mdob_str: str = ""
sdob_str: str = ""
# PIN
payee_status: str = ""
banking: str = ""
srv: bool = False
pin_update: bool = False
rel_pin_ids: list = field(default_factory=_default_empty_list)
pin_group: list = field(default_factory=_default_empty_list)Properties
UpdateData.ee_id
UpdateData.ee_id ()
ID s/b before note. e.g, 123 - some note ... // -> str - Emp ID #1
UpdateData.harmony_url
UpdateData.harmony_url ()
-> str - url
UpdateData.update_date
UpdateData.update_date ()
-> pd.Timestamp | None // Contact info update date
UpdateData.full_prov
UpdateData.full_prov ()
-> str - full province name for address file
UpdateData.bank_inst
UpdateData.bank_inst ()
-> str - inst #
UpdateData.bank_transit
UpdateData.bank_transit ()
-> str - transit #
UpdateData.bank_acc
UpdateData.bank_acc ()
-> str - account #
UpdateData.mdod
UpdateData.mdod ()
-> pd.Timestamp | None // member DOD
UpdateData.sdod
UpdateData.sdod ()
-> pd.Timestamp | None // spouse DoD
UpdateData.csd
UpdateData.csd ()
-> pd.Timestamp | None // Date of Current Status
UpdateData.mdob
UpdateData.mdob ()
-> pd.Timestamp | None
UpdateData.sdob
UpdateData.sdob ()
-> pd.Timestamp | None
UpdateData.street1
UpdateData.street1 ()
-> str - split if c/o in street or if length exceeds 30 characters
UpdateData.street2
UpdateData.street2 ()
-> str
UpdateData.close
UpdateData.close ()
-> str - Flag if the Harmony log should be closed or re-assigned. Y == close, N == re-assign (death case)
UpdateData.comment
UpdateData.comment ()
-> str | None // For Comment column in address file
UpdateData.poa
UpdateData.poa ()
-> str | None // Member's Proof of Age on file?
UpdateData.spoa
UpdateData.spoa ()
-> str | None // Spouse’s Proof of Age on file?
UpdateData.rbp
UpdateData.rbp ()
-> bool
UpdateData.mailing_address
UpdateData.mailing_address ()
Affects PIN / maintenance files only. Flag that an address change is for the mailing columns, not residential.
UpdateData.lang
UpdateData.lang ()
e.g., [lang:E] or [lang:F] - must be E or F
UpdateData.remove_spouse
UpdateData.remove_spouse ()
-> bool
Methods
UpdateData.addNameSuffixIfDeceased
UpdateData.addNameSuffixIfDeceased ()
Add (Estate of) suffix to first name for deceased member, (died) for deceased spouse
UpdateData.setSrvFlag
UpdateData.setSrvFlag ()
Checks all associated PIN IDs for a S prefix. Modifies self.srv field if found.