def _setup_data(self):
self._zip_code_to_state = {}
with open('app_data/zipcodes.txt') as zipcodes:
reader = csv.reader(zipcodes)
for zipcode, state in reader:
self._zip_code_to_state[zipcode] = state
self._first_names = self._read_all_lines('first_names.txt')
self._middle_names = self._read_all_lines('middle_names.txt')
self._last_names = self._read_all_lines('last_names.txt')
self._city_names = self._read_all_lines('city_names.txt')
self._street_names = self._read_all_lines('street_names.txt')
measurement_specs = self._read_json('measurement_specs.json')
if app_identity.get_application_id() == 'None':
# Read CSV from a local file when running dev_appserver.
answer_specs = self._read_csv_from_file(_ANSWER_SPECS_FILE)
else:
# Read from GCS when running in Cloud environments.
answer_specs = self._read_csv_from_gcs(_ANSWER_SPECS_BUCKET, _ANSWER_SPECS_FILE)
# Save all the answer specs for questions that don't have special handling already.
self._answer_specs = {answer_spec['question_code']: answer_spec for answer_spec in answer_specs
if answer_spec['question_code'] not in _QUESTION_CODES}
# Serves as the denominator when deciding whether to answer a question.
self._answer_specs_max_participants = max([int(answer_spec['num_participants'])
for answer_spec in answer_specs])
qualifier_concepts = set()
for measurement in measurement_specs:
for qualifier in measurement['qualifiers']:
qualifier_concepts.add(Concept(qualifier['system'], qualifier['code']))
measurement_map = {Concept(measurement['code']['system'], measurement['code']['code']):
measurement for measurement in measurement_specs}
self._measurement_specs = [measurement for measurement in measurement_specs if
Concept(measurement['code']['system'], measurement['code']['code'])
not in qualifier_concepts]
self._qualifier_map = {qualifier_concept: measurement_map[qualifier_concept] for
qualifier_concept in qualifier_concepts}
fake_participant_generator.py 文件源码
python
阅读 16
收藏 0
点赞 0
评论 0
评论列表
文章目录