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.