def __str__(self): head = "Pyaerocom {}".format(type(self).__name__) s = "\n{}\n{}".format(head, len(head) * "-") s += ('\naltitude: {}' '\ndata: {}' '\ndata_err: {}'.format(list_to_shortstr(self.altitude), list_to_shortstr(self.data), list_to_shortstr(self.data_err))) arrays = '' for k, v in self.__dict__.items(): if k.startswith('_'): continue if isinstance(v, dict) and len(v) > 0: s += "\n{} (dict)".format(k) s = dict_to_str(v, s) elif isinstance(v, list): s += "\n{} (list, {} items)".format(k, len(v)) s += list_to_shortstr(v) elif isinstance(v, np.ndarray) and v.ndim == 1: arrays += "\n{} (array, {} items)".format(k, len(v)) arrays += list_to_shortstr(v) else: s += "\n%s: %s" % (k, v) s += arrays return s
def __str__(self): head = "Pyaerocom {}".format(type(self).__name__) s = "\n{}\n{}".format(head, len(head) * "-") arrays = '' series = '' for k, v in self.items(): if k[0] == '_': continue if isinstance(v, dict): s += "\n{} ({})".format(k, type(v)) s = dict_to_str(v, s) elif isinstance(v, list): s += "\n{} (list, {} items)".format(k, len(v)) s += list_to_shortstr(v) elif isinstance(v, np.ndarray) and v.ndim == 1: arrays += "\n{} (array, {} items)".format(k, len(v)) arrays += list_to_shortstr(v) elif isinstance(v, np.ndarray): arrays += "\n{} (array, shape {})".format(k, v.shape) arrays += "\n{}".format(v) elif isinstance(v, pd.Series): series += "\n{} (Series, {} items)".format(k, len(v)) else: s += "\n%s: %s" % (k, v) if arrays: s += '\n\nData arrays\n.................' s += arrays if series: s += '\nPandas Series\n.................' s += series return s
def __str__(self): head = "Pyaerocom {}".format(type(self).__name__) s = "\n{}\n{}".format(head, len(head) * "-") plot_s = '\nPlotting settings\n......................' for k, v in self.__dict__.items(): if k in self.plot_info_keys: if v is None: continue if isinstance(v, dict): plot_s += "\n{} (dict)".format(k) plot_s = dict_to_str(v, plot_s, indent=3, ignore_null=True) elif isinstance(v, list): plot_s += "\n{} (list, {} items)".format(k, len(v)) plot_s += list_to_shortstr(v) else: plot_s += "\n%s: %s" % (k, v) else: if isinstance(v, dict): s += "\n{} (dict)".format(k) s = dict_to_str(v, s, indent=3, ignore_null=True) elif isinstance(v, list): s += "\n{} (list, {} items)".format(k, len(v)) s += list_to_shortstr(v) else: s += "\n%s: %s" % (k, v) s += plot_s return s
def __str__(self): head = "Pyaerocom {}".format(type(self).__name__) s = "\n{}\n{}\n".format(head, len(head)*"-") for k, v in self.__dict__.items(): if k.startswith('_'): pass if k=='VAR_PARAM': s += '\n{}\n{}'.format(k, list_to_shortstr(v.all_vars)) elif isinstance(v, dict): s += "\n%s (dict)" %k elif isinstance(v, list): s += "\n%s (list)" %k s += list_to_shortstr(v) else: s += "\n%s: %s" %(k, v) return s
def __str__(self): head = "Pyaerocom {}".format(type(self).__name__) s = "\n{}\n{}".format(head, len(head) * "-") arrays = '' for k, v in self.items(): if isinstance(v, dict): s += "\n{} (dict)".format(k) s = dict_to_str(v, s) elif isinstance(v, list): s += "\n{} (list, {} items)".format(k, len(v)) s += list_to_shortstr(v) elif isinstance(v, np.ndarray) and v.ndim == 1: arrays += "\n{} (array, {} items)".format(k, len(v)) arrays += list_to_shortstr(v) else: s += "\n%s: %s" % (k, v) s += arrays return s
def __str__(self): s = super(StationData, self).__str__() s_data = '' for k, v in self._data_coords.items(): if v is not None: if isinstance(v, list): s_data += "\n{} (list, {} items)".format(k, len(v)) s_data += list_to_shortstr(v) elif isinstance(v, np.ndarray) and v.ndim == 1: s_data += "\n{} (array, {} items)".format(k, len(v)) s_data += list_to_shortstr(v) elif isinstance(v, pd.Series): s_data += "\n{} (Series, {} items)".format(k, len(v)) else: s_data += "\n%s: %s" % (k, v) if s_data: s += '\n\nData coordinates\n.................' s += s_data return s
def get_file_list(self, pattern=None): """Search all files to be read Uses :attr:`_FILEMASK` (+ optional input search pattern, e.g. station_name) to find valid files for query. Parameters ---------- pattern : str, optional file name pattern applied to search Returns ------- list list containing retrieved file locations Raises ------ IOError if no files can be found """ if isinstance(pattern, str): pattern = (pattern + self._FILEMASK).replace('**', '*') else: pattern = self._FILEMASK if pattern is None: const.print_log.warning( '_FILEMASK attr. must not be None...' 'using default pattern *.* for file search') pattern = '*.*' self.logger.info('Fetching data files. This might take a while...') files = sorted(glob.glob(os.path.join(self.DATASET_PATH, pattern))) if not len(files) > 0: all_str = list_to_shortstr(os.listdir(self.DATASET_PATH)) raise DataSourceError( 'No files could be detected matching file ' 'mask {} in dataset {}, files in folder {}:\n' 'Files in folder:{}'.format(pattern, self.dataset_to_read, self.DATASET_PATH, all_str)) self.files = files return files