Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F86600946
gen_fi.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Oct 7, 11:52
Size
3 KB
Mime Type
text/x-python
Expires
Wed, Oct 9, 11:52 (2 d)
Engine
blob
Format
Raw Data
Handle
21455298
Attached To
R11149 PDM-Nicola-Oulu
gen_fi.py
View Options
import
random
from
gen_master
import
*
class
GenDataFI
(
GenData
):
def
__init__
(
self
,
home_path
):
super
()
.
__init__
(
home_path
)
self
.
abrev
=
"fi"
self
.
keys
=
[
"surname"
,
"givenName"
,
"dateOfBirth"
,
"dateOfIssue"
,
"dateOfExpiry"
,
"sex"
,
"identityCard"
,
"nationality"
]
self
.
keys_all
=
[
"surname"
,
"givenName"
,
"dateOfBirth"
,
"dateOfIssue"
,
"dateOfExpiry"
,
"sex"
,
"identityCard"
,
"nationality"
,
"one"
,
"two"
]
self
.
schema
=
{
"surname"
:
"SUKUNIMI - EFTERNAMN"
,
"givenName"
:
"ETUNIMET - FÖRNAMN"
,
"dateOfBirth"
:
"SYNTYMÄAIKA - FÖDELSEDATUM"
,
"dateOfIssue"
:
"MYÖNNETTY - UTFÄRDAT"
,
"dateOfExpiry"
:
"VOIMASSA - GILTIGT T.O.M."
,
"nationality"
:
"KANSALAISUUS - NATIONALITET"
,
"identityCard"
:
"KORTTINUMERO - KORTNUMMER"
,
"sex"
:
"SUKUPUOLI - KÖN"
,
"one"
:
"TUNNUS - KOD"
,
"two"
:
"CAN"
}
# protected functions
def
_get_firstName
(
self
):
with
open
(
'data_fi.json'
,
'r'
)
as
fp
:
data
=
json
.
load
(
fp
)
first
=
[]
last
=
[]
for
n
in
data
[
'names'
]:
tmp
=
n
.
split
(
" "
)
# if more then 2 spaces are used, it's most likely not a name
if
len
(
tmp
)
!=
2
:
pass
else
:
if
len
(
tmp
[
0
])
>
3
:
first
.
append
(
tmp
[
0
])
if
len
(
tmp
[
1
])
>
3
:
last
.
append
(
tmp
[
1
])
return
first
def
_get_lastName
(
self
):
with
open
(
'data_fi.json'
,
'r'
)
as
fp
:
data
=
json
.
load
(
fp
)
first
=
[]
last
=
[]
for
n
in
data
[
'names'
]:
tmp
=
n
.
split
(
" "
)
# if more then 2 spaces are used, it's most likely not a name
if
len
(
tmp
)
!=
2
:
pass
else
:
if
len
(
tmp
[
0
])
>
3
:
first
.
append
(
tmp
[
0
])
if
len
(
tmp
[
1
])
>
3
:
last
.
append
(
tmp
[
1
])
return
last
def
_get_city
(
self
):
with
open
(
'data_fi.json'
,
'r'
)
as
fp
:
data
=
json
.
load
(
fp
)
locations_fi
=
data
[
'addresses'
]
city_fi
=
[]
for
x
in
locations_fi
:
tmp
=
x
.
split
(
" "
)
tmp
=
tmp
[
-
1
]
.
lower
()
tmp
=
tmp
[
0
]
.
upper
()
+
tmp
[
1
:]
city_fi
.
append
(
tmp
)
with
open
(
'data_geneva_city.json'
,
'r'
)
as
fp
:
data
=
json
.
load
(
fp
)
city_fi
+=
data
[
'region_fi'
]
return
city_fi
def
_gen_date_
(
self
,
d
,
m
,
y
):
return
self
.
_strnum
(
d
)
+
"."
+
self
.
_strnum
(
m
)
+
"."
+
self
.
_strnum
(
y
)
def
_gen_identityCard
(
self
):
return
random
.
randint
(
100000000
,
999999999
)
def
_get_answer
(
self
,
key
):
# is not yet selfconsistent : age-height; dateofIssue-dateof Expiery
if
key
==
"surname"
:
return
self
.
fake_data
[
"last name"
]
elif
key
==
"givenName"
:
return
self
.
fake_data
[
"first name"
]
elif
key
==
"dateOfBirth"
:
return
self
.
_gen_date
(
1940
,
2020
)
elif
key
==
"dateOfIssue"
:
return
self
.
_gen_date
(
2010
,
2020
)
elif
key
==
"dateOfExpiry"
:
return
self
.
_gen_date
(
2020
,
2030
)
elif
key
==
"sex"
:
return
[
"M"
,
"F"
]
elif
key
==
"identityCard"
:
return
[
self
.
_gen_identityCard
()]
elif
key
==
"nationality"
:
return
[
"FIN"
]
else
:
raise
NotImplementedError
(
"key not known"
)
Event Timeline
Log In to Comment