def generateCustomer(self, c_w_id, c_d_id, c_id, badCredit, doesReplicateName): c_first = rand.astring(constants.MIN_FIRST, constants.MAX_FIRST) c_middle = constants.MIDDLE assert 1 <= c_id and c_id <= constants.CUSTOMERS_PER_DISTRICT if c_id <= 1000: c_last = rand.makeLastName(c_id - 1) else: c_last = rand.makeRandomLastName(constants.CUSTOMERS_PER_DISTRICT) c_phone = rand.nstring(constants.PHONE, constants.PHONE) c_since = datetime.now() c_credit = constants.BAD_CREDIT if badCredit else constants.GOOD_CREDIT c_credit_lim = constants.INITIAL_CREDIT_LIM c_discount = rand.fixedPoint(constants.DISCOUNT_DECIMALS, constants.MIN_DISCOUNT, constants.MAX_DISCOUNT) c_balance = constants.INITIAL_BALANCE c_ytd_payment = constants.INITIAL_YTD_PAYMENT c_payment_cnt = constants.INITIAL_PAYMENT_CNT c_delivery_cnt = constants.INITIAL_DELIVERY_CNT c_data = rand.astring(constants.MIN_C_DATA, constants.MAX_C_DATA) c_street1 = rand.astring(constants.MIN_STREET, constants.MAX_STREET) c_street2 = rand.astring(constants.MIN_STREET, constants.MAX_STREET) c_city = rand.astring(constants.MIN_CITY, constants.MAX_CITY) c_state = rand.astring(constants.STATE, constants.STATE) c_zip = self.generateZip() return [ c_id, c_d_id, c_w_id, c_first, c_middle, c_last, \ c_street1, c_street2, c_city, c_state, c_zip, \ c_phone, c_since, c_credit, c_credit_lim, c_discount, c_balance, \ c_ytd_payment, c_payment_cnt, c_delivery_cnt, c_data ]
def generateZip(self): length = constants.ZIP_LENGTH - len(constants.ZIP_SUFFIX) return rand.nstring(length, length) + constants.ZIP_SUFFIX