rapids/tools/update_format_participant_f...

37 lines
1.7 KiB
Python
Raw Normal View History

#!/usr/bin/python
from pathlib import Path
import yaml, os
import sys
p = Path(r'data/external/').glob('*')
files = [x for x in p if x.is_file() and x.suffix == "" and "." not in x.stem]
for file in files:
reader = open(file, 'r')
phone = {"DEVICES_IDS" :"", "PLATFORMS" :"", "LABEL" :"", "START_DATE" :"", "END_DATE" :""}
lines = reader.read().splitlines()
if(len(lines) >=1 and len(lines[0]) > 0):
phone["DEVICE_IDS"] = lines[0]
if(len(lines) >=2 and len(lines[1]) > 0):
phone["PLATFORMS"] = lines[1]
if(len(lines) >=3 and len(lines[2]) > 0):
phone["LABEL"] = lines[2]
if(len(lines) >=4 and len(lines[3]) > 0):
phone["START_DATE"] = lines[3].split(",")[0]
phone["END_DATE"] = lines[3].split(",")[1]
new_participant_file = Path(r'data/external/participant_files/') / (file.stem + ".yaml")
os.makedirs(os.path.dirname(new_participant_file), exist_ok=True)
with open(new_participant_file, 'w') as writer:
writer.write("PHONE:\n")
writer.write(" DEVICE_IDS: [{}]\n".format(phone["DEVICE_IDS"]))
writer.write(" PLATFORMS: [{}]\n".format(phone["PLATFORMS"]))
writer.write(" LABEL: {}\n".format(phone["LABEL"]))
writer.write(" START_DATE: {}\n".format(phone["START_DATE"]))
writer.write(" END_DATE: {}\n".format(phone["END_DATE"]))
writer.write("FITBIT:\n")
writer.write(" DEVICE_IDS: [{}]\n".format(phone["DEVICE_IDS"]))
writer.write(" LABEL: {}\n".format(phone["LABEL"]))
writer.write(" START_DATE: {}\n".format(phone["START_DATE"]))
writer.write(" END_DATE: {}\n".format(phone["END_DATE"]))
print("Processed files:")
print(list(map(str, files)))