예제 #1
0
 def test_default_action(self):
     rule_set = FileRuleSet()
     rule_set.add_rule_by_string("exclude: size > 1024000")
     self.assertEqual(rule_set.test(self.file_entry),
                      rule_set.default_action)
     rule_set = FileRuleSet(default_action="laf")
     rule_set.add_rule_by_string("exclude: size > 1024000")
     self.assertEqual(rule_set.test(self.file_entry), "laf")
예제 #2
0
 def test_walk_tree_with_rule(self):
     clear_folder(self.directory_path)
     prepare_filetree(
         self.directory_path, '''
         ignore/b/c:1
         ignore/bb:2
         include/d/e: 3
         include/dd: 4
         whatever_file: 5
     ''')
     rule_set = FileRuleSet()
     rule_set.add_rule_by_string("ignore: name eq ignore")
     filetree = FileTree.from_fs(self.directory_path, rule_set=rule_set)
     self.assertEqual(len(filetree.files()), 3)
     self.assertEqual(len(filetree.folders()), 2)
예제 #3
0
 def test_basic_parse(self):
     rule_set = FileRuleSet()
     rule_set.add_rule_by_string("size > 1024", "include")
     rule_set.add_rule_by_string("path = " + self.file_entry.pathname,
                                 "exclude")
     self.assertEqual(rule_set.test(self.file_entry), "exclude")
예제 #4
0
 def test_basic_parse_with_quotes(self):
     rule_set = FileRuleSet()
     rule_set.add_rule_by_string("size > '1024'", "include")
     rule_set.add_rule_by_string(
         "path = \"" + self.file_entry.pathname + "\"", "exclude")
     self.assertEqual(rule_set.test(self.file_entry), "exclude")
예제 #5
0
 def test_basic(self):
     rule_set = FileRuleSet()
     rule_set.add("size", ">", 1024, "include")
     rule_set.add("path", "eq", self.file_entry.pathname, "exclude")
     self.assertEqual(rule_set.test(self.file_entry), "exclude")