def clearCacheReports(self): dirci = QDir(self.mDir + QDir.separator() + "tempReports") if dirci.exists(): listFiles = [] listFiles = dirci.entryList(QDir.Files) for sdfile in listFiles: QDir().remove(dirci.path() + QDir.separator() + sdfile)
def clearCacheScaleImage(self): dirci = QDir(self.mDir + QDir.separator() + "imagecache") if dirci.exists(): listFiles = [] listFiles = dirci.entryList(QDir.Files) for sdfile in listFiles: QDir().remove(dirci.path() + QDir.separator() + sdfile)
def findTranslations(): dir = QDir(":/translations") fileNames = dir.entryList(QDir.Files, QDir.Name) fileNames = [dir.filePath(fileName) for fileName in fileNames] return fileNames
def load_translations(self): self._languages_model.clear() item = QStandardItem("Default") self._languages_model.appendRow(item) trans_dir = QDir(os.fspath(TRANSLATIONS_DIR)) for filename in trans_dir.entryList(["*.qm"], QDir.Files, QDir.Name): language = re.search(r"i18n_(.*?)\.qm", filename).group(1) item = QStandardItem(language) self._languages_model.appendRow(item)
def findQmlNames(self, dir, shortDir): resultList = [] d = QDir("") d.cd(dir) l = d.entryList() for file in l: anotherFile = shortDir + file resultList.append(anotherFile) resultList.pop(0) resultList.pop(0) return resultList
def createLanguageMenu(self): langPath = self.own_path + "languages" + os.sep langDirectory = QDir(langPath) for language_file in langDirectory.entryList(['*.qm']): language_code = language_file.split('.')[0] language = QLocale.languageToString(QLocale(language_code).language()) language_icon = QIcon(langPath + language_code + '.png') action = QAction(language_icon, language, self) action.setCheckable(True) action.setData(language_code) self.menuLanguage.addAction(action) self.langGroup.addAction(action)
def open_directory(self, path=''): if not path: path = QFileDialog.getExistingDirectory(self, 'Open Directory', '.', QFileDialog.ShowDirsOnly) if not path: return directory = QDir(path) directory.setNameFilters(self.filters) self.image_list = [] image_files = directory.entryList() for file in image_files: self.add_item(directory.absolutePath() + '/' + file)
def getListCoreTranslations(self): dircorelan = QDir(self.mDir + QDir.separator() + "corelocale") if dircorelan.exists(): fileNames = dircorelan.entryList(["*.qm"]) listLocale = QJsonArray() for i in range(len(fileNames)): locale = "" locale = fileNames[i] locale = locale.split('.')[0] listLocale.append(locale) listLocale.append("en") return listLocale return QJsonArray()
def idd_versions(): data_dir = QDir(DATA_DIR) data_dir.setFilter(QDir.Files | QDir.Hidden | QDir.Readable | QDir.NoSymLinks | QDir.NoDotAndDotDot) prefix, sep, postfix = IDD_FILE_NAME_ROOT.partition("{}") versions = [] for file_name in data_dir.entryList(): name = file_name.replace(prefix, '') name = name.replace(postfix, '') versions.append(name) return versions
def open_directory(self): directory_url = QFileDialog.getExistingDirectory( self, '0Open directory', QDir.homePath()) dir = QDir(directory_url) filters = [ '*.mp4', '*.m4v', '*.mov', '*.mpg', '*.mpeg', '*.mp3', '*.m4a', '*.wmv', '*.wav', '*.aiff' ] dir.setNameFilters(filters) file_list = dir.entryList() path = dir.absolutePath() + '/' for file in file_list: self.add_item(path + file)
def sizeString(self, fInfo): if (not fInfo.isDir()): return "" dir = QDir(fInfo.filePath()) fileFilters = QDir.Filters(QDir.Files | QDir.System | QDir.Hidden) size = 0 for filePath in dir.entryList(fileFilters): fi = QFileInfo(dir, filePath) size += fi.size() if (size > 1024 * 1024 * 10): return str("%4.1f" % (size / (1024 * 1024))) + 'MB' if (size > 1024 * 10): return str("%4.1f" % (size / 1024)) + 'KB' return str(size)
def testBeginEntryList(self): obj = TestFSHandler() qdir = QDir('/bup') for n1, n2 in zip(qdir.entryList(), ['.', '..', 'A', 'B', 'C']): self.assertEqual(n1, n2) self.assertEqual(len(qdir.entryList()), 5)
def organize_files(): separator = window.cmb_separator.currentText() target_dir = QDir(window.edit_target_dir.text()) list_target_dirs = target_dir.entryList() progress = progress_window() progress.set_max(window.list_files.count()) for index in range(window.list_files.count()): progress.set_value(index) # # STEP 1: Create target directory if necessary # # Get folder name for file fn_src = window.list_files.item(index).text() progress.set_text("Processing \"{0}\"".format(fn_src)) md = pyexiv2.ImageMetadata(fn_src) image_ts = datetime.date try: md.read() image_ts = md['Exif.Photo.DateTimeOriginal'].value except: print("Cannot open file \"{0}\"".format(fn_src)) continue # Makes sure the day and month are always two digits def correct_format(number): if number < 10: return "0" + str(number) else: return str(number) folder_name_trg = str(image_ts.year) + separator + correct_format( image_ts.month) + separator + correct_format(image_ts.day) dir_name_trg = target_dir.absolutePath() + QDir.separator( ) + folder_name_trg # Create folder for day if necessary target_folder = QDir(dir_name_trg) if not target_folder.exists(): QDir.mkdir(target_dir, dir_name_trg) print("Created directory \"{0}\"".format(dir_name_trg)) # # STEP 2: Move file # # absolute file name of the new file fn_trg_abs = dir_name_trg + QDir.separator() + fn_src.split( QDir.separator())[-1] file_trg = QFile(fn_trg_abs) # Don't overwrite existing files if file_trg.exists(): print("Skipping file \"{0}\"".format(file_trg.fileName())) continue QFile.copy(fn_src, fn_trg_abs) print("Copied file from \"{0}\" to \"{1}\"".format(fn_src, fn_trg_abs)) print("Finished!")
class Loader(QWidget): def __init__(self, parent=None): super(Loader, self).__init__(parent=parent) self.ui = Ui_Loader() self.ui.setupUi(self) self.dir = QDir(QDir.currentPath() + '/programs/') self.dir.setFilter(QDir.Files or QDir.NoDotAndDotDot) self.fs_watcher = QFileSystemWatcher(self.dir.path()) self.fs_watcher.addPath(self.dir.path()) self.fs_watcher.directoryChanged.connect(self.update_program_list) self.send_status = QProgressDialog self.sender = Sender self.serialpropertiesvalues = \ { 'baudrate': Serial.BAUDRATES, 'parity': Serial.PARITIES, 'databits': Serial.BYTESIZES, 'stopbits': Serial.STOPBITS, 'flowcontrol': ['NoControl', 'SoftwareControl', 'HardwareControl'] } self.update_program_list() self.update_serial_port_list() # self.set_serial_port_options() self.ui.updateProgramListButton.clicked.connect(self.refresh) self.ui.programListWidget.itemSelectionChanged.connect( self.selection_changed) self.ui.sendButton.clicked.connect(self.send_program) self.ui.serialPortChooser.currentTextChanged.connect( self.selection_changed) self.ui.serialPortChooser.currentTextChanged.connect(save_port) # self.ui.baudRateInput.textChanged.connect(save_baud) # self.ui.parityChooser.currentTextChanged.connect(save_parity) # self.ui.dataBitsChooser.currentTextChanged.connect(save_databits) # self.ui.stopBitsChooser.currentTextChanged.connect(save_stopbits) # self.ui.flowControlChooser.currentTextChanged.connect(save_flowcontrol) self.thread_pool = QThreadPool() def set_serial_port_options(self): for key in parities.keys(): self.ui.parityChooser.addItem(key) for key in bytesize.keys(): self.ui.dataBitsChooser.addItem(key) for key in stopbits.keys(): self.ui.stopBitsChooser.addItem(key) self.ui.flowControlChooser.addItems(flowcontrol) if globalSettings.contains('serialport/port'): self.selectpreviousvalues() else: self.saveconfig() def selectpreviousvalues(self): self.ui.serialPortChooser.setCurrentText( globalSettings.value('serialport/port')) self.ui.baudRateInput.setText( globalSettings.value('serialport/baudrate')) self.ui.parityChooser.setCurrentText( globalSettings.value('serialport/parity')) self.ui.dataBitsChooser.setCurrentText( globalSettings.value('serialport/databits')) self.ui.stopBitsChooser.setCurrentText( globalSettings.value('serialport/stopbits')) self.ui.flowControlChooser.setCurrentText( globalSettings.value('serialport/flowcontrol')) def saveconfig(self): save_port(self.ui.serialPortChooser.currentText()) save_baud(self.ui.baudRateInput.text()) save_parity(self.ui.parityChooser.currentText()) save_databits(self.ui.dataBitsChooser.currentText()) save_stopbits(self.ui.stopBitsChooser.currentText()) save_flowcontrol(self.ui.flowControlChooser.currentText()) def update_serial_port_list(self): self.ui.serialPortChooser.clear() for port in list_ports.comports(): self.ui.serialPortChooser.addItem(port.device) def update_program_list(self): self.ui.programListWidget.clear() self.dir.refresh() self.ui.programListWidget.addItems(self.dir.entryList()) self.ui.programListWidget.clearSelection() def selection_changed(self): if self.ui.serialPortChooser.currentText() is not None \ and self.ui.programListWidget.currentItem() is not None: self.ui.sendButton.setEnabled(True) else: self.ui.sendButton.setDisabled(True) def refresh(self): self.update_program_list() self.update_serial_port_list() def send_program(self): selections = self.ui.programListWidget.selectedItems() for selection in selections: filename = selection.text() filepath = self.dir.path() + '/' + filename port_chosen = self.ui.serialPortChooser.currentText() confirm = ConfirmSend(self) confirm.ui.dialogLabel.setText(f'Send program \'{filename}\'?') confirm.exec() if confirm.result() == QDialog.Accepted: self.send_status = QProgressDialog(self) self.sender = Sender( port_chosen, filepath, globalSettings.value('serialport/baudrate'), globalSettings.value('serialport/databits'), globalSettings.value('serialport/parity'), globalSettings.value('serialport/stopbits'), globalSettings.value('serialport/flowcontrol'), self) self.send_status.setMaximum(self.sender.file.size()) self.send_status.canceled.connect(self.sender.cancel) self.sender.signals.update_status.connect( self.send_status.setValue) self.thread_pool.start(self.sender) self.send_status.exec_() self.send_status.deleteLater()