Of course there exist another a couple projects in Python, see:
or on the web:
- generating from yours data, for example emails...
- generating files
- generating directories
$ 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')
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'. |