-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocal_json_fetch.py
More file actions
65 lines (59 loc) · 1.86 KB
/
local_json_fetch.py
File metadata and controls
65 lines (59 loc) · 1.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
from flask import Flask, jsonify
from faker import Faker
import random
import datetime
app = Flask(__name__)
fake = Faker()
def safe_fake_date(start_year=1971, end_year=2015):
while True:
dt = fake.date_time_between(start_date='-80y', end_date='-10y')
if dt.year >= start_year:
return dt
@app.route('/generate', methods=['GET'])
def generate_user():
dob = safe_fake_date()
reg = fake.date_time_between(start_date='-10y', end_date='now')
user_data = {
"cell": fake.phone_number(),
"dateOfBirth": {
"date": dob.day,
"day": dob.weekday(),
"hours": dob.hour,
"minutes": dob.minute,
"month": dob.month - 1,
"seconds": dob.second,
"time": int(dob.timestamp() * 1000),
"timezoneOffset": -60,
"year": dob.year - 1900
},
"email": fake.email(),
"gender": random.choice(["male", "female"]),
"location": {
"city": fake.city().lower(),
"postCode": fake.postcode(),
"state": fake.state().lower(),
"street": fake.street_address()
},
"name": {
"firstName": fake.first_name().lower(),
"lastName": fake.last_name().lower(),
"title": fake.prefix()
},
"nationality": fake.country_code(),
"phone": fake.phone_number(),
"picture": "...",
"registrationDate": {
"date": reg.day,
"day": reg.weekday(),
"hours": reg.hour,
"minutes": reg.minute,
"month": reg.month - 1,
"seconds": reg.second,
"time": int(reg.timestamp() * 1000),
"timezoneOffset": -60,
"year": reg.year - 1900
}
}
return jsonify(user_data)
if __name__ == '__main__':
app.run(port=4242)