Skip to content

Commit e006372

Browse files
authored
Merge pull request #276 from Seluj78/new-populate-db
Rewrote part of the populate_db script for images later
2 parents e036310 + 398cc32 commit e006372

File tree

2 files changed

+20
-33
lines changed

2 files changed

+20
-33
lines changed

backend/PyMatcha/utils/populate_database.py

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22
import json
33
import os
44
import random
5-
import string
65

76
import Geohash
87
import lorem
9-
import names
108
from PyMatcha.models.tag import Tag
119
from PyMatcha.models.user import get_user
1210
from PyMatcha.models.user import User
1311
from PyMatcha.utils.errors import ConflictError
12+
from randomuser import RandomUser
1413

1514

1615
def gen_datetime(min_year: int = 1900, max_year: int = datetime.datetime.now().year) -> datetime.datetime:
@@ -25,51 +24,38 @@ def populate_users(amount=150, drop_user_table=False):
2524
if drop_user_table:
2625
User.drop_table()
2726
User.create_table()
28-
for i in range(0, amount):
27+
users = RandomUser.generate_users(amount=amount)
28+
for user in users:
2929
gender = random.choice(["male", "female", "other"])
30-
30+
if gender != "other":
31+
if gender == user.get_gender():
32+
pass
33+
else:
34+
gender = user.get_gender()
3135
orientation = random.choice(["heterosexual", "homosexual", "bisexual", "other"])
3236

33-
first_name = names.get_first_name(gender=gender if gender != "other" else None)
34-
35-
last_name = names.get_last_name()
36-
37-
password_size = random.randint(6, 14)
38-
chars = string.printable
39-
password = "".join(random.choice(chars) for i in range(password_size))
40-
4137
bio = lorem.paragraph()
4238

43-
birthdate = gen_datetime(min_year=1960, max_year=datetime.datetime.now().year - 18)
44-
45-
lat = random.random() * 2.0
46-
lng = random.random() * 2.0
47-
geohash = Geohash.encode(lat, lng)
39+
coords = user.get_coordinates()
40+
geohash = Geohash.encode(float(coords["latitude"]), float(coords["longitude"]))
4841

4942
date_joined = gen_datetime(min_year=2017, max_year=datetime.datetime.now().year)
5043

5144
date_lastseen = gen_datetime(min_year=2017, max_year=datetime.datetime.now().year)
45+
username = user.get_username()
5246

53-
middle_mail = random.choice([".", "", "_"])
54-
number = str(random.randint(0, 999))
55-
end_mail = random.choice(["", number])
56-
email = first_name + middle_mail + last_name + end_mail + "@gmail.com"
57-
58-
end_of_username = random.choice(["", number, last_name])
59-
60-
username = first_name + end_of_username
61-
47+
birthdate = datetime.datetime.strptime(user.get_dob(), "%Y-%m-%dT%H:%M:%S.%fZ").date()
6248
try:
6349
User.create(
64-
first_name=first_name,
65-
last_name=last_name,
66-
email=email.lower(),
50+
first_name=user.get_first_name(),
51+
last_name=user.get_last_name(),
52+
email=user.get_email(),
6753
username=username,
68-
password=password,
54+
password=user.get_password(),
6955
bio=bio,
7056
gender=gender,
7157
orientation=orientation,
72-
birthdate=birthdate.date(),
58+
birthdate=birthdate,
7359
geohash=geohash,
7460
heat_score=0,
7561
is_online=random.choice([True, False]),

backend/requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ flake8==3.8.3
2424
black==19.10b0
2525
pre-commit==2.7.1
2626

27-
names==0.3.0
2827
lorem==0.1.1
2928
future==0.18.2
3029
ip2geotools==0.1.5
@@ -35,4 +34,6 @@ geopy==2.0.0
3534
fuzzywuzzy==0.18.0
3635
python-Levenshtein==0.12.0
3736

38-
sentry-sdk==0.17.6
37+
sentry-sdk==0.17.6
38+
39+
randomuser==1.6

0 commit comments

Comments
 (0)