Exemple #1
0
 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
Exemple #2
0
 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)
Exemple #3
0
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
Exemple #4
0
 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)
Exemple #5
0
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