示例#1
0
    def testCreateRegexpPatternLstFromWildchardExprLst(self):
        if os.name == 'posix':
            configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini'
        else:
            configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini'

        cm = ConfigManager(configFilePathName)
        fl = FileLister(cm)

        wildchardLst = [
            '*Solemne*.mp3', 'test*.py', '/excldir/subdir/*.py',
            'd:\\excldir\\subdir\\*.py', '/excldir/subdir/*.*',
            'd:\\excldir\\subdir\\*.*'
        ]
        expectedPatternLst = [
            re.compile('.*Solemne.*\.mp3\Z'),
            re.compile('test.*\.py\Z'),
            re.compile('/excldir/subdir/.*\.py\Z'),
            re.compile('d:\\\\excldir\\\\subdir\\\\.*\.py\Z'),
            re.compile('/excldir/subdir/.*\..*\Z'),
            re.compile('d:\\\\excldir\\\\subdir\\\\.*\..*\Z')
        ]

        self.assertEqual(
            expectedPatternLst,
            fl.createRegexpPatternLstFromWildchardExprLst(wildchardLst))
示例#2
0
    def testGetModifiedAndNotExcludedFileLst(self):
        if os.name == 'posix':
            configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini'
            projectDir = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir'
        else:
            configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini'
            projectDir = 'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir'

        cm = ConfigManager(configFilePathName)
        fl = FileLister(cm)

        expectedAllFileNameLst = [
            'constants_2.py', 'filelister_2.py', 'filemover_2.py',
            'README_2.md', 'testfilelister_2.py', 'testfilemover_2.py'
        ]

        if os.name == 'posix':
            expectedAllFilePathNameLst = [
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/constants_2.py',
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/filelister_2.py',
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/filemover_2.py',
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/README_2.md',
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/test/testfilelister_2.py',
                '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/testproject_3/projectdir/test/testfilemover_2.py'
            ]
        else:
            expectedAllFilePathNameLst = [
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\constants_2.py',
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\filelister_2.py',
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\filemover_2.py',
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\README_2.md',
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\test\\testfilelister_2.py',
                'D:\\Development\\Python\\trans_file_cloud\\test\\testproject_3\\projectdir\\test\\testfilemover_2.py'
            ]

        excludedDirLst = []
        excludedFileTypeWildchardLst = ['*.ini', '*.tmp', '*.jpg', '*.docx']

        excludedFileTypePatternLst = fl.createRegexpPatternLstFromWildchardExprLst(
            excludedFileTypeWildchardLst)
        lastSyncTime = datetime.datetime.strptime(
            '15/06/2020 08:45:23', DATE_TIME_FORMAT_CONFIG_FILE)

        actualAllFileNameLst, actualAllFilePathNameLst = fl.getModifiedAndNotExcludedFileLst(
            projectDir, lastSyncTime, excludedDirLst,
            excludedFileTypePatternLst)
        self.assertEqual(sorted(expectedAllFileNameLst),
                         sorted(actualAllFileNameLst))
        self.assertEqual(sorted(expectedAllFilePathNameLst),
                         sorted(actualAllFilePathNameLst))
示例#3
0
    def testExcludeFile(self):
        if os.name == 'posix':
            configFilePathName = '/storage/emulated/0/Android/data/ru.iiec.pydroid3/files/trans_file_cloud/test/transfiles.ini'
        else:
            configFilePathName = 'D:\\Development\\Python\\trans_file_cloud\\test\\transfiles.ini'

        cm = ConfigManager(configFilePathName)
        fl = FileLister(cm)

        excludedFileSpecLst = [
            '*.ini', '*.temp', 'help*.*', 'modified*', '*.pyc'
        ]
        excludedPatternLst = fl.createRegexpPatternLstFromWildchardExprLst(
            excludedFileSpecLst)

        self.assertTrue(fl.excludeFile('transfiles.ini', excludedPatternLst))
        self.assertFalse(fl.excludeFile('transfiles.py', excludedPatternLst))
        self.assertTrue(fl.excludeFile('transfiles.temp', excludedPatternLst))
        self.assertFalse(fl.excludeFile('transfiles.tmp', excludedPatternLst))
        self.assertTrue(fl.excludeFile('helpMe.txt', excludedPatternLst))
        self.assertTrue(fl.excludeFile('modified_no_type', excludedPatternLst))
        self.assertTrue(fl.excludeFile('transfiles.pyc', excludedPatternLst))