def __init__(self, core): QObject.__init__(self, core) self._path = None self._projectFiles = None self._thread = None self._scanStatus = None self._core = core self.open(os.path.abspath('.')) core.fileFilter().regExpChanged.connect(self._onFileFilterChanged)
def __init__(self, core): QObject.__init__(self, core) self._path = None self._projectFiles = None self._thread = None self._scanStatus = None self._core = core self.open(os.path.abspath('.')) core.fileFilter().regExpChanged.connect(self._onFileFilterChanged)
def filterAcceptsRow(self, source_row, source_parent): """ Main method. Check if file matches filter """ if source_parent == QModelIndex(): return True return not core.fileFilter().regExp().match( source_parent.child(source_row, 0).data().toString())
def run(self): results = [] filterRe = core.fileFilter().regExp() basename = os.path.basename(self._path) lastUpdateTime = time.time() self.status.emit('Scanning {}: {} files found'.format(basename, len(results))) for root, dirnames, filenames in os.walk(self._path): if self._stop: break # remove not interesting directories for dirname in dirnames[:]: if filterRe.match(dirname): dirnames.remove(dirname) for filename in filenames: if not filterRe.match(filename): results.append(os.path.relpath(os.path.join(root, filename), self._path)) if time.time() - lastUpdateTime > STATUS_UPDATE_TIMEOUT_SEC: self.status.emit('Scanning {}: {} files found'.format(basename, len(results))) lastUpdateTime = time.time() if not self._stop: self.status.emit('Scanning {} done: {} files found'.format(basename, len(results))) self.itemsReady.emit(self._path, results)
def run(self): results = [] filterRe = core.fileFilter().regExp() basename = os.path.basename(self._path) lastUpdateTime = time.time() self.status.emit('Scanning {}: {} files found'.format( basename, len(results))) for root, dirnames, filenames in os.walk(self._path): if self._stop: break # remove not interesting directories for dirname in dirnames[:]: if filterRe.match(dirname): dirnames.remove(dirname) for filename in filenames: if not filterRe.match(filename): results.append( os.path.relpath(os.path.join(root, filename), self._path)) if time.time() - lastUpdateTime > STATUS_UPDATE_TIMEOUT_SEC: self.status.emit('Scanning {}: {} files found'.format( basename, len(results))) lastUpdateTime = time.time() if not self._stop: self.status.emit('Scanning {} done: {} files found'.format( basename, len(results))) self.itemsReady.emit(self._path, results)
def _filterHidden(paths): """Remove hidden and ignored files from the list """ return [ path for path in paths if not os.path.basename(path).startswith('.') and not core.fileFilter().regExp().match(path) ]
def _getFilesToScan(self): """Get list of files for search. """ files = set() if self._mask: regExPatterns = [fnmatch.translate(pat) for pat in self._mask] maskRegExpPattern = '(' + ')|('.join(regExPatterns) + ')' maskRegExp = re.compile(maskRegExpPattern) else: maskRegExp = None if self._inOpenedFiles: files = iter(self._openedFiles.keys()) if maskRegExp: basenames = [os.path.basename(f) for f in files] files = [f for f in basenames if maskRegExp.match(f)] return files else: path = self._searchPath return self._getFiles(path, maskRegExp, core.fileFilter().regExp())
def _getFilesToScan(self): """Get list of files for search. """ files = set() if self._mask: regExPatterns = [fnmatch.translate(pat) for pat in self._mask] maskRegExpPattern = '(' + ')|('.join(regExPatterns) + ')' maskRegExp = re.compile(maskRegExpPattern) else: maskRegExp = None if self._inOpenedFiles: files = iter(self._openedFiles.keys()) if maskRegExp: basenames = [os.path.basename(f) for f in files] files = [f for f in basenames if maskRegExp.match(f)] return files else: path = self._searchPath return self._getFiles(path, maskRegExp, core.fileFilter().regExp())
def _filterHidden(paths): """Remove hidden and ignored files from the list """ return [path for path in paths if not os.path.basename(path).startswith('.') and not core.fileFilter().regExp().match(path)]
def __init__(self, parent): QSortFilterProxyModel.__init__(self, parent) core.fileFilter().regExpChanged.connect(self.invalidate)
def filterAcceptsRow(self, sourceRow, sourceParent): """ Main method. Check if file matches filter """ if sourceParent == QModelIndex(): return True return not core.fileFilter().regExp().match(sourceParent.child( sourceRow, 0 ).data() )
def __init__(self, parent): QSortFilterProxyModel.__init__(self, parent) core.fileFilter().regExpChanged.connect(self.invalidate)