Esempio n. 1
0
def transport():
    """

    :param locale:
    :return:
    """
    return Transport()
class Test4:
    jobs = [Transport().car() for _ in range(5)]
    dictionary = {i: string for i, string in enumerate(jobs)}

    def test4_1(self):
        errors = []
        for key, value in self.dictionary.items():
            try:
                assert len(value.split()) >= 1
            except AssertionError:
                errors.append(f'{value} with key {key} has more than 2 words')
        assert not errors

    @pytest.mark.parametrize('a', ['Пятерка', 'Ока'])
    def test4_2(self, a):
        assert a not in self.dictionary.values()

    def test4_3(self, class_fixture):
        print(f'class fixture:{class_fixture}')
        tmp = copy.deepcopy(self.dictionary)
        assert id(tmp) != id(self.dictionary.values())

    def test4_4(self):
        assert 0 in self.dictionary.keys()

    def test4_5(self, class_fixture):
        print(f'class fixture:{class_fixture}')
        errors = []
        val = class_fixture
        try:
            assert val in self.dictionary.keys()
        except AssertionError:
            errors.append(f'{val} already exists in values')
        assert not errors
Esempio n. 3
0
 def t2(self, seed):
     return Transport(seed=seed)
Esempio n. 4
0
 def transport(self):
     return Transport()
Esempio n. 5
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 == 'address_full_address':
                mimesis_object = Address(self.parent.Locale)
                record_value = mimesis_object.address()
            if field[1].name == 'address_coordinates':
                mimesis_object = Address(self.parent.Locale)
                record_value = str(mimesis_object.coordinates())
            if field[1].name == 'address_country':
                mimesis_object = Address(self.parent.Locale)
                record_value = mimesis_object.country()
            if field[1].name == 'address_postal_code':
                mimesis_object = Address(self.parent.Locale)
                record_value = mimesis_object.postal_code()
            if field[1].name == 'code_imei':
                mimesis_object = Code(self.parent.Locale)
                record_value = mimesis_object.imei()
            if field[1].name == 'code_isbn':
                mimesis_object = Code(self.parent.Locale)
                record_value = mimesis_object.isbn()
            if field[1].name == 'code_pin':
                mimesis_object = Code(self.parent.Locale)
                record_value = mimesis_object.pin()
            if field[1].name == 'food_dish':
                mimesis_object = Food(self.parent.Locale)
                record_value = mimesis_object.dish()
            if field[1].name == 'food_fruit':
                mimesis_object = Food(self.parent.Locale)
                record_value = mimesis_object.fruit()
            if field[1].name == 'food_vegetables':
                mimesis_object = Food(self.parent.Locale)
                record_value = mimesis_object.vegetable()
            '''if field[1].name == 'game_gaming_platform':
                mimesis_object = Games(self.parent.Locale)
                record_value = mimesis_object.gaming_platform()
            if field[1].name == 'game_titles':
                mimesis_object = Games(self.parent.Locale)
                record_value = mimesis_object.game()'''
            if field[1].name == 'person_blood_type':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.blood_type()
            if field[1].name == 'person_email':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.email()
            if field[1].name == 'person_full_name':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.full_name()
            if field[1].name == 'person_nationality':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.nationality()
            if field[1].name == 'person_occupation':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.occupation()
            if field[1].name == 'person_telephone':
                mimesis_object = Person(self.parent.Locale)
                record_value = mimesis_object.telephone()
            if field[1].name == 'science_atomic_number':
                mimesis_object = Science(self.parent.Locale)
                record_value = str(mimesis_object.atomic_number())
            if field[1].name == 'science_chemical_element':
                mimesis_object = Science(self.parent.Locale)
                record_value = mimesis_object.chemical_element()
            if field[1].name == 'transport_airplane':
                mimesis_object = Transport(self.parent.Locale)
                record_value = mimesis_object.airplane()
            if field[1].name == 'transport_car':
                mimesis_object = Transport(self.parent.Locale)
                record_value = mimesis_object.car()
            if field[1].name == 'transport_truck':
                mimesis_object = Transport(self.parent.Locale)
                record_value = mimesis_object.truck()
            if field[1].name == 'transport_vehicle_reg_code':
                mimesis_object = Transport(self.parent.Locale)
                record_value = mimesis_object.vehicle_registration_code()
                #pdb.set_trace()
            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
Esempio n. 6
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 == 'address_full_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()
                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(self.Locale)
                    record_value = mimesis_object.imei()
                if field[1].name == 'code_isbn':
                    mimesis_object = Code(self.Locale)
                    record_value = mimesis_object.isbn()
                if field[1].name == 'code_pin':
                    mimesis_object = Code(self.Locale)
                    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 == 'game_gaming_platform':
                    mimesis_object = Games(self.Locale)
                    record_value = mimesis_object.gaming_platform()
                if field[1].name == 'game_titles':
                    mimesis_object = Games(self.Locale)
                    record_value = mimesis_object.game()'''
                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(self.Locale)
                    record_value = mimesis_object.airplane()
                if field[1].name == 'transport_car':
                    mimesis_object = Transport(self.Locale)
                    record_value = mimesis_object.car()
                if field[1].name == 'transport_truck':
                    mimesis_object = Transport(self.Locale)
                    record_value = mimesis_object.truck()
                if field[1].name == 'transport_vehicle_reg_code':
                    mimesis_object = Transport(self.Locale)
                    record_value = mimesis_object.vehicle_registration_code()
                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
Esempio n. 7
0
def _transport():
    return Transport()
Esempio n. 8
0
from datetime import datetime
from dateutil.relativedelta import relativedelta
import random
import csv
import pymongo
from pymongo.errors import BulkWriteError
from faker import Factory

fake_de = Factory.create('de_DE')
fake_at = Factory.create('de_AT')
fake_ch = Factory.create('de_CH')

from mimesis import Transport

transport_de = Transport(locale='de')

from sqlalchemy import create_engine
import sqlalchemy
import cx_Oracle

import logging

import pandas as pd

import os

logging.basicConfig()
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)

host = '192.168.14.200'
# -*- coding: utf-8 -*-

from datetime import datetime
from dateutil.relativedelta import relativedelta
import random
import csv
import pymongo
from pymongo.errors import BulkWriteError
from faker import Factory
fake_fr = Factory.create('fr_fr')

from mimesis import Transport
transport_de = Transport('fr')

import sys

from sqlalchemy import create_engine
import sqlalchemy
import cx_Oracle

import logging

import pandas as pd

import os

import errno

logging.basicConfig()
logging.getLogger('sqlalchemy').setLevel(logging.ERROR)
Esempio n. 10
0
 def _transports(self, seed):
     return Transport(seed=seed), Transport(seed=seed)
Esempio n. 11
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
import json
import os
import random

import jsonlines
from mimesis import Transport

import car_sharing_simulator.simulator
from car_sharing_simulator import current_path
from car_sharing_simulator.help_functions import id_generator

DATA_VEHICLES_JSON = os.getenv('DEMO_VEHICLE_PATH') or f'{current_path}/../data/vehicles.json'

transport = Transport('en')


def create_vehicle(id):
    return {
        'key': id,
        'value': {
            'id': id,
            'name': transport.car(),
            'maxRange': random.randint(100, 400)
        }
    }


if __name__ == "__main__":
    # if a status.json exists, we require matching vehicle. Otherwise, we simply generate data with random ids
    if os.path.exists(car_sharing_simulator.simulator.JSON):
        print("Found existing status data. Generate matching data...")
# -*- coding: utf-8 -*-

from datetime import datetime
from dateutil.relativedelta import relativedelta
import random
import csv
import pymongo
from pymongo.errors import BulkWriteError
from faker import Factory
fake_de = Factory.create('de_DE')
fake_at = Factory.create('de_AT')
fake_ch = Factory.create('de_CH')

from mimesis import Transport
transport_de = Transport('de')

import sys

from sqlalchemy import create_engine
import sqlalchemy
import cx_Oracle

import logging

import pandas as pd

import os

import errno

logging.basicConfig()
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