Skip to content

ondrej-tucek/mockdata-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mock/fake data creator

Of course there exist another a couple projects in Python, see:

or on the web:

Advantages of this generator:

  • generating from yours data, for example emails...
  • generating files
  • generating directories

Usage:

    $ ipython run_generate.py
# run_generate.py
from random import choice

from utils.generate import *
from utils.open_save_file import *


settings = {
    'date_sep': '. ',
    'order_ymd': 'dmy'
}

data = {}
users = 'users'
data[users] = []
items = ['item1', 'item2', 'item3']

name_data = data_from_file('_females_name.txt')
surname_data = data_from_file('_surnames.txt')
website_data = data_from_file('_websites_name.txt')

for i, item in enumerate(items):
    data[item] = []
    data[item].append({
        'id': i,
        'date': generate_date(),
        'time': generate_time()
    })

for i in xrange(5):
    name = choice(name_data).strip()
    surname = choice(surname_data).strip()
    website = choice(website_data).strip()
    domain = generate_domain()

    data[users].append({
        'id': i,
        'name': name,
        'surname': surname,
        'website': 'www.'+website+'.'+domain,
        'email': name+'.'+surname+'@'+website+'.'+domain,
        'born': generate_date(settings),
        'log_dates': generate_array(
            5,
            generate_date_time,
            {'dt_sep': 'T', 'time_sep': ':'},
            'no_sort'
        )
    })

save_file(data, 'mockdata.json')

List of available functions:

Function arguments Function usage Output
generating of times
args = {
'time_sep': ':'
}
generate_time() 08-40
generate_time(args) 09:40
Default value of 'time_sep' is '-'.
generating of year, month and day as tuple
args = {
'year_from': 1950, 'year_to': 2017, 'order_ymd': 'dmy'
}
generate_year_month_day() (1983, 7, 4)
generate_year_month_day(args) (23, 11, 1932)
Default values are set up on 'year_from': 1900, 'year_to': current year, 'order_ymd': 'ymd' ('myd', 'dmy')
generating of dates
args = {
'year_from': 1950, 'year_to': 2017, 'date_sep': '/'
}
generate_date() 1966-10-17
generate_date(args) 1976/09/23
Default values are set up on 'year_from': 1900, 'year_to': current year, 'date_sep': '-'
generating of dates and times
args = {
'year_from': 1950, 'year_to': 2017, 'order_ymd': 'dmy', 'date_sep': '/', 'dt_sep': 'T', 'time_sep': ':'
}
generate_date_time() 1933-02-19--17-31
generate_date_time(args) 02/06/1993T22:08
Default values are set up on 'year_from': 1900, 'year_to': current year, 'date_sep': '-', 'dt_sep': '--', 'time_sep': '-'
generating files
number_of_files = 10
generate_func =
generate_date_time
func_args = {...}
file_format = "txt"
path_to_exist_dir =
'/temp/gen_files'
generate_files(
number_of_files, generate_func,
func_args, file_format
)
in directory 'generated_data' is 10 txt files
generate_files(
number_of_files, generate_date_time, func_args, file_format, path_to_exist_dir
)
in directory '/temp/gen_files'
is 10 txt files
Default directory for generated files is in 'generated_data'. Note: Output of generate_func has to be permissible string. 'Permissible' means what your system allows to save on your hard drive.
generating directories
number_of_dir = 10
generate_func = generate_date_time
func_args = {...}
path_to_exist_dir = '/temp/gen_dirs'
generate_directories(
number_of_dir, generate_func, func_args
)
in directory 'generated_data' is 10 txt directories
generate_directories(
number_of_dir, generate_date_time, func_args, path_to_exist_dir
)
in directory '/temp/gen_dirs' is 10 txt directories
Default directory for generated directories is in 'generated_data'. Note: Output of generate_func has to be permissible string. 'Permissible' means what your system allows to save on your hard drive.
generating of domains
None generate_domain() ya
generate_domain() oki
Function generates two-letter or three-letter server domain.
generating of emails
args = {
'name_sep': '.',
'server_domain': generate_domain(),
'names': ['_females_name.txt', '_surnames.txt', '_websites_name.txt'],
'directory_data': 'source_data/'
}
generate_email() Elvis.Wexcombe@escavalie.cj
generate_email(args) Kirstin.Westbrook@lilligant.shi
Default values are set up on 'names': [_males_name.txt', '_surnames.txt', '_websites_name.txt']
generating of websites
# list of strings
websites_data = open_file('source_data/_websites_name.txt')
OR
args = {
'websites_data': websites_data
}
generate_website() serperior.pu
generate_website(websites_data) swanna.nq
generate_website(args) eelektros.gh
data from your file
Function arguments are name of file (this file has to be saved in source_data directory) or name of file and path to your directory where is file. Each content of row (in input file ) is saved as one string element of list. data_from_file('_females_name.txt') Hannah
data_from_file('your_file.format', 'path_to_dir_data') Sienna
Default value of 'default_dir_data' is 'source_data/'.
generating array for JSON object
num_of_el = 3
generate_func = generate_date_time
sorting = ...
args = {
'dt_sep': 'T',
'time_sep': ':'
}
generate_array(
num_of_el, generate_func
)
['1987-02-09--22-35', '1974-01-22--16-52', '1963-02-05--14-53']
generate_array(
num_of_el, generate_func, 'no_sort'
)
['1986-08-27T15:13', '1967-11-14T18:25', '1918-11-12T16:16']
generate_array(
num_of_el, generate_func, 'sort_desc'
)
['1980-06-23--11-49', '1976-01-24--19-33', '1968-04-13--16-38']
generate_array(
num_of_el, generate_func, args
)
['1901-01-26T20:00', '1912-06-10T04:18', '1915-03-31T21:45']
Default value of sorting is set up on 'sort_asc' and can be 'sort_asc', 'sort_desc' or 'no_sort'.

License

MIT

About

Generator of names, emails, JSON objects and etc...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages