- Updated the `from_tuple` method in `Prof` class to specify return type. - Added type hints for various methods in `LehmannsClient`, `OpenAI`, `WebRequest`, and `ZoteroController` classes to improve code clarity and type safety. - Modified `pdf_to_csv` function to return a string instead of a DataFrame. - Enhanced error handling and type hints in `wordparser` and `xmlparser` modules. - Removed unused UI file `Ui_medianadder.ts`. - Improved the layout and structure of the `semesterapparat_ui` to enhance user experience. - Updated file picker to support `.doc` files in addition to `.docx`. - Added unique item handling in `Ui` class to prevent duplicates in apparat list. - General code cleanup and consistency improvements across various files.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import sys
|
|
|
|
from PySide6.QtCore import QSettings
|
|
from PySide6.QtWidgets import QApplication, QFileDialog
|
|
|
|
|
|
class FilePicker:
|
|
def __init__(self):
|
|
self.settings = QSettings("PH-Freiburg", "SAP")
|
|
self.last_path = self.settings.value("last_path", "/")
|
|
self.multi_select = True
|
|
|
|
def pick_files(self):
|
|
filepicker = QFileDialog()
|
|
filepicker.setFileMode(QFileDialog.FileMode.ExistingFiles)
|
|
filepicker.setDirectory(self.last_path)
|
|
filepicker.setOption(QFileDialog.Option.DontUseNativeDialog, True)
|
|
# enable multi select
|
|
filepicker.setOption(QFileDialog.Option.DontUseCustomDirectoryIcons, True)
|
|
|
|
files, _ = filepicker.getOpenFileNames(
|
|
caption="Open file",
|
|
dir=self.last_path,
|
|
filter="Unterstützte Dateien (*.docx *.doc *.csv *.eml );;Word (*.docx *.doc);;CSV Files (*.csv);;Mail (*.eml)",
|
|
)
|
|
if files:
|
|
self.last_path = files[0]
|
|
self.settings.setValue("last_path", self.last_path)
|
|
return files
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app = QApplication(sys.argv)
|
|
picker = FilePicker()
|
|
files = picker.pick_files()
|
|
# #print(files)
|