diff --git a/src/data/download_participants.R b/src/data/download_participants.R index a067d08b..c5115e8f 100644 --- a/src/data/download_participants.R +++ b/src/data/download_participants.R @@ -18,6 +18,7 @@ for(id in 1:nrow(participants)){ device_id <- participants$device_id[[id]] brand <- ifelse(participants$brand[[id]] == "iPhone", "ios", "android") label <- ifelse(participants$label[[id]] == "", "EMPTY_LABEL", participants$label[[id]]) + label <- iconv(label, from = "UTF-8", to = "UTF-8", sub='') start_date <- format(as.POSIXct(participants$timestamp[[id]] / 1000, origin = "1970-01-01", tz = timezone), "%Y/%m/%d") if(!(device_id %in% ignored_device_ids)){ pid <- paste0("p", ifelse(id < 10, paste0("0", id), id)) diff --git a/src/visualization/battery_consumption_rates_barchart.py b/src/visualization/battery_consumption_rates_barchart.py index e91e6e85..55c5f064 100644 --- a/src/visualization/battery_consumption_rates_barchart.py +++ b/src/visualization/battery_consumption_rates_barchart.py @@ -18,7 +18,7 @@ def getBatteryConsumptionRatesBarChart(battery_data, pid): battery_data = pd.read_csv(snakemake.input["sensor"], parse_dates=["local_date"]) pid = snakemake.params["pid"] -with open(snakemake.input["pid_file"]) as external_file: +with open(snakemake.input["pid_file"], encoding="ISO-8859-1") as external_file: external_file_content = external_file.readlines() device_id = external_file_content[0].split(",")[-1] label = external_file_content[2] diff --git a/src/visualization/compliance_heatmap.py b/src/visualization/compliance_heatmap.py index 3d448c86..d2e37c66 100644 --- a/src/visualization/compliance_heatmap.py +++ b/src/visualization/compliance_heatmap.py @@ -27,7 +27,7 @@ def getComplianceHeatmap(dates, compliance_matrix, pid, output_path, bin_size): pid = snakemake.params["pid"] bin_size = snakemake.params["bin_size"] -with open(snakemake.input["pid_file"]) as external_file: +with open(snakemake.input["pid_file"], encoding="ISO-8859-1") as external_file: external_file_content = external_file.readlines() device_id = external_file_content[0].split(",")[-1] label = external_file_content[2] @@ -35,7 +35,7 @@ label = external_file_content[2] phone_sensed_bins = pd.read_csv(snakemake.input["sensor"], parse_dates=["local_date"], index_col="local_date") if phone_sensed_bins.empty: - empty_html = open(snakemake.output[0], "w") + empty_html = open(snakemake.output[0], "w", encoding="ISO-8859-1") empty_html.write("There is no sensor data for " + pid + "
Label: " + label + ", device_id: " + device_id) empty_html.close() else: diff --git a/src/visualization/heatmap_rows.py b/src/visualization/heatmap_rows.py index e75117cb..81148511 100644 --- a/src/visualization/heatmap_rows.py +++ b/src/visualization/heatmap_rows.py @@ -30,7 +30,7 @@ sensor_name = snakemake.params["table"] pid = snakemake.params["pid"] bin_size = snakemake.params["bin_size"] -with open(snakemake.input["pid_file"]) as external_file: +with open(snakemake.input["pid_file"], encoding="ISO-8859-1") as external_file: external_file_content = external_file.readlines() device_id = external_file_content[0].split(",")[-1] label = external_file_content[2] diff --git a/src/visualization/overall_compliance_heatmap.py b/src/visualization/overall_compliance_heatmap.py index 1a6a42ad..66450baf 100644 --- a/src/visualization/overall_compliance_heatmap.py +++ b/src/visualization/overall_compliance_heatmap.py @@ -47,7 +47,7 @@ for date_offset in range(6,-1,-1): sensors_with_data_records, valid_sensed_hours_records = [], [] for sensors_with_data_individual, valid_sensed_hours_individual, pid_file in zip(phone_sensed_bins, phone_valid_sensed_days, pid_files): - with open(pid_file) as external_file: + with open(pid_file, encoding="ISO-8859-1") as external_file: external_file_content = external_file.readlines() device_id = external_file_content[0].split(",")[-1].strip() label = external_file_content[2].strip()