|
@ -0,0 +1,31 @@ |
|
|
|
|
|
from random import randrange,randint |
|
|
|
|
|
from datetime import date,timedelta |
|
|
|
|
|
|
|
|
|
|
|
def random_date(start, end): |
|
|
|
|
|
delta = end - start |
|
|
|
|
|
return start + timedelta(seconds=randrange(delta.total_seconds())) |
|
|
|
|
|
|
|
|
|
|
|
def generate_identification_id(start_date, end_date): |
|
|
|
|
|
birthday = random_date(start_date, end_date) |
|
|
|
|
|
year = str(birthday.year)[2:] |
|
|
|
|
|
month = str(birthday.month).zfill(2) |
|
|
|
|
|
day = str(birthday.day).zfill(2) |
|
|
|
|
|
gender = str(randint(1,998)).zfill(3) |
|
|
|
|
|
millenium_baby = birthday.year > 2000 |
|
|
|
|
|
|
|
|
|
|
|
main_number = year + month + day + gender |
|
|
|
|
|
control_number = '2' + main_number if millenium_baby else main_number |
|
|
|
|
|
control_number = 97 - int(control_number) % 97 |
|
|
|
|
|
control_number = str(control_number).zfill(2) |
|
|
|
|
|
|
|
|
|
|
|
return main_number + control_number |
|
|
|
|
|
|
|
|
|
|
|
def identification_id_to_gender(identification_id): |
|
|
|
|
|
if identification_id and len(identification_id) == 11: |
|
|
|
|
|
gender = identification_id[6:9] |
|
|
|
|
|
return int(gender)%2 |
|
|
|
|
|
|
|
|
|
|
|
identification_id = generate_identification_id(date(1920,1,1), date(1995,12,31)) |
|
|
|
|
|
gender = identification_id_to_gender(identification_id) |
|
|
|
|
|
print 'Rijksregisternummer: ' + identification_id |
|
|
|
|
|
print 'Geslacht: ' + ('Man' if gender else 'Vrouw') |