示例#1
0
文件: generate.py 项目: zcribe/Andeas
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)
示例#2
0
def flights():
    return [
        models.Flight.objects.create(
            name=f"Flight_{i}",
            number=Random().custom_code(mask="@@ ####"),
            departure=Address().city(),
            destination=Address().city(),
            scheduled_at=Datetime().datetime(),
            expected_at=Datetime().datetime(),
            duration=Numbers().integer_number(start=1, end=100),
            fare=Numbers().float_number(start=1, end=10000, precision=2),
        ) for i in range(10)
    ]
示例#3
0
文件: generate.py 项目: zcribe/Andeas
def generate_news_items(amount):
    date = Datetime()
    text = Text()
    num = Numbers()
    code = Code()

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

    for _ in range(amount):
        fields = {}
        fields["created"] = date.datetime()
        fields["modified"] = date.datetime()
        fields["title"] = text.title()
        fields["slug"] = slugify(f"{fields['title']}-{code.ean()}")
        fields["content"] = text.text(6)
        fields["draft"] = False
        fields["category"] = random.randint(1, 3)

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

        count += 1
        items.append(single)

    with open("news.json", "w") as f:
        json.dump(items, f, cls=DjangoJSONEncoder)
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
示例#5
0
 def n2(self, seed):
     return Numbers(seed=seed)
示例#6
0
 def numbers(self):
     return Numbers()
示例#7
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.
示例#8
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):
示例#9
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
示例#10
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
示例#11
0
import cProfile
from mimesis import Person, Numbers, Food, Datetime, Code
import random

person = Person('ru')
num = Numbers()
products = Food('ru')
card_code = Code()
date_time = Datetime()

array_transaction_type = ["Cash", "Card"]
array_product_prices = []
array_orders = []
array_orders_price = []
array_clients_id = []
array_transaction_id = []

file_clients = open('clients_table.txt', 'w')
file_products = open('products_table.txt', 'w')
file_bonuscards = open('bonuscards_table.txt', 'w')
file_orders = open('orders_table.txt', 'w')
file_transactions = open('transactions_table.txt', 'w')


def create_and_shuffle_array(size, array):
    for i in range(size):
        array.append(i)
    random.shuffle(array)


#client table
示例#12
0
 def _numbers(self, seed):
     return Numbers(seed=seed), Numbers(seed=seed)
示例#13
0
def numbers():
    """

    :return:
    """
    return Numbers()
示例#14
0
def numbers():
    return Numbers()
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,
        })