diff --git a/fishbook/backend/util.py b/fishbook/backend/util.py index 2ffef16..3707785 100644 --- a/fishbook/backend/util.py +++ b/fishbook/backend/util.py @@ -3,6 +3,7 @@ import numpy as np import nixio as nix import re import os +import sys import glob import datetime as dt import subprocess @@ -14,6 +15,18 @@ except AttributeError: MonkeyPatch.patch_fromisoformat() +def progress(count, total, status='', bar_len=60): + """ + modified after https://gist.github.com/vladignatyev/06860ec2040cb497f0f3 + by Vladimir Ignatev published under MIT License + """ + percents = count / total + filled_len = int(percents * bar_len) + bar = '=' * filled_len + '-' * (bar_len - filled_len) + + sys.stderr.write('[%s] %.2f%s ...%s\r' % (bar, percents * 100, '%', status)) + sys.stderr.flush() + def read_info_file(file_name): """ @@ -220,6 +233,15 @@ def read_dataset_info(info_file): def nix_metadata_to_dict(section): + """Converts a nix.Section to a dictionary. Keys are the property names, values are + always a list of values. Additional information such as unit, definition etc are discarded. + + Args: + section (nix.Section): The section + + Returns: + dict: the dictionary containing the section info. + """ info = {} for p in section.props: info[p.name] = [v.value for v in p.values] @@ -229,6 +251,16 @@ def nix_metadata_to_dict(section): def nix_metadata_to_yaml(section, cur_depth=0, val_count=1): + """Convert a section to yaml + + Args: + section ([type]): [description] + cur_depth (int, optional): [description]. Defaults to 0. + val_count (int, optional): [description]. Defaults to 1. + + Returns: + [type]: [description] + """ assert(isinstance(section, nix.section.SectionMixin)) yaml = "%s%s:\n" % ("\t" * cur_depth, section.name) for p in section.props: @@ -306,6 +338,6 @@ if __name__ == "__main__": embed() f.close() """ - dataset = "/Users/jan/zwischenlager/2012-03-23-ad" - settings = read_stimuli_file(os.path.join(dataset, "stimuli.dat")) + dataset = "/data/apteronotus/2012-03-23-ad" + settings = read_stimuli_file(dataset) embed()