UserDemographicData

class q2_sdk.hq.db.user_demographic_data.PhoneResults[source]

Bases: object

class q2_sdk.hq.db.user_demographic_data.UserDemographicData(logger, hq_credentials=None, ret_table_obj=None)[source]

Bases: DbObject

Communicates with the database using an instance of q2_sdk.models.demographic.DemographicInfo.

If calling from an extension accessed from Q2 Online, current DemographicInfo instance exists in self.online_user.as_demographic_info()

Programmatic access to the Q2 database. Not as flexible as a true ORM, but takes the guesswork out of database schemas and ensures safety in the transactions.

Parameters:
  • logger – Reference to calling request’s logger (self.logger in your extension)

  • hq_credentials (Optional[HqCredentials]) – HQ Connectivity Information (Defaults to settings file)

  • ret_table_obj (Optional[bool]) – Flag to return list of LXML elements if False or TableRow objects from DB calls if True (Defaults to settings file)

async update(login_name, demographic_info, validate_phone_numbers=False, validate_addresses=False)[source]

This stored procedure will only update demographic information once every 5 seconds

Parameters:
  • validate_phone_numbers (bool) – boolean that validates a list of phone objects

  • validate_addresses (bool) – boolean that validates a list of address objects

Return type:

HqResponse

async validate_phones(phone_list, logger, hq_credentials, cache=None)[source]
async validate_addresses(address_list, logger, hq_creds)[source]
async get(login_name)[source]

Given an online user login name, this will return a DemographicInfo object

Return type:

DemographicInfo