diff --git a/.github/workflows/package_plugin.yml b/.github/workflows/package_plugin.yml new file mode 100644 index 0000000..f7d649a --- /dev/null +++ b/.github/workflows/package_plugin.yml @@ -0,0 +1,41 @@ +name: Package plugin + +on: + push: + tags: + - '*' + +jobs: + package_plugin: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python 3.7 + uses: actions/setup-python@v2 + with: + python-version: 3.7 + + - name: Upgrade pipenv + run: | + python3 -m pip install --upgrade pipenv + + - name: Check that Pipfile.lock is not stale + run: | + pipenv verify + + # For pyuic5/6 + - name: Install dev tools + run: | + pipenv install --dev + + - name: Run package_plugin.sh + run: | + ./package_plugin.sh + + - name: Upload crowd_anki dist artifact + uses: actions/upload-artifact@v3 + with: + name: crowd-anki-packaged-plugin + path: crowd_anki_*.zip diff --git a/crowd_anki/config/config_ui_qt5.py b/crowd_anki/config/config_ui_qt5.py index a8ede30..3cb4a4a 100644 --- a/crowd_anki/config/config_ui_qt5.py +++ b/crowd_anki/config/config_ui_qt5.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui_files/config.ui' # -# Created by: PyQt5 UI code generator 5.15.7 +# Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. diff --git a/crowd_anki/config/config_ui_qt6.py b/crowd_anki/config/config_ui_qt6.py index 17f67cb..10f1357 100644 --- a/crowd_anki/config/config_ui_qt6.py +++ b/crowd_anki/config/config_ui_qt6.py @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'ui_files/config.ui' # -# Created by: PyQt6 UI code generator 6.4.0 +# Created by: PyQt6 UI code generator 6.5.0 # # WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. @@ -19,61 +19,61 @@ def setupUi(self, Dialog): self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") - self.group_snapshot = QtWidgets.QGroupBox(Dialog) + self.group_snapshot = QtWidgets.QGroupBox(parent=Dialog) self.group_snapshot.setObjectName("group_snapshot") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.group_snapshot) self.verticalLayout_3.setObjectName("verticalLayout_3") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") - self.lbl_snapshot_path = QtWidgets.QLabel(self.group_snapshot) + self.lbl_snapshot_path = QtWidgets.QLabel(parent=self.group_snapshot) self.lbl_snapshot_path.setObjectName("lbl_snapshot_path") self.horizontalLayout_2.addWidget(self.lbl_snapshot_path) - self.textedit_snapshot_path = QtWidgets.QLineEdit(self.group_snapshot) + self.textedit_snapshot_path = QtWidgets.QLineEdit(parent=self.group_snapshot) self.textedit_snapshot_path.setObjectName("textedit_snapshot_path") self.horizontalLayout_2.addWidget(self.textedit_snapshot_path) self.verticalLayout_3.addLayout(self.horizontalLayout_2) - self.cb_automated_snapshot = QtWidgets.QCheckBox(self.group_snapshot) + self.cb_automated_snapshot = QtWidgets.QCheckBox(parent=self.group_snapshot) self.cb_automated_snapshot.setObjectName("cb_automated_snapshot") self.verticalLayout_3.addWidget(self.cb_automated_snapshot) - self.lbl_snapshot = QtWidgets.QLabel(self.group_snapshot) + self.lbl_snapshot = QtWidgets.QLabel(parent=self.group_snapshot) self.lbl_snapshot.setObjectName("lbl_snapshot") self.verticalLayout_3.addWidget(self.lbl_snapshot) - self.textedit_snapshot_root_decks = QtWidgets.QPlainTextEdit(self.group_snapshot) + self.textedit_snapshot_root_decks = QtWidgets.QPlainTextEdit(parent=self.group_snapshot) self.textedit_snapshot_root_decks.setObjectName("textedit_snapshot_root_decks") self.verticalLayout_3.addWidget(self.textedit_snapshot_root_decks) self.verticalLayout_2.addWidget(self.group_snapshot) - self.group_deck_import = QtWidgets.QGroupBox(Dialog) + self.group_deck_import = QtWidgets.QGroupBox(parent=Dialog) self.group_deck_import.setObjectName("group_deck_import") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.group_deck_import) self.verticalLayout_5.setObjectName("verticalLayout_5") - self.cb_ignore_move_cards = QtWidgets.QCheckBox(self.group_deck_import) + self.cb_ignore_move_cards = QtWidgets.QCheckBox(parent=self.group_deck_import) self.cb_ignore_move_cards.setObjectName("cb_ignore_move_cards") self.verticalLayout_5.addWidget(self.cb_ignore_move_cards) self.verticalLayout_2.addWidget(self.group_deck_import) - self.group_deck_export = QtWidgets.QGroupBox(Dialog) + self.group_deck_export = QtWidgets.QGroupBox(parent=Dialog) self.group_deck_export.setObjectName("group_deck_export") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.group_deck_export) self.verticalLayout_4.setObjectName("verticalLayout_4") - self.lbl_deck_sort = QtWidgets.QLabel(self.group_deck_export) + self.lbl_deck_sort = QtWidgets.QLabel(parent=self.group_deck_export) self.lbl_deck_sort.setObjectName("lbl_deck_sort") self.verticalLayout_4.addWidget(self.lbl_deck_sort) - self.textedit_deck_sort_methods = QtWidgets.QPlainTextEdit(self.group_deck_export) + self.textedit_deck_sort_methods = QtWidgets.QPlainTextEdit(parent=self.group_deck_export) self.textedit_deck_sort_methods.setObjectName("textedit_deck_sort_methods") self.verticalLayout_4.addWidget(self.textedit_deck_sort_methods) - self.cb_reverse_sort = QtWidgets.QCheckBox(self.group_deck_export) + self.cb_reverse_sort = QtWidgets.QCheckBox(parent=self.group_deck_export) self.cb_reverse_sort.setObjectName("cb_reverse_sort") self.verticalLayout_4.addWidget(self.cb_reverse_sort) - self.cb_create_deck_subdirectory = QtWidgets.QCheckBox(self.group_deck_export) + self.cb_create_deck_subdirectory = QtWidgets.QCheckBox(parent=self.group_deck_export) self.cb_create_deck_subdirectory.setObjectName("cb_create_deck_subdirectory") self.verticalLayout_4.addWidget(self.cb_create_deck_subdirectory) self.verticalLayout_2.addWidget(self.group_deck_export) self.horizontalLayout.addLayout(self.verticalLayout_2) - self.tb_instructions = QtWidgets.QTextBrowser(Dialog) + self.tb_instructions = QtWidgets.QTextBrowser(parent=Dialog) self.tb_instructions.setLineWidth(1) self.tb_instructions.setObjectName("tb_instructions") self.horizontalLayout.addWidget(self.tb_instructions) self.verticalLayout.addLayout(self.horizontalLayout) - self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) + self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) self.buttonBox.setObjectName("buttonBox") diff --git a/crowd_anki/importer/import_ui_qt5.py b/crowd_anki/importer/import_ui_qt5.py index 422875e..afe2aac 100644 --- a/crowd_anki/importer/import_ui_qt5.py +++ b/crowd_anki/importer/import_ui_qt5.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'ui_files/import.ui' # -# Created by: PyQt5 UI code generator 5.15.7 +# Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. diff --git a/crowd_anki/importer/import_ui_qt6.py b/crowd_anki/importer/import_ui_qt6.py index 3a9d9ca..bb86df6 100644 --- a/crowd_anki/importer/import_ui_qt6.py +++ b/crowd_anki/importer/import_ui_qt6.py @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'ui_files/import.ui' # -# Created by: PyQt6 UI code generator 6.4.0 +# Created by: PyQt6 UI code generator 6.5.0 # # WARNING: Any manual changes made to this file will be lost when pyuic6 is # run again. Do not edit this file unless you know what you are doing. @@ -19,7 +19,7 @@ def setupUi(self, Dialog): self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") - self.group_deck_import = QtWidgets.QGroupBox(Dialog) + self.group_deck_import = QtWidgets.QGroupBox(parent=Dialog) self.group_deck_import.setTitle("") self.group_deck_import.setObjectName("group_deck_import") self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.group_deck_import) @@ -31,10 +31,10 @@ def setupUi(self, Dialog): self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") - self.import_message_label = QtWidgets.QLabel(self.group_deck_import) + self.import_message_label = QtWidgets.QLabel(parent=self.group_deck_import) self.import_message_label.setObjectName("import_message_label") self.verticalLayout_4.addWidget(self.import_message_label) - self.import_message_textbox = QtWidgets.QTextBrowser(self.group_deck_import) + self.import_message_textbox = QtWidgets.QTextBrowser(parent=self.group_deck_import) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) @@ -47,42 +47,42 @@ def setupUi(self, Dialog): self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_6 = QtWidgets.QVBoxLayout() self.verticalLayout_6.setObjectName("verticalLayout_6") - self.cb_tag_cards = QtWidgets.QCheckBox(self.group_deck_import) + self.cb_tag_cards = QtWidgets.QCheckBox(parent=self.group_deck_import) self.cb_tag_cards.setObjectName("cb_tag_cards") self.verticalLayout_6.addWidget(self.cb_tag_cards) - self.textedit_tags = QtWidgets.QLineEdit(self.group_deck_import) + self.textedit_tags = QtWidgets.QLineEdit(parent=self.group_deck_import) self.textedit_tags.setObjectName("textedit_tags") self.verticalLayout_6.addWidget(self.textedit_tags) - self.cb_ignore_move_cards = QtWidgets.QCheckBox(self.group_deck_import) + self.cb_ignore_move_cards = QtWidgets.QCheckBox(parent=self.group_deck_import) self.cb_ignore_move_cards.setObjectName("cb_ignore_move_cards") self.verticalLayout_6.addWidget(self.cb_ignore_move_cards) self.verticalLayout_3.addLayout(self.verticalLayout_6) self.verticalLayout_7 = QtWidgets.QVBoxLayout() self.verticalLayout_7.setObjectName("verticalLayout_7") - self.label_2 = QtWidgets.QLabel(self.group_deck_import) + self.label_2 = QtWidgets.QLabel(parent=self.group_deck_import) self.label_2.setEnabled(True) self.label_2.setObjectName("label_2") self.verticalLayout_7.addWidget(self.label_2) - self.cb_notes = QtWidgets.QCheckBox(self.group_deck_import) + self.cb_notes = QtWidgets.QCheckBox(parent=self.group_deck_import) self.cb_notes.setObjectName("cb_notes") self.verticalLayout_7.addWidget(self.cb_notes) - self.cb_media = QtWidgets.QCheckBox(self.group_deck_import) + self.cb_media = QtWidgets.QCheckBox(parent=self.group_deck_import) self.cb_media.setObjectName("cb_media") self.verticalLayout_7.addWidget(self.cb_media) self.verticalLayout_3.addLayout(self.verticalLayout_7) self.horizontalLayout_2.addLayout(self.verticalLayout_3) self.importMessageLayout.addLayout(self.horizontalLayout_2) self.verticalLayout_5.addLayout(self.importMessageLayout) - self.label = QtWidgets.QLabel(self.group_deck_import) + self.label = QtWidgets.QLabel(parent=self.group_deck_import) self.label.setObjectName("label") self.verticalLayout_5.addWidget(self.label) - self.list_personal_fields = QtWidgets.QListWidget(self.group_deck_import) + self.list_personal_fields = QtWidgets.QListWidget(parent=self.group_deck_import) self.list_personal_fields.setObjectName("list_personal_fields") self.verticalLayout_5.addWidget(self.list_personal_fields) self.verticalLayout_2.addWidget(self.group_deck_import) self.horizontalLayout.addLayout(self.verticalLayout_2) self.verticalLayout.addLayout(self.horizontalLayout) - self.buttonBox = QtWidgets.QDialogButtonBox(Dialog) + self.buttonBox = QtWidgets.QDialogButtonBox(parent=Dialog) self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok) self.buttonBox.setObjectName("buttonBox") diff --git a/fetch_dependencies.sh b/fetch_dependencies.sh index 36bce34..e99b82d 100755 --- a/fetch_dependencies.sh +++ b/fetch_dependencies.sh @@ -7,7 +7,7 @@ pipenv requirements | sed -E 's/(^dulwich==.+$)/\1 --config-settings "--global-o # PYYAML_FORCE_LIBYAML is needed to prevent the libyaml bindings for # pyyaml (--without-libyaml doesn't work). See: # https://github.com/yaml/pyyaml/issues/716 -PYYAML_FORCE_LIBYAML=0 pipenv run pip install --upgrade --no-binary "$(pipenv requirements | sed -n 's/==.*//p' | tr '\n' ',')" -r tmp_requirements.txt --target crowd_anki/dist +PYYAML_FORCE_LIBYAML=0 pipenv run pip install --no-cache-dir --upgrade --no-binary "$(pipenv requirements | sed -n 's/==.*//p' | tr '\n' ',')" -r tmp_requirements.txt --target crowd_anki/dist rm tmp_requirements.txt