Exemplo n.º 1
0
 def testExclude(self):
     excludePatterns = ['*~', '*.bak' , '*.old', '*/cache/*', '*/Cache/*', '*/.metadata/*',
                        '/home/pawel/dev/python/.metadata/.plugins/*']
     cases = {
         '/tmp/file' : False,
         '/tmp/file.bak' : True,
         '/home/pawel/.mozilla/firefox/58l7zwm5.default/Cache/E/CD/5BFABd01' : True,
         '/home/pawel/.google/picasa/3.0/drive_c/Documents and Settings/pawel/Ustawienia lokalne/Dane aplikacji/Google/Picasa2/cache/cacheindex_lastfetch.pmp' : True,
         '/home/pawel/dev/python/.metadata/.plugins/com.python.pydev.analysis/python_v1_3tswbhuj9gc4kibexhrzgzdx/v1_indexcache/twisted.test.test_iutils_1q40.v1_indexcache' : True,
         '/home/pawel/dev/python/encbackup/encbackup/synchronizers/__init__.py' : False,
         '/home/pawel/Obrazy/2011/Dania/Skagen/IMG_0093.JPG' : False,
         '/home/pb/synced/dev/python/.metadata/.plugins/com.python.pydev.analysis/python_v1_3tswbhuj9gc4kibexhrzgzdx/v1_indexcache/gi.overrides.Dee_5bit.v1_indexcache' : True
     }
     for case, isExcluded in cases.items():
         self.assertEquals(isExcluded, FilenameMatcher.match(case, excludePatterns), 'file ' + case + ' is not filtered correctly')
Exemplo n.º 2
0
    def createTreeFromFilesystem(root, name, excludePatterns):
        tree = TreeNodeDirectory(name, 0, 0, 0, [])
        for filename in sorted(os.listdir(root)):
            path = os.path.join(root, filename)
            if not FilenameMatcher.match(path, excludePatterns):
                if os.path.isdir(path):
#                    try:
                        if not os.path.islink(path):
                            node = TreeNodeDirectory.createTreeFromFilesystem(path, name + os.path.sep + filename, excludePatterns)
                            if node.numberOfFiles > 0:
                                tree.size = tree.size + node.size
                                tree.lastModified = max(tree.lastModified, node.lastModified)
                                tree.numberOfFiles = tree.numberOfFiles + node.numberOfFiles
                                tree.files.append(node)
#                        else:
#                            self.logger.log('skipping symbolic link ' + path)
#                            self._errors.append('skipping symbolic link ' + path)
 #                   except IOError, e:
#                        self.logger.log('could not enter directory: ' + path + ':')
#                        self.logger.log('> %s' % e)
 #                       self._errors.append('could not enter directory: ' + path + ': %s' % e)
                elif os.path.isfile(path):
       #             try:
                        size = os.path.getsize(path)
                        if size > 0:
                            lastModified = os.path.getmtime(path)
                            node = TreeNodeFile(name + os.path.sep + filename, lastModified, size)
                            tree.files.append(node)
                            tree.size = tree.size + size
                            tree.lastModified = max(tree.lastModified, lastModified)
                            tree.numberOfFiles = tree.numberOfFiles + 1
                    #except IOError, e:
  #                      self.logger.log('could not save: ' + path + ': %s' % e)
  #                      self._errors.append('could not encrypt ' + path + ': %s' % e )
   #             else:
   #                 self.logger.log('skipping strange file: {0}'.format(path))
   #         else:
   #             self.logger.log('ignoring: ' + path)
         
        return tree