Example #1
0
    def __init__(self, base_folder, digest_func='md5', ignored_prefixes=None,
                    ignored_suffixes=None, check_suspended=None, case_sensitive=None, disable_duplication=False):
        self._case_sensitive = case_sensitive
        self._disable_duplication = disable_duplication
        # Function to check during long-running processing like digest
        # computation if the synchronization thread needs to be suspended
        self.check_suspended = check_suspended

        if ignored_prefixes is not None:
            # remove default prefixes and register with these new ones
            fname = ignore_prefixes.func.func_name
            func = remove_ignore_filter(fname)
            # reregister the "ignore_prefixes filter with the new prefixes
            add_ignore_filter(func, prefixes=ignored_prefixes, apply_to_parent=func.apply_to_parent)

        if ignored_suffixes is not None:
            # remove default suffixes and register with these new ones
            fname = ignore_suffixes.func.func_name
            func = remove_ignore_filter(fname)
            # reregister the "ignore_suffixes filter with the new suffixes
            add_ignore_filter(func, suffixes=ignored_suffixes, apply_to_parent=func.apply_to_parent)

        while len(base_folder) > 1 and base_folder.endswith(os.path.sep):
            base_folder = base_folder[:-1]
        self.base_folder = base_folder
        self._digest_func = digest_func
Example #2
0
 def manipulate_guest_filter(self, ignore_guest):
     if ignore_guest:
         # add "guest folder" filter so it is ignored
         func = getattr(self, "ignore_guest_folder", None)
         if func:
             add_ignore_filter(func)
     else:
         # remove "guest folder" filter so it is not ignored
         remove_ignore_filter("ignore_guest_folder")