"""Vendor data generator.""" from backend.constants import vendor_field as vf class VendorGenerator(object): """Generates track seed data.""" @property def vendor_id(self): """Get tuid.""" return self._vendor_id @property def items(self): """Get items.""" return self._items.copy() def __init__(self): """Constructor.""" self._vendor_id = 0 self._items = [] def add_vendors(self, data_list): """Add vendors with a given name. Args: name (list): A list of strings, representing vendor names """ for data in data_list: vendor = self._generate_seed_dict(**data) self._items.append(vendor) def _increment_vendor_id(self): """Increment and return tuid.""" self._vendor_id += 1 def _generate_seed_dict( self, owner, name, company, status, country, is_owned, is_distributor, email): """Build vendor dict item. Args: owner (string): owner of the vendor name(string): name for the vendor status (string): the current status of the vendor (e.g. 'signed) country_id (int): vendor country id """ self._increment_vendor_id() formatted_name = name.format(status=status) return { vf.VENDOR_ID: self._vendor_id, vf.NAME: formatted_name, vf.COMPANY: company, vf.OWNER: owner, vf.COUNTRY: country, vf.STATUS: status, vf.IS_OWNED: is_owned, vf.CONTACT_EMAIL: email, vf.IS_DISTRIBUTOR: is_distributor }