get_internal_files.py 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. import pkg_resources
  2. import pandas as pd
  3. from collections import OrderedDict
  4. from .io import read_check_yml_file
  5. def get_metadata_definition():
  6. """
  7. Read and return internal metadata definition as a DataFrame with internal metadata names as indices
  8. :return: pandas.DataFrame
  9. """
  10. metadta_def_csv = pkg_resources.resource_filename('view',
  11. "flags_and_metadata_definitions/metadata_definition.csv")
  12. metadta_def_df = pd.read_csv(metadta_def_csv, index_col=0)
  13. return metadta_def_df
  14. def get_internal_flags_def():
  15. """
  16. Read and return internal flags definitions
  17. :return: pandas.DataFrame
  18. """
  19. # get the internal flag checks file depending on flags_type
  20. flags_def_XL = pkg_resources.resource_filename('view',
  21. "flags_and_metadata_definitions/view_flags_definition.csv")
  22. # read and return flag definitions
  23. return pd.read_csv(flags_def_XL, comment="#")
  24. def get_internal_fonts_dir():
  25. """
  26. Returns the path of the internal fonts directory
  27. :return: string
  28. """
  29. fonts_dir = pkg_resources.resource_filename("view", "fonts")
  30. return fonts_dir
  31. def get_internal_icons(icon_name):
  32. """
  33. Returns the internal path of an icon file if exists
  34. :param icon_name: string, name of the icon file to look for
  35. :return: string
  36. """
  37. return pkg_resources.resource_filename("view", f"graphics/icons/{icon_name}")
  38. def get_internal_jinja_template(template_name):
  39. """
  40. Returns a internal jinja template with name <template_name>
  41. :param template_name: str, name of the jinja template with extension
  42. :return: str
  43. """
  44. return pkg_resources.resource_filename("view", f"jinja_templates/{template_name}")
  45. def get_setup_info_df():
  46. """
  47. Reads the internal csv file containing information about recording setups and returns contents as a pandas DataFrame
  48. :return: pandas.DataFrame
  49. """
  50. internal_setup_info_csv = pkg_resources.resource_filename(
  51. 'view', "flags_and_metadata_definitions/setup_definitions.csv")
  52. return pd.read_csv(internal_setup_info_csv, comment="#")
  53. def get_setup_description_dict():
  54. """
  55. Returns an OrderedDict, with recording setup description strings as keys and corresponding LE_loadExp values as
  56. values
  57. :return: OrderedDict
  58. """
  59. setup_info_df = get_setup_info_df()
  60. setup_info_dict = OrderedDict()
  61. for ind, (LE_loadExp, description) in setup_info_df.iterrows():
  62. setup_info_dict[f"{description} (LE_loadExp={LE_loadExp})"] = LE_loadExp
  63. return setup_info_dict
  64. def get_gdm_doc_df():
  65. """
  66. Reads and returns pandas.Dataframe containing the descriptions of GDM columns
  67. """
  68. gdm_doc_csv = pkg_resources.resource_filename(
  69. "view", "flags_and_metadata_definitions/glodatamix_columns_doc.csv")
  70. return pd.read_csv(gdm_doc_csv)