diff options
author | dgaudet <dgaudet@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2006-11-05 01:36:23 +0000 |
---|---|---|
committer | dgaudet <dgaudet@2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109> | 2006-11-05 01:36:23 +0000 |
commit | cd8a54559e332a626029e6dee359217497bf010e (patch) | |
tree | 37c07315b2483e5287b97d902293a04e3d17143f /rdiff-backup/rdiff_backup/selection.py | |
parent | fece2fa190a8af5201353e06c59f8566b1bb5454 (diff) | |
download | rdiff-backup-cd8a54559e332a626029e6dee359217497bf010e.tar.gz |
--min-file-size/--max-file-size support. (Patch from Wout Mertens.)
git-svn-id: http://svn.savannah.nongnu.org/svn/rdiff-backup/trunk@761 2b77aa54-bcbc-44c9-a7ec-4f6cf2b41109
Diffstat (limited to 'rdiff-backup/rdiff_backup/selection.py')
-rw-r--r-- | rdiff-backup/rdiff_backup/selection.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/rdiff-backup/rdiff_backup/selection.py b/rdiff-backup/rdiff_backup/selection.py index bff1e0c..96b53aa 100644 --- a/rdiff-backup/rdiff_backup/selection.py +++ b/rdiff-backup/rdiff_backup/selection.py @@ -274,6 +274,10 @@ class Select: self.add_selection_func(self.special_get_sf(1)) elif opt == "--include-symbolic-links": self.add_selection_func(self.symlinks_get_sf(1)) + elif opt == "--max-file-size": + self.add_selection_func(self.size_get_sf(1, arg)) + elif opt == "--min-file-size": + self.add_selection_func(self.size_get_sf(0, arg)) else: assert 0, "Bad selection option %s" % opt except SelectError, e: self.parse_catch_error(e) assert filelists_index == len(filelists) @@ -507,6 +511,16 @@ probably isn't what you meant.""" % sel_func.name = (include and "include" or "exclude") + " special files" return sel_func + def size_get_sf(self, min_max, sizestr): + """Return selection function given by filesize""" + size = int(sizestr) + assert size > 0 + if min_max: sel_func = lambda rp: (rp.getsize() <= size) + else: sel_func = lambda rp: (rp.getsize() >= size) + sel_func.exclude = 1 + sel_func.name = "%s size %d" % (min_max and "Maximum" or "Minimum", size) + return sel_func + def glob_get_sf(self, glob_str, include): """Return selection function given by glob string""" assert include == 0 or include == 1 |