Пример #1
0
 def __init__(self):
     self.person = Person(locale='zh')
     self.address = Address(locale='zh')
     self.code = Code()
     self.business = Business(locale='zh')
     self.text = Text(locale='zh')
     self.datetime = Datetime(locale='zh')
     self.file = File()
     self.path = Path()
     self.internet = Internet()
     self.structure = Structure()
Пример #2
0
def generate_menu_items(amount):
    date = Datetime()
    food = Food()
    business = Business()
    text = Text()
    code = Code()
    num = Numbers()

    model = "core.menuitem"
    items = []
    count = 1

    for _ in range(amount):
        fields = {"created": date.datetime(), "modified": date.datetime(), "title": food.dish()}
        fields["slug"] = f'{fields["title"].replace(" ", "-")}-{code.issn()}'
        fields["content"] = text.quote()
        fields["price"] = num.between(1, 100)
        fields["category"] = None
        fields["draft"] = False

        single = {
            "model": model,
            "pk": count,
            "fields": fields
        }

        count += 1
        items.append(single)

    with open("menu.json", "w") as f:
        json.dump(items, f, cls=DjangoJSONEncoder)
Пример #3
0
def generate_card_info(n=2):
    res = []

    en_text = Text('en')
    en_person = Person('en')
    en_business = Business('en')

    color_choice = Choice()

    for i in range(n):
        card = {
            'title': en_text.title(),
            'author': en_person.full_name(),
            'expansion': en_text.word(),
            'type': en_text.word(),

            'colors': color_choice(items=['white', 'black', 'red', 'green', 'blue'], unique=True, length=2),

            'lore_message': en_text.quote(),
            'lore_author': en_person.full_name()


        }
        res.append(card)

    return res
Пример #4
0
def business(locale):
    """

    :param locale:
    :return:
    """
    return Business(locale)
class Company(Node):
    _business = Business()
    _address = Address()

    def __init__(self):
        self.__type = 'Company'
        self.id = uuid4()
        self.type = self._business.company_type()
        self.name = self._business.company()
        self.country = self._address.country()
Пример #6
0
def generate():
    inserts = []
    counter = 350

    business = Business('en')
    address = Address('en')
    internet = Internet('en')

    for index in range(counter, 15000, 1):
        inserts.append(
            template.substitute(id=index,
                                name=business.company().replace("'", "''"),
                                address=address.address().replace("'", "''"),
                                credit=random.randint(300, 1000000),
                                website=internet.home_page().replace(
                                    "'", "''")))

    inserts_file = open('result_scripts/customers.sql', 'w', encoding='utf-8')
    inserts_file.writelines('\n'.join(inserts))
    inserts_file.close()
Пример #7
0
def generate_menu():
    g = Food('et')
    b = Business('et')
    for _ in range(7):
        cat = MenuItemCategory()
        cat.title = g.dish()
        cat.save()
        for _ in range(10):
            m = MenuItem()
            m.title = g.dish()
            m.price = randint(2, 9)
            m.category = cat
            m.save()
Пример #8
0
class Transaction(Node):
    _datetime = Datetime()
    _business = Business()

    def __init__(self, sourceId: int, targetId: int):
        self.__type = "Transaction"
        self.source = sourceId
        self.target = targetId
        self.date = self._datetime.date(start=2000, end=2020)
        self.time = self._datetime.time()

        self.amount = random.randint(1, 10000)
        if random.random() < 0.8:
            self.currency = self._business.currency_iso_code()
        else:
            self.currency = None
Пример #9
0
class CSVData:
    def __init__(self):
        self.person = Person(locale='zh')
        self.address = Address(locale='zh')
        self.code = Code()
        self.business = Business(locale='zh')
        self.text = Text(locale='zh')
        self.datetime = Datetime(locale='zh')
        self.file = File()
        self.path = Path()
        self.internet = Internet()
        self.structure = Structure()

    def mime_data(self):
        # col1 = self.person.full_name()
        col1 = self.person.last_name() + self.person.first_name()
        col2 = self.address.city()
        col3 = self.address.street_name()
        col4 = self.address.calling_code()
        col5 = self.address.longitude()
        col6 = self.code.imei()
        col7 = self.business.company()
        col8 = self.text.hex_color()
        col9 = self.datetime.formatted_datetime()
        col10 = self.datetime.time()

        col11 = self.file.file_name()
        col12 = self.path.dev_dir()
        col13 = self.internet.ip_v4()
        col14 = self.internet.ip_v6()
        col15 = self.internet.home_page()
        col16 = self.internet.stock_image()
        col17 = self.internet.user_agent()
        col18 = self.internet.mac_address()
        col19 = self.person.email()
        col20 = self.person.telephone()

        col21 = self.code.issn()
        col22 = self.person.social_media_profile()
        col23 = self.structure.html()

        line = '\"{0}\", \"{1}\", \"{2}\", \"{3}\", {4}, \"{5}\", \"{6}\" , \"{7}\" , \"{8}\" , \"{9}\" , \"{10}\" , \"{11}\" , \"{12}\" , \"{13}\" , \"{14}\" , \"{15}\" , \"{16}\" , \"{17}\" , \"{18}\" , \"{19}\" , \"{20}\" , \"{21}\" , \"{22}\"\n'.format(
                col1, col2, col3, col4, col5, col6, col7, col8, col9, col10, col11, col12, col13, col14, col15, col16, col17, col18, col19, col20, col21, col22, col23)

        # line = "mime data"
        # print(line)
        return line
Пример #10
0
def main():
    cursor, co = db_connection('fee_test',
                               'postgres',
                               'password',
                               host='localhost')
    sql_quaries(create_table_customer, cursor)
    sql_quaries(create_table_branch, cursor)
    # print(create_table_branch)
    for i in range(1, 21):
        b = Business().company()
        sql_insert(INSERT.format(b, b), cursor)
        co.commit()
    for i in range(100):
        a = Address('en').address() + " " + Address(
            'en').zip_code() + " " + Address('en').state()
        sql_insert(INSERT_ADDRESS.format(a, random.randint(1, 20)), cursor)
        co.commit()
Пример #11
0
    def bootstrap(count):
        from mimesis import Business, Datetime

        for _ in range(count):
            title = str(_)
            city = choice(CITIES)
            category = choice(CATEGORIES)
            company = Business('en').company()
            date_published = datetime.strptime(
                Datetime('uk').date(start=2013, end=2017, fmt=''), "%d.%m.%Y")
            vacancy = {
                "title": title,
                "city": city,
                "company": company,
                "category": category,
                "date_published": date_published
            }
            db.vacancy_collection.insert(vacancy)
Пример #12
0
def generate():
    inserts = []
    counter = 330

    person = Person('en')
    business = Business('en')
    address = Address('en')
    internet = Internet('en')

    for index in range(counter, 15000, 1):
        inserts.append(template.substitute(id=index,
                                           name=person.name().replace("'", "''"),
                                           surname=person.surname().replace("'", "''"),
                                           email=person.email().replace("'", "''"),
                                           phone=person.telephone(),
                                           customer_id=random.randint(330, 14999)
                                           ))

    inserts_file = open('result_scripts/contacts.sql', 'w', encoding='utf-8')
    inserts_file.writelines('\n'.join(inserts))
    inserts_file.close()
class Transaction(Node):
    _datetime = Datetime()
    _numbers = Numbers()
    _text = Text()
    _business = Business()

    def __init__(self, sourceId, targetId):
        self.__type = 'Transaction'
        self.id = uuid4()
        self.source = sourceId
        self.target = targetId
        self.date = self._datetime.date(start=2015, end=2019)
        self.time = self._datetime.time()

        if random() < 0.05:
            self.amount = self._numbers.between(100000, 1000000)
        self.amount = npr.exponential(10)

        if random() < 0.15:
            self.currency = self._business.currency_iso_code()
        else:
            self.currency = None
Пример #14
0
from datetime import datetime as py_datetime
from datetime import timedelta

from mimesis import Address, Business, Datetime, Internet, Numbers, Person, Text, random

person = Person()
addr = Address()
number = Numbers()
business = Business()
datetime = Datetime()
internet = Internet()
random = random.Random()
text = Text()

date_format = "%Y-%m-%d"


def generate_car_data():
    return dict(registration_number=generate_car_registration_code(),
                color=generate_car_color())


def generate_car_registration_code():
    return random.custom_code(mask="@@-####")


def generate_car_color():
    return text.color()


def generate_rent_data(car_id=None):
Пример #15
0
 def _business(self):
     return Business()
Пример #16
0
def _business():
    return Business()
Пример #17
0
    def fake_cmpd(self, ps, okz, laresult, nkresult, rsresult, ocresult, tfresult):
        #### FAKE COMPANY DATA ###
        # person = Person('ru')
        # full_name = person.full_name()
        # ruspec = RussiaSpecProvider()
        # e_otch_ul = ruspec.patronymic()
        # e_name_ul, e_fam_ul = full_name.split(" ")[-2:]
        ##########################

        def morph_items(sentence): # get GENT + DATV from sentence
            arr_split = sentence.split(" ")
            datv = []
            gent = []
            for item in arr_split:
                parsed = self.morph.parse(item)[0]
                g = parsed.inflect({'gent'})
                d = parsed.inflect({'datv'})

                if g:
                    gent.append(g.word)
                    datv.append(d.word)
                else:
                    gent.append(item)
                    datv.append(item)

            gent_join = " ".join(gent)
            datv_join = " ".join(datv)

            return {'gent' : gent_join, 'datv' : datv_join}

        #check if jobtitle CEO
        try:
            codeokz = okz[0].codeokz
        except:
            codeokz = "Не указан"
        ceo = False
        if codeokz[0] == "1":
            ceo = True

        responsibledeveloper = ps[0].responsibledeveloper
        developer = "The Enfield Cycle Company Limited"
        if responsibledeveloper:
            developer = responsibledeveloper.split(",")[0]

        head = ps[0].head
        headname = ps[0].headname
        e_fam_ul, e_name_ul, e_otch_ul = 'Пушкин','Александр','Сергеевич'
        if headname:
            try:
                e_fam_ul, e_name_ul, e_otch_ul = headname.split(" ")
            except:
                e_fam_ul, e_name_ul, e_otch_ul = 'Пушкин','Александр','Сергеевич'


        e_director = 'Генеральный директор'
        e_director_gent = 'Генерального директора'
        e_director_datv = 'Генеральному директору'

        if head:
            e_director = head
            morph_item = morph_items(head)
            e_director_gent = morph_item['gent']
            e_director_datv = morph_item['datv']


        def get_init_words(attr, arr):

            init_words = [ x[attr] for x in arr]
            raw_words = []
            for sentense in init_words:
                cleared = re.sub(r'[^\w]', ' ', sentense)
                splitted = cleared.strip().split(" ")

                raw_words += splitted
            cleared_from_empty = [x.lower() for x in raw_words if not x == '']
            adjective = []
            for word in cleared_from_empty:
                init_word = self.morph.parse(word)[0]
                if init_word.tag.POS == 'ADJF':
                    adjective.append(init_word.normalized)

            if adjective == []:
                return [self.morph.parse('Новые')[0],]

            return adjective

        all_words =(
                    get_init_words('nametf', tfresult)
                    )

        def gen_depname_data(word_arr):

            randomchoise_first = word_arr[0]#random.choice(word_arr)

            first_word = randomchoise_first.inflect({'plur'}).word


            return first_word.capitalize() + ' технологии'

        business = Business('ru')
        # e_name =  business.company().replace('«', '').replace('»', '') # for fake data
        e_name = developer
        depname = gen_depname_data(all_words)
        # e_op_form = business.company_type(abbr=True) # fake data

        cheef = 'Начальник'
        cheef_name = 'Иванов'
        cheef_otch = 'Иван'
        cheef_fam = 'Петрович'
        d_cheef_datv = 'Начальнику'

        cmpd = {  'e_name' : e_name,
                  # 'e_op_form' : e_op_form,
                  'e_director' : e_director,
                  'e_fam_ul' : e_fam_ul,
                  'e_name_ul' : e_name_ul,
                  'e_otch_ul' : e_otch_ul,
                  'e_director_gent' : e_director_gent,
                  'e_director_datv' : e_director_datv,
                  'depname' : depname,
                  'cheef' : cheef,
                  'cheef_name' : cheef_name,
                  'cheef_otch' : cheef_otch,
                  'cheef_fam' : cheef_fam,
                  'd_cheef_datv' : d_cheef_datv,
                  'ceo': ceo
               }

        return cmpd
Пример #18
0
    def ii_push_record(self, in_record: object) -> bool:
        """
        Responsible for pushing records out.
        Called when an input record is being sent to the plugin.
        :param in_record: The data for the incoming record.
        :return: False if there's a downstream error, or if there's an error with the field name, otherwise True.
        """

        if not self.parent.is_initialized:
            return False

        #create the new fields
        record_value = None
        for field in enumerate(self.record_info_out):
            if field[1].name == 'number_float':
                mimesis_object = Numbers()
                record_value = str(
                    mimesis_object.float_number(end=10000, precision=6))
            if field[1].name == 'number_float_positive':
                mimesis_object = Numbers()
                record_value = str(
                    mimesis_object.float_number(start=0,
                                                end=10000,
                                                precision=6))
            if field[1].name == 'number_int':
                mimesis_object = Numbers()
                record_value = str(
                    mimesis_object.integer_number(start=-32767, end=32767))
            if field[1].name == 'number_int_positive':
                mimesis_object = Numbers()
                record_value = str(
                    mimesis_object.integer_number(start=0, end=32767))
            if field[1].name == 'address_street_address':
                mimesis_object = Address(self.Locale)
                record_value = mimesis_object.address()
            if field[1].name == 'address_coordinates':
                mimesis_object = Address(self.Locale)
                record_value = str(mimesis_object.coordinates())
            if field[1].name == 'address_country':
                mimesis_object = Address(self.Locale)
                record_value = mimesis_object.country(allow_random=True)
            if field[1].name == 'address_postal_code':
                mimesis_object = Address(self.Locale)
                record_value = mimesis_object.postal_code()
            if field[1].name == 'code_imei':
                mimesis_object = Code()
                record_value = mimesis_object.imei()
            if field[1].name == 'code_isbn':
                mimesis_object = Code()
                record_value = mimesis_object.isbn()
            if field[1].name == 'code_pin':
                mimesis_object = Code()
                record_value = mimesis_object.pin()
            if field[1].name == 'food_dish':
                mimesis_object = Food(self.Locale)
                record_value = mimesis_object.dish()
            if field[1].name == 'food_fruit':
                mimesis_object = Food(self.Locale)
                record_value = mimesis_object.fruit()
            if field[1].name == 'food_vegetables':
                mimesis_object = Food(self.Locale)
                record_value = mimesis_object.vegetable()
            if field[1].name == 'internet_url':
                mimesis_object = Internet()
                record_value = mimesis_object.home_page()
            if field[1].name == 'internet_ipv4':
                mimesis_object = Internet()
                record_value = mimesis_object.ip_v4()
            if field[1].name == 'internet_mac':
                mimesis_object = Internet()
                record_value = mimesis_object.mac_address()
            if field[1].name == 'person_blood_type':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.blood_type()
            if field[1].name == 'person_email':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.email()
            if field[1].name == 'person_full_name':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.full_name()
            if field[1].name == 'person_nationality':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.nationality()
            if field[1].name == 'person_occupation':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.occupation()
            if field[1].name == 'person_telephone':
                mimesis_object = Person(self.Locale)
                record_value = mimesis_object.telephone()
            if field[1].name == 'science_atomic_number':
                mimesis_object = Science(self.Locale)
                record_value = str(mimesis_object.atomic_number())
            if field[1].name == 'science_chemical_element':
                mimesis_object = Science(self.Locale)
                record_value = mimesis_object.chemical_element()
            if field[1].name == 'transport_airplane':
                mimesis_object = Transport()
                record_value = mimesis_object.airplane()
            if field[1].name == 'transport_car':
                mimesis_object = Transport()
                record_value = mimesis_object.car()
            if field[1].name == 'transport_truck':
                mimesis_object = Transport()
                record_value = mimesis_object.truck()
            if field[1].name == 'transport_vehicle_reg_code':
                mimesis_object = Transport()
                record_value = mimesis_object.vehicle_registration_code()
            if field[1].name == 'business_company_name':
                mimesis_object = Business()
                record_value = mimesis_object.company()
            if field[1].name == 'business_company_type':
                mimesis_object = Business()
                record_value = mimesis_object.company_type()
            if field[1].name == 'file_filename':
                mimesis_object = File()
                record_value = mimesis_object.file_name()
            if field[1].name == 'file_file_extension':
                mimesis_object = File()
                record_value = mimesis_object.extension()
            if field[1].name == 'file_mime_type':
                mimesis_object = File()
                record_value = mimesis_object.mime_type()
            if field[1].name == 'file_size':
                mimesis_object = File()
                record_value = mimesis_object.size()
            self.record_info_out[field[0]].set_from_string(
                self.record_creator, record_value)
        out_record = self.record_creator.finalize_record()
        #self.parent.output_anchor.push_record(out_record, False)
        self.record_creator.reset()

        # Copy the data from the incoming record into the outgoing record.
        self.record_creator.reset()
        self.record_copier.done_adding()
        self.record_copier.copy(self.record_creator, in_record)

        # Push the record downstream and quit if there's a downstream error.
        if not self.parent.output_anchor.push_record(out_record):
            return False

        return True
Пример #19
0
    def pi_push_all_records(self, n_record_limit: int) -> bool:
        """
        Called when a tool has no incoming data connection.
        :param n_record_limit: Set it to <0 for no limit, 0 for no records, and >0 to specify the number of records.
        :return: True for success, False for failure.
        """

        if not self.is_initialized:
            return False

        # Save a reference to the RecordInfo passed into this function in the global namespace, so we can access it later.
        record_info_out = Sdk.RecordInfo(self.alteryx_engine)

        # Adds the new field to the record.
        for field in self.column_name:
            self.output_field = record_info_out.add_field(field,
                                                          self.output_type,
                                                          size=self.field_size)

        # Lets the downstream tools know what the outgoing record metadata will look like, based on record_info_out.
        self.output_anchor.init(record_info_out)
        # Creating a new, empty record creator based on record_info_out's record layout.
        record_creator = record_info_out.construct_record_creator()

        #import pdb; pdb.set_trace()

        #sophs code:
        for record in range(self.record_limit):
            for field in enumerate(record_info_out):
                if field[1].name == 'number_float':
                    mimesis_object = Numbers()
                    record_value = str(
                        mimesis_object.float_number(end=10000, precision=6))
                if field[1].name == 'number_float_positive':
                    mimesis_object = Numbers()
                    record_value = str(
                        mimesis_object.float_number(start=0,
                                                    end=10000,
                                                    precision=6))
                if field[1].name == 'number_int':
                    mimesis_object = Numbers()
                    record_value = str(
                        mimesis_object.integer_number(start=-32767, end=32767))
                if field[1].name == 'number_int_positive':
                    mimesis_object = Numbers()
                    record_value = str(
                        mimesis_object.integer_number(start=0, end=32767))
                if field[1].name == 'address_street_address':
                    mimesis_object = Address(self.Locale)
                    record_value = mimesis_object.address()
                if field[1].name == 'address_coordinates':
                    mimesis_object = Address(self.Locale)
                    record_value = str(mimesis_object.coordinates())
                if field[1].name == 'address_country':
                    mimesis_object = Address(self.Locale)
                    record_value = mimesis_object.country(allow_random=True)
                if field[1].name == 'address_postal_code':
                    mimesis_object = Address(self.Locale)
                    record_value = mimesis_object.postal_code()
                if field[1].name == 'code_imei':
                    mimesis_object = Code()
                    record_value = mimesis_object.imei()
                if field[1].name == 'code_isbn':
                    mimesis_object = Code()
                    record_value = mimesis_object.isbn()
                if field[1].name == 'code_pin':
                    mimesis_object = Code()
                    record_value = mimesis_object.pin()
                if field[1].name == 'food_dish':
                    mimesis_object = Food(self.Locale)
                    record_value = mimesis_object.dish()
                if field[1].name == 'food_fruit':
                    mimesis_object = Food(self.Locale)
                    record_value = mimesis_object.fruit()
                if field[1].name == 'food_vegetables':
                    mimesis_object = Food(self.Locale)
                    record_value = mimesis_object.vegetable()
                if field[1].name == 'internet_url':
                    mimesis_object = Internet()
                    record_value = mimesis_object.home_page()
                if field[1].name == 'internet_ipv4':
                    mimesis_object = Internet()
                    record_value = mimesis_object.ip_v4()
                if field[1].name == 'internet_mac':
                    mimesis_object = Internet()
                    record_value = mimesis_object.mac_address()
                if field[1].name == 'person_blood_type':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.blood_type()
                if field[1].name == 'person_email':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.email()
                if field[1].name == 'person_full_name':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.full_name()
                if field[1].name == 'person_nationality':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.nationality()
                if field[1].name == 'person_occupation':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.occupation()
                if field[1].name == 'person_telephone':
                    mimesis_object = Person(self.Locale)
                    record_value = mimesis_object.telephone()
                if field[1].name == 'science_atomic_number':
                    mimesis_object = Science(self.Locale)
                    record_value = str(mimesis_object.atomic_number())
                if field[1].name == 'science_chemical_element':
                    mimesis_object = Science(self.Locale)
                    record_value = mimesis_object.chemical_element()
                if field[1].name == 'transport_airplane':
                    mimesis_object = Transport()
                    record_value = mimesis_object.airplane()
                if field[1].name == 'transport_car':
                    mimesis_object = Transport()
                    record_value = mimesis_object.car()
                if field[1].name == 'transport_truck':
                    mimesis_object = Transport()
                    record_value = mimesis_object.truck()
                if field[1].name == 'transport_vehicle_reg_code':
                    mimesis_object = Transport()
                    record_value = mimesis_object.vehicle_registration_code()
                if field[1].name == 'business_company_name':
                    mimesis_object = Business()
                    record_value = mimesis_object.company()
                if field[1].name == 'business_company_type':
                    mimesis_object = Business()
                    record_value = mimesis_object.company_type()
                if field[1].name == 'file_filename':
                    mimesis_object = File()
                    record_value = mimesis_object.file_name()
                if field[1].name == 'file_file_extension':
                    mimesis_object = File()
                    record_value = mimesis_object.extension()
                if field[1].name == 'file_mime_type':
                    mimesis_object = File()
                    record_value = mimesis_object.mime_type()
                if field[1].name == 'file_size':
                    mimesis_object = File()
                    record_value = mimesis_object.size()
                record_info_out[field[0]].set_from_string(
                    record_creator, record_value)
            out_record = record_creator.finalize_record()
            self.output_anchor.push_record(out_record, False)
            record_creator.reset()

        # Make sure that the output anchor is closed.
        self.output_anchor.close()
        return True
def generatorStr(columns, numbOfEl): # двумерный массив: название столбца, тип
   arrDictGenerator = []
    strNew = []
    for j in range(0, numbOfEl):
        dictGenerator = {}
        marqModel = ['', '']
        for i in range(1, len(columns)):
            if columns[i][0] == 'sex':
                if 'sex' not in dictGenerator:
                    data = generatorGender()
                    dictGenerator[i] = data
            if columns[i][0] == 'last_name':
                if 'sex' in dictGenerator:
                    gender = dictGenerator.get('sex')
                else:
                    gender = generatorGender()
                    dictGenerator['sex'] = gender
                dictGenerator['last_name'] = generatorLastName(gender)
                    
            if columns[i][0] == 'first_name':
                if 'sex' in dictGenerator:
                    gender = dictGenerator.get('sex')
                else:
                    gender = generatorGender()
                    dictGenerator['sex'] = gender
                dictGenerator['first_name'] = generatorFirstName(gender)
                
            if columns[i][0] == ('OGRN'):
                r = rsp()
                data = r.ogrn()
                dictGenerator['OGRN'] = data
            
            if columns[i][0] == 'marque' and 'model' not in dictGenerator:
                dictGenerator['marque'] = '0'
            elif columns[i][0] == 'marque' and 'model' in dictGenerator and marqModel == ['', '']:
                tr = Transport()
                carStr = tr.car()
                carArr = carStr.split(' ')
                dictGenerator['marque'] = carArr[0]
                marqModel[0] = carArr[0]
                if len(carArr) > 2:
                    strCar = ''
                    for i in range(1, len(carArr)):
                        strCar += str(i)
                    marqModel[1] = strCar
                elif len(carArr) < 2:
                    marqModel[1] = ''
                else:
                    marqModel[1] = carArr[1]
            elif columns[i][0] == 'marque' and 'model' in dictGenerator and marqModel != ['','']:
                dictGenerator['marque'] = marqModel[0]
                                
            if columns[i][0] == 'model' and 'marque' not in dictGenerator:
                dictGenerator['model'] = '0'
            elif columns[i][0] == 'model' and 'marque' in dictGenerator and marqModel == ['','']:
                tr = Transport()
                carStr = tr.car()
                carArr = carStr.split(' ')
                marqModel[0] = carArr[0]
                if len(carArr) > 2:
                    strCar = ''
                    for i in range(1, len(carArr)):
                        strCar += str(i)
                    marqModel[1] = strCar
                elif len(carArr) < 2:
                    marqModel[1] = ''
                else:
                    marqModel[1] = carArr[1]
                dictGenerator['model'] = marqModel[1]
                if dictGenerator['marque'] == '0':
                    dictGenerator['marque'] = marqModel[0]
            elif columns[i][0] == 'model' and 'marque' in dictGenerator and marqModel != ['','']:
                if dictGenerator['marque'] == '0':
                    dictGenerator['marque'] = marqModel[0]
                dictGenerator['model'] = marqModel[1]
                
            if columns[i][0] == 'name':
                comp = Business()
                dictGenerator['name'] = comp.company()
            
            if columns[i][0] == 'deal_date':
                dictGenerator['deal_date'] = generatorDate()
            
            if columns[i][0] == 'city':
                addr = Address()
                dictGenerator['city'] = addr.city()

            if columns[i][0] == 'transmission':
                dictGenerator['transmission'] = generatorTrans()
            
            if columns[i][0] == 'engine':
                dictGenerator['engine'] = generatorEngine()

            if columns[i][0] == 'color':
                dictGenerator['color'] = generatorColor()
            
            if columns[i][0] == 'VIN':
                vin = generatorVIN()
                dictGenerator['VIN'] = vin

            if columns[i][0] == 'kilometrage':
                dictGenerator[columns[i][0]] = random.randrange(5000, 150000, 5000)

            if columns[i][0] == 'salary':
                dictGenerator[columns[i][0]] = random.randrange(1000, 6000, 100)

            if columns[i][0] == 'power':
                dictGenerator[columns[i][0]] = random.randrange(130, 220, 10)

            if columns[i][0] == 'price':
                dictGenerator[columns[i][0]] = random.randrange(1300, 40000, 1000)

            if columns[i][1] == 'int' and columns[i][0] not in dictGenerator:
                dictGenerator[columns[i][0]] = 0

            if columns[i][1] == 'tinyint':
                dictGenerator[columns[i][0]] = 0
            
            if columns[i][1] == 'varchar(255)' and columns[i][0] not in dictGenerator:
                colstr = ''
                for j in (0, 12):
                    colstr += random.choice(string.ascii_letters)
                dictGenerator[columns[i][0]] = colstr
        arrDictGenerator.append(dictGenerator)
        #print(dictGenerator)        
    return arrDictGenerator
Пример #21
0
# 自定义名字pattern
templates = ['l-d', 'U-d']
for item in templates:
    print(person.username(template=item))

print('\n')

print('#' * 5 + '地址' + '#' * 5)
address = Address('zh')
print(address.coordinates())
print(address.city())
print('\n')

print('#' * 5 + '地址' + '#' * 5)
business = Business('zh')
print(business.company())
print(business.company_type())
print('\n')

print('#' * 5 + '支付' + '#' * 5)
payment = Payment('zh')
print(payment.paypal())
print(payment.credit_card_expiration_date())
print('\n')

print('#' * 5 + '文字' + '#' * 5)
text = Text('zh')
print(text.alphabet())
print(text.answer())
print(text.quote())
Пример #22
0
def _generate_organization_data(locale='ru') -> dict:
    business = Business(locale)
    return {
        'id': uuid.uuid4(),
        'name': business.company(),
    }
Пример #23
0
    def new_data_contragent(self, role, type_company):
        bik = ["044525225", "044525187", "044525593"]

        extra = (b.RussiaSpecProvider, )
        data_company = Field(locales.RU, providers=extra)

        new_user = {
            "login":
            Person(locales.RU).username(),
            "password":
            "******",
            "user_mail":
            Person(locales.RU).email(),
            "first_name_user":
            Person(locales.RU).name(Gender.MALE),
            "last_name_user":
            Person(locales.RU).last_name(Gender.MALE),
            "job_user":
            Person('ru').occupation(),
            "user_phone":
            Person('ru').telephone('8##########'),
            "resident":
            1,
            "role":
            role,
            "type_company":
            type_company,
            "name_company":
            Business(locales.RU).company_type() + ' \"' +
            Business(locales.RU).company() + '\"',
            "name_IP":
            "Индивидуальный предприниматель " +
            Person('ru').full_name(Gender.MALE),
            "inn":
            data_company('inn'),
            "kpp":
            data_company('kpp'),
            "ogrn":
            data_company('ogrn'),
            "general_email":
            Person(locales.EN).email(),
            "general_phone":
            Person('ru').telephone('7##########'),
            "index":
            Address('ru').postal_code(),
            "region":
            "Москва",
            "city":
            Address('ru').city(),
            "street":
            Address('ru').street_suffix() + " " + Address('ru').street_name(),
            "house":
            Address('ru').street_number(),
            "last_name":
            Person(locales.RU).last_name(Gender.FEMALE),
            "first_name":
            Person(locales.RU).name(Gender.FEMALE),
            "middle_name":
            Person(locales.RU).name(Gender.FEMALE),
            "job":
            Person('ru').occupation(),
            "bank_account":
            "30101810400000000225",
            "bik":
            bik[random.randint(0, 2)]
        }

        return new_user
Пример #24
0
    def new_data_contragent_SNG(self, role, type_company):
        extra = (b.RussiaSpecProvider, )
        data_company = Field(locales.RU, providers=extra)

        new_user_SNG = {
            "login":
            Person(locales.RU).username(),
            "password":
            "******",
            "user_mail":
            Person(locales.RU).email(),
            "first_name_user":
            Person(locales.RU).name(Gender.MALE),
            "last_name_user":
            Person(locales.RU).last_name(Gender.MALE),
            "job_user":
            Person('ru').occupation(),
            "user_phone":
            Person('ru').telephone('8##########'),
            "resident":
            2,
            "role":
            role,
            "type_company":
            type_company,
            "name_company":
            Business(locales.RU).company_type() + ' \"' +
            Business(locales.RU).company() + '\"',
            "register_number":
            data_company('kpp'),
            "tin":
            data_company('snils'),
            "inn":
            data_company('inn'),
            "general_email":
            Person(locales.EN).email(),
            "general_phone":
            Person('ru').telephone('7##########'),
            "country":
            "Беларусь",
            "index":
            Address('ru').postal_code(),
            "region":
            "Минск",
            "city":
            Address('ru').city(),
            "street":
            Address('ru').street_suffix() + " " + Address('ru').street_name(),
            "house":
            Address('ru').street_number(),
            "last_name":
            Person(locales.RU).last_name(Gender.FEMALE),
            "first_name":
            Person(locales.RU).name(Gender.FEMALE),
            "middle_name":
            Person(locales.RU).name(Gender.FEMALE),
            "job":
            Person('ru').occupation(),
            "bank_account":
            Code().imei(),
            "iban":
            Code().ean(),
            "bank_name":
            "Sberbank_Belarus",
            "bank_swift":
            "SABRRUMM"
        }

        return new_user_SNG
def createData(num):
    # authors
    for i in range(random.randint(num // 4, num * 4)):
        authors.append({"name": Person().full_name()})

    # publisher
    for i in range(random.randint(num // 4, num * 4)):
        publisher.append({"name": Business().company()})

    # tag
    for i in range(random.randint(num // 4, num * 4)):
        tags.append({"value": Text().word()})

    # users
    for i in range(random.randint(num // 4, num)):
        users.append({
            "name": Person().full_name(),
            "password": Person().password(),
            "username": Person().username(),
            "email": Person().email(),
            "usertype": random.choice(ut),
        })

    # messages
    for i in range(random.randint(num // 2, num * 8)):
        messages.append({
            "text":
            Text().sentence(),
            "user_id":
            Numbers().between(minimum=1, maximum=len(users)),
            "timestamp":
            Datetime().datetime(start=2016, end=2018)
        })

    # books
    for i in range(random.randint(num // 4, num * 4)):
        if random.random() < 0.4:
            books.append({
                "pages":
                Numbers().between(minimum=100, maximum=1000),
                "title":
                Text().quote(),
                "year":
                Datetime().year(minimum=2013, maximum=2018),
                "isbn":
                Code().isbn(),
                "adddate":
                Datetime().date(start=2013, end=2018),
                # "issuetime": "NULL",
                "publisher_id":
                Numbers().between(minimum=1, maximum=len(publisher)),
                # "user_id": "NULL"
            })
        else:
            opendate = Datetime().year(minimum=2013, maximum=2018)
            adddate = Datetime().date(start=opendate, end=2018)
            books.append({
                "pages":
                Numbers().between(minimum=100, maximum=1000),
                "title":
                Text().quote(),
                "year":
                opendate,
                "isbn":
                Code().isbn(),
                "adddate":
                adddate,
                "issuetime":
                Datetime().datetime(start=adddate.year, end=2018),
                "publisher_id":
                Numbers().between(minimum=1, maximum=len(publisher)),
                "user_id":
                Numbers().between(minimum=1, maximum=len(users))
            })

    # Periodical
    for i in range(random.randint(num // 4, num * 4)):
        if random.random() < 0.4:
            periodicals.append({
                "title":
                Text().quote(),
                "year":
                Datetime().year(minimum=2013, maximum=2018),
                "isbn":
                Code().isbn(),
                "adddate":
                Datetime().date(start=2013, end=2018),
                # "issuetime": "NULL",
                "publisher_id":
                Numbers().between(minimum=1, maximum=len(publisher)),
                # "user_id": "NULL",
                "volume":
                Numbers().between(minimum=1, maximum=10)
            })
        else:
            opendate = Datetime().year(minimum=2013, maximum=2018)
            adddate = Datetime().date(start=opendate, end=2018)
            periodicals.append({
                "title":
                Text().quote(),
                "year":
                opendate,
                "isbn":
                Code().isbn(),
                "adddate":
                adddate,
                "issuetime":
                Datetime().datetime(start=adddate.year, end=2018),
                "publisher_id":
                Numbers().between(minimum=1, maximum=len(publisher)),
                "user_id":
                Numbers().between(minimum=1, maximum=len(users)),
                "volume":
                Numbers().between(minimum=1, maximum=10)
            })

    # papers
    for i in range(random.randint(num // 4, num * 2)):
        papers.append({
            "name":
            Text().quote(),
            "periodical_id":
            Numbers().between(minimum=1, maximum=len(periodicals))
        })

    # book author
    for i in range(len(books)):
        bookauthor.append({
            "book_id":
            i + 1,
            "author_id":
            Numbers().between(minimum=1, maximum=len(authors))
        })

    # paper author
    for i in range(len(papers)):
        authorpaper.append({
            "paper_id":
            i + 1,
            "author_id":
            Numbers().between(minimum=1, maximum=len(authors))
        })

    # book tag
    for i in range(len(books)):
        booktag.append({
            "book_id":
            i + 1,
            "tag_id":
            Numbers().between(minimum=1, maximum=len(tags))
        })

    # periodical tag
    for i in range(len(periodicals)):
        periodicaltag.append({
            "periodical_id":
            i + 1,
            "tag_id":
            Numbers().between(minimum=1, maximum=len(tags))
        })

    # book history tag
    for i in range(random.randint(num, num * 4)):
        boid = Numbers().between(minimum=1, maximum=len(books))
        issd = Datetime().date(start=books[boid - 1]["adddate"].year, end=2018)
        retd = Datetime().date(start=issd.year, end=2018)
        bhistory.append({
            "issuedate":
            issd,
            "returndate":
            retd,
            "book_id":
            boid,
            "user_id":
            Numbers().between(minimum=1, maximum=len(users)),
        })

    # periodical history tag
    for i in range(random.randint(num, num * 4)):
        boid = Numbers().between(minimum=1, maximum=len(periodicals))
        issd = Datetime().date(start=periodicals[boid - 1]["adddate"].year,
                               end=2018)
        retd = Datetime().date(start=issd.year, end=2018)
        phistory.append({
            "issuedate":
            issd,
            "returndate":
            retd,
            "periodical_id":
            boid,
            "user_id":
            Numbers().between(minimum=1, maximum=len(users)),
        })

    temp = ['Students', 'Faculty', 'Staff', 'Guest']
    mb = [3, 6, 4, 2]
    md = [15, 30, 30, 7]
    for i in range(4):
        capacity.append({
            "usertype": temp[i],
            "maxbooks": mb[i],
            "maxdays": md[i],
        })

    # discipline
    for i in range(len(books)):
        discipline.append({
            "discipline": Text().word(),
            "book_id": i + 1,
        })
Пример #26
0
 def b2(self, seed):
     return Business(seed=seed)
Пример #27
0
def getting_started_example():
    generic = Generic()
    #generic = Generic(locales.EN)

    print('Month =', generic.datetime.month())
    print('Datetime =',
          generic.datetime.datetime(start=1900, end=2035,
                                    timezone=None))  # Type: datetime.datetime.
    print('IMEI =', generic.code.imei())
    print('Fruit =', generic.food.fruit())
    print('RNA =', generic.science.rna_sequence())

    print('Word =', generic.text.word())

    with generic.text.override_locale(locales.FR):
        print('Word =', generic.text.word())

    print('Word =', generic.text.word())

    generic = Generic('en')
    generic.add_provider(USASpecProvider)

    print('SSN =', generic.usa_provider.ssn())
    #print('CPF =', generic.usa_provider.cpf())  # AttributeError: 'USASpecProvider' object has no attribute 'cpf'.

    generic = Generic('pt-br')
    #generic = Generic(locales.PT_BR)
    generic.add_provider(BrazilSpecProvider)

    #print('SSN =', generic.brazil_provider.ssn())  # AttributeError: 'BrazilSpecProvider' object has no attribute 'ssn'.
    print('CPF =', generic.brazil_provider.cpf())

    #--------------------
    numbers = Numbers()

    print('Numbers =', numbers.between())  # Type: int.
    print('Numbers =', numbers.between(10, 10000000000000000))  # Type: int.

    #--------------------
    person = Person(locales.KO)

    print('Full name =', person.full_name(gender=Gender.FEMALE))
    print('Full name =', person.full_name(gender=Gender.MALE, reverse=True))

    with person.override_locale(locales.RU):
        print('Full name =', person.full_name())

    print('Full name =', person.full_name())
    print('Telephone =', person.telephone())
    print('Telephone =', person.telephone(mask='(###)-###-####'))
    print('Identifier =', person.identifier())
    print('Identifier =', person.identifier(mask='######-#######'))

    #--------------------
    de = Address('de')
    ru = Address('ru')

    print('Region =', de.region())
    print('Federal subject =', ru.federal_subject())
    print('Address =', de.address())
    print('Address =', ru.address())

    ko = Address('ko')

    print('Address =', ko.province(), ko.city(), ko.address())
    print('Zip code =', ko.zip_code())

    #--------------------
    business = Business('ko')

    #print('Price =', business.price(minimum=1.0, maximum=1000000000.0))  # Type: str.
    #print('Price =', business.price(minimum=1.0, maximum=1000000000.0)[:-2])  # Type: str.
    print('Price =',
          business.price(minimum=1.0, maximum=1000000000.0)[:-5])  # Type: str.

    #--------------------
    payment = Payment()

    print('Credit card =',
          payment.credit_card_number(card_type=None))  # Type: str.
Пример #28
0
 def _businesses(self, seed):
     return Business(seed=seed), Business(seed=seed)