def refresh(self): DataProvider.TwoWay.refresh(self) #cache the filesystem type for speed self.fstype = Vfs.uri_get_filesystem_type(self.folder) #scan the folder scanThread = Vfs.FolderScanner(self.folder, self.includeHidden, self.followSymlinks) scanThread.start() scanThread.join() self.files = scanThread.get_uris()
stm = Vfs.FolderScannerThreadManager(maxConcurrentThreads=1) def prog(*args): pass def done(*args): pass t1 = stm.make_thread("file:///tmp", False, False, prog, done) t2 = stm.make_thread("file://"+tmpdiruri, False, False, prog, done) stm.join_all_threads() ok("Scanned /tmp ok - found %s" % fileuri, "file://"+fileuri in t1.get_uris()) ok("Scanned %s ok (empty)" % tmpdiruri, t2.get_uris() == []) # Test the volume management stuff ntfsUri = get_external_resources('folder')['ntfs-volume'] if Vfs.uri_exists(ntfsUri): fstype = Vfs.uri_get_filesystem_type(ntfsUri) ok("Get filesystem type (%s)" % fstype,fstype == "ntfs", False) #ok("Escape illegal chars in filenames", # Vfs.uri_sanitize_for_filesystem("invalid:name","ntfs") == "invalid name") #ok("Escape illegal chars in uris", # Vfs.uri_sanitize_for_filesystem("file:///i:n/i:n","ntfs") == "file:///i n/i n") localUri = get_external_resources('folder')['folder'] ok("Local uri --> path", Vfs.uri_to_local_path(localUri) == "/tmp") ok("Local uri not removable", Vfs.uri_is_on_removable_volume(localUri) == False) removableUri = get_external_resources('folder')['removable-volume'] if Vfs.uri_exists(removableUri): fstype = Vfs.uri_get_filesystem_type(removableUri) ok("Get filesystem type (%s)" % fstype,fstype in ("vfat","msdos")) ok("Removable volume detected removable", Vfs.uri_is_on_removable_volume(removableUri))