def __init(self, test=False): """ we use this method to initialize because here it could be, that Exceptions are thrown. in __init__() we could not catch them see handle_main() to understand @param test: used in test_get_all """ self._parser = MemacsArgumentParser( prog_version=self.__prog_version, prog_version_date=self.__prog_version_date, prog_description=self.__prog_description, copyright_year=self.__copyright_year, copyright_authors=self.__copyright_authors, use_config_parser_name=self.__use_config_parser_name) # adding additional arguments from our subcass self._parser_add_arguments() # parse all arguments self._parser_parse_args() # set logging configuration handle_logging( self._args.__dict__, self._args.verbose, self._args.suppressmessages, self._args.outputfile, ) # for testing purposes it's good to see which args are secified logging.debug("args specified:") logging.debug(self._args) # if an tag is specified as argument take that tag if self._args.tag: tag = self._args.tag else: tag = self.__prog_tag # if self.__use_config_parser_name != "": self.__config_parser = ConfigParser() self.__config_parser.read(self._args.configfile) logging.debug( "cfg: %s", self.__config_parser.items(self.__use_config_parser_name)) # handling autotagging autotag_dict = self.__handle_autotagfile() # set up orgoutputwriter self._writer = OrgOutputWriter( file_name=self._args.outputfile, short_description=self.__prog_short_description, tag=tag, test=test, append=self._args.append, autotag_dict=autotag_dict, number_entries=self._args.number_entries)