def process_args(self, arg_list=None, func_args=None, func_kwargs=None, update_cls_args=True): method_name='process_args' arg_list = item_to_list(arg_list) if arg_list else self.__func_args_list cls_args = func_args is None cls_kwargs = func_kwargs is None func_args, func_kwargs = self.__get_args_and_kwargs(func_args, func_kwargs) arg_error = '' if not func_args: return func_args, func_kwargs for i in range(0, len(arg_list)): if len(func_args) is 0: break arg = arg_list[i] if arg in func_kwargs and not self.__override_kwargs: formats = (caller_name(return_string=True), arg) raise TypeError("Anknotes.Args: %s() got multiple arguments for keyword argument '%s'" % formats) func_kwargs[arg] = func_args[0] del func_args[0] else: if self.__require_all_args: arg_error = 'least' if func_args and self.__limit_max_args: arg_error = 'most' if arg_error: formats = (caller_name(return_string=True), arg_error, len(arg_list), '' if arg_list is 1 else 's', len(func_args)) raise TypeError('Anknotes.Args: %s() takes at %s %d argument%s (%d given)' % formats) if cls_args and update_cls_args: self.__func_args = func_args if cls_kwargs and update_cls_args: self.__func_kwargs = func_kwargs return func_args, func_kwargs
def __init__(self, base_path=None, default_filename=None, rm_path=False, no_base_path=None, **kwargs): self.defaults = kwargs if no_base_path and not default_filename: default_filename = no_base_path self.default_filename = default_filename if base_path: self.base_path = base_path elif not no_base_path: self.caller_info = caller_name() if self.caller_info: self.base_path = create_log_filename(self.caller_info.Base) + os.path.sep if rm_path: rm_log_path(self.base_path)
def get_log_full_path(filename=None, extension='log', as_url_link=False, prefix='', filter_disabled=True, **kwargs): global _log_filename_history logging_base_name = FILES.LOGS.BASE_NAME filename_suffix = '' if filename and filename.startswith('*'): filename_suffix = '\\' + filename[1:] logging_base_name = '' filename = None if filename is None: if FILES.LOGS.USE_CALLER_NAME: caller = caller_name() if caller: filename = caller.Base.replace('.', '\\') if filename is None: filename = _log_filename_history[ -1] if _log_filename_history else FILES.LOGS.ACTIVE if not filename: filename = logging_base_name if not filename: filename = FILES.LOGS.DEFAULT_NAME else: if filename[0] is '+': filename = filename[1:] filename = (logging_base_name + '-' if logging_base_name and logging_base_name[-1] != '\\' else '') + filename filename += filename_suffix if filename and filename.endswith(os.path.sep): filename += 'main' filename = re.sub(r'[^\w\-_\.\\]', '_', filename) if filter_disabled and not filter_logs(filename): return False filename += ('.' if filename and filename[-1] is not '.' else '') + extension full_path = os.path.join(FOLDERS.LOGS, filename) if prefix: parent, fn = os.path.split(full_path) if fn != '.' + extension: fn = '-' + fn full_path = os.path.join(parent, prefix + fn) full_path = os.path.abspath(full_path) if not os.path.exists(os.path.dirname(full_path)): os.makedirs(os.path.dirname(full_path)) if as_url_link: return convert_filename_to_local_link(full_path) return full_path
def __init__(self, base_path=None, default_filename=None, rm_path=False, no_base_path=None, **kwargs): self.defaults = kwargs if no_base_path and not default_filename: default_filename = no_base_path self.default_filename = default_filename if base_path: self.base_path = base_path elif not no_base_path: self.caller_info = caller_name() if self.caller_info: self.base_path = create_log_filename( self.caller_info.Base) + os.path.sep if rm_path: rm_log_path(self.base_path)
def get_log_full_path(filename=None, extension='log', as_url_link=False, prefix='', filter_disabled=True, **kwargs): global _log_filename_history logging_base_name = FILES.LOGS.BASE_NAME filename_suffix = '' if filename and filename.startswith('*'): filename_suffix = '\\' + filename[1:] logging_base_name = '' filename = None if filename is None: if FILES.LOGS.USE_CALLER_NAME: caller = caller_name() if caller: filename = caller.Base.replace('.', '\\') if filename is None: filename = _log_filename_history[-1] if _log_filename_history else FILES.LOGS.ACTIVE if not filename: filename = logging_base_name if not filename: filename = FILES.LOGS.DEFAULT_NAME else: if filename[0] is '+': filename = filename[1:] filename = (logging_base_name + '-' if logging_base_name and logging_base_name[-1] != '\\' else '') + filename filename += filename_suffix if filename and filename.endswith(os.path.sep): filename += 'main' filename = re.sub(r'[^\w\-_\.\\]', '_', filename) if filter_disabled and not filter_logs(filename): return False filename += ('.' if filename and filename[-1] is not '.' else '') + extension full_path = os.path.join(FOLDERS.LOGS, filename) if prefix: parent, fn = os.path.split(full_path) if fn != '.' + extension: fn = '-' + fn full_path = os.path.join(parent, prefix + fn) full_path = os.path.abspath(full_path) if not os.path.exists(os.path.dirname(full_path)): os.makedirs(os.path.dirname(full_path)) if as_url_link: return convert_filename_to_local_link(full_path) return full_path