diff --git a/.github/ISSUE_TEMPLATE/bug_report_cn.yaml b/.github/ISSUE_TEMPLATE/bug_report_cn.yaml
index 7aef502..6bf12e6 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_cn.yaml
+++ b/.github/ISSUE_TEMPLATE/bug_report_cn.yaml
@@ -11,8 +11,13 @@ body:
required: true
- label: 我在提问题之前至少花费了 5 分钟来思考和准备
required: true
- - label: 我正在使用最新版本
- required: false
+ - type: textarea
+ id: version
+ attributes:
+ label: 你使用版本的 commit hash
+ description: 可在 mdcx 文件名最后部分获取, 若没有则可能使用的不是最新版
+ validations:
+ required: true
- type: textarea
id: describe
attributes:
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index bdde706..7b02f7e 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -30,7 +30,9 @@ jobs:
- name: Get new commits
id: get-new-commits
- run: echo "count=$(git log --oneline --since '24 hours ago' | wc -l)" >> $GITHUB_OUTPUT
+ run: |
+ echo "count=$(git log --oneline --since '24 hours ago' | wc -l)" >> $GITHUB_OUTPUT
+ echo "SHORT_SHA=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
# https://github.com/actions/runner/issues/1985#issuecomment-1573518052
- name: Set matrix
@@ -153,19 +155,19 @@ jobs:
if: ${{ matrix.build == 'macos' }}
with:
overwrite: true
- asset_name: MDCx-$tag-${{ matrix.build }}-${{ matrix.arch }}${{ matrix.tail }}.dmg
+ asset_name: MDCx-$tag-${{ matrix.build }}-${{ matrix.arch }}${{ matrix.tail }}-${{ env.SHORT_SHA }}.dmg
file: dist/MDCx.dmg
prerelease: ${{ env.IS_DAILY }}
body: |
- ${{ !env.IS_DAILY && steps.get-changelog.outputs.CHANGELOG || github.event.repository.updated_at }}
- tag: ${{ !env.IS_DAILY && github.ref || 'daily_release' }}
+ ${{ env.IS_DAILY=='true' && github.event.repository.updated_at || steps.get-changelog.outputs.CHANGELOG }}
+ tag: ${{ env.IS_DAILY=='true' && 'daily_release' || github.ref }}
- name: Create Release - Windows
uses: svenstaro/upload-release-action@2.7.0
if: ${{ matrix.build == 'windows' }}
with:
overwrite: true
- asset_name: MDCx-$tag-${{ matrix.build }}-${{ matrix.arch }}${{ matrix.tail }}.exe
+ asset_name: MDCx-$tag-${{ matrix.build }}-${{ matrix.arch }}${{ matrix.tail }}-${{ env.SHORT_SHA }}.exe
file: dist/MDCx.exe
prerelease: ${{ env.IS_DAILY }}
- tag: ${{ !env.IS_DAILY && github.ref || 'daily_release' }}
\ No newline at end of file
+ tag: ${{ env.IS_DAILY=='true' && 'daily_release' || github.ref }}
\ No newline at end of file
diff --git a/changelog.md b/changelog.md
index f117e7e..1416670 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,22 +1,40 @@
+## 重要
+
+### [每日构建](https://github.com/sqzw-x/mdcx/releases/tag/daily_release)
+
+在此版本后, mdcx 将**降低**版本号变化频率, 版本号基本只用来处理会破坏配置文件兼容性的变更.
+一般的功能更新与 bug 修复均通过 Github actions 每日构建, 可在上述链接下载.
+发布页将显示最后一次提交时间, 时区为 UTC+0, 对应北京时间 +8h 即可.
+
+得益于此, 任何代码提交均将在 24h 内被发布, 因此总是可以获取到最新版本.
+代价是每日构建 **_不会在软件内提示更新_**, 需要手动前往上述页面查看.
+
+除此之外, 请注意此后 **任何 issue 报告均需要包含提交 hash**, 这基本上取代了原来版本号的功能, 文件名中将自动包含提交 hash
+
+## 新增
+
+* 单文件刮削自动选择网站 by @
+* 可设置刮削完成后自动创建 kodi actor 目录及自动创建软链接
+
## 修复
-* airav jp 域名失效
-* theporndb 文件 ohash 匹配
-* theporndb 标题模糊匹配
-* javdb cookie 设置失效
-* 7mmtv/airavcc 网络测试 url
-* 启动后不显示自定义网站设置
-* 重定向次数过多导致网络卡死
+
+* madouqu year 获取
+* iqqtv url
+* 未知演员写入 nfo
Full Changelog
-7ca6e70 fix(airav): airav jp 域名失效 (close #122)
-ac5307c fix(theporndb): 使用 ohash 获取数据后直接返回 (#124)
-574c7a3 fix(theporndb): title match (#124)
-04181ba fix(javdb): cookie (#123)
-65c3382 chore: use getattr default value
-0dad202 fix: 7mmtv url for network test (close #121)
-ba9550d fix(ui): not show custom website at startup
-3ff5773 fix(web): blocked by too many redirects
+26af362 fix: write unknown actor to nfo (close #151)
+a175c97 CI: fix daily release tag
+bab46d7 CI: fix release.yml
+96ee83b feat: 刮削完成后 自动创建actor目录 及 自动创建软链接 (close #142)
+761db21 CI: daily release time
+7ed3531 CI: daily release tag and log
+7099844 feat: single file scraping without site selection
+60122f1 CI: daily build
+5b60511 chore
+e4d7c7a fix: iqqtv default url (close #134)
+e70294b fix(madouqu): year字段类型;处理失败时返回空值 (#129)
diff --git a/config.ini.default b/config.ini.default
index 26ca25d..fb24cd2 100644
--- a/config.ini.default
+++ b/config.ini.default
@@ -1,6 +1,6 @@
[modified_time]
-modified_time = 2024-03-07 20:03:00
-version = 120240308
+modified_time = 2024-03-21 00:21:00
+version = 120240321
[media]
media_path =
@@ -10,7 +10,7 @@ failed_output_folder = failed
extrafanart_folder = extrafanart_copy
media_type = .mp4|.avi|.rmvb|.wmv|.mov|.mkv|.flv|.ts|.webm|.iso|.mpg
sub_type = .smi|.srt|.idx|.sub|.sup|.psb|.ssa|.ass|.usf|.xss|.ssf|.rt|.lrc|.sbv|.vtt|.ttml
-scrape_softlink_path =
+scrape_softlink_path =
auto_link = 0
[escape]
@@ -172,7 +172,7 @@ emby_on = actor_info_zh_cn,actor_info_miss,actor_photo_net,actor_photo_miss,
use_database = 0
info_database_path =
gfriends_github = https://github.com/gfriends/gfriends
-actor_photo_folder =
+actor_photo_folder =
actor_photo_kodi_auto = 0
[mark]
diff --git a/src/models/config/config_generated.py b/src/models/config/config_generated.py
index 3c42c97..090c9cc 100644
--- a/src/models/config/config_generated.py
+++ b/src/models/config/config_generated.py
@@ -10,8 +10,8 @@ class GeneratedConfig:
Also used as default configuration
"""
# modified_time
- modified_time = r'2024-03-07 20:03:00'
- version = 120240308
+ modified_time = r'2024-03-21 00:21:00'
+ version = 120240321
# media
media_path = r''
@@ -240,6 +240,7 @@ class GeneratedConfig:
media_type = {media_type}
sub_type = {sub_type}
scrape_softlink_path = {scrape_softlink_path}
+auto_link = {auto_link}
[escape]
folders = {folders}
@@ -402,6 +403,7 @@ class GeneratedConfig:
info_database_path = {info_database_path}
gfriends_github = {gfriends_github}
actor_photo_folder = {actor_photo_folder}
+actor_photo_kodi_auto = {actor_photo_kodi_auto}
[mark]
poster_mark = {poster_mark}
diff --git a/src/models/config/config_manual.py b/src/models/config/config_manual.py
index 8da9d6f..f2e60e9 100644
--- a/src/models/config/config_manual.py
+++ b/src/models/config/config_manual.py
@@ -1,6 +1,6 @@
class ManualConfig:
# 设置软件版本
- local_version = 120240308
+ local_version = 120240321
# 定义配置值类型
INT_KEY = [
diff --git a/src/views/MDCx.py b/src/views/MDCx.py
index 203f83c..551d7e7 100644
--- a/src/views/MDCx.py
+++ b/src/views/MDCx.py
@@ -541,61 +541,16 @@ def setupUi(self, MDCx):
self.groupBox_7.setGeometry(QtCore.QRect(30, 20, 701, 271))
self.groupBox_7.setObjectName("groupBox_7")
self.pushButton_select_file = QtWidgets.QPushButton(self.groupBox_7)
- self.pushButton_select_file.setGeometry(QtCore.QRect(510, 40, 151, 40))
+ self.pushButton_select_file.setGeometry(QtCore.QRect(510, 30, 151, 40))
self.pushButton_select_file.setObjectName("pushButton_select_file")
- self.comboBox_website = QtWidgets.QComboBox(self.groupBox_7)
- self.comboBox_website.setGeometry(QtCore.QRect(140, 80, 351, 30))
- self.comboBox_website.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
- self.comboBox_website.setFocusPolicy(QtCore.Qt.NoFocus)
- self.comboBox_website.setMaxVisibleItems(30)
- self.comboBox_website.setObjectName("comboBox_website")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.comboBox_website.addItem("")
- self.label_2 = QtWidgets.QLabel(self.groupBox_7)
- self.label_2.setGeometry(QtCore.QRect(60, 80, 80, 30))
- self.label_2.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
- self.label_2.setObjectName("label_2")
self.lineEdit_appoint_url = QtWidgets.QLineEdit(self.groupBox_7)
- self.lineEdit_appoint_url.setGeometry(QtCore.QRect(140, 120, 351, 30))
+ self.lineEdit_appoint_url.setGeometry(QtCore.QRect(140, 100, 351, 30))
self.lineEdit_appoint_url.setStyleSheet(" border: 1px solid rgba(0,0,0, 50);\n"
" border-radius: 15px;\n"
"")
self.lineEdit_appoint_url.setObjectName("lineEdit_appoint_url")
self.label_10 = QtWidgets.QLabel(self.groupBox_7)
- self.label_10.setGeometry(QtCore.QRect(60, 120, 80, 30))
+ self.label_10.setGeometry(QtCore.QRect(60, 100, 80, 30))
self.label_10.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter)
self.label_10.setObjectName("label_10")
self.pushButton_start_single_file = QtWidgets.QPushButton(self.groupBox_7)
@@ -617,7 +572,7 @@ def setupUi(self, MDCx):
"")
self.lineEdit_single_file_path.setObjectName("lineEdit_single_file_path")
self.pushButton_select_file_clear_info = QtWidgets.QPushButton(self.groupBox_7)
- self.pushButton_select_file_clear_info.setGeometry(QtCore.QRect(510, 110, 151, 40))
+ self.pushButton_select_file_clear_info.setGeometry(QtCore.QRect(510, 100, 151, 40))
self.pushButton_select_file_clear_info.setObjectName("pushButton_select_file_clear_info")
self.groupBox_13 = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_9)
self.groupBox_13.setGeometry(QtCore.QRect(30, 760, 701, 141))
@@ -4708,7 +4663,7 @@ def setupUi(self, MDCx):
self.scrollArea_6.setWidgetResizable(False)
self.scrollArea_6.setObjectName("scrollArea_6")
self.scrollAreaWidgetContents_6 = QtWidgets.QWidget()
- self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, -1212, 760, 1870))
+ self.scrollAreaWidgetContents_6.setGeometry(QtCore.QRect(0, 0, 760, 1870))
self.scrollAreaWidgetContents_6.setObjectName("scrollAreaWidgetContents_6")
self.groupBox_24 = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_6)
self.groupBox_24.setGeometry(QtCore.QRect(30, 20, 701, 451))
@@ -8638,7 +8593,7 @@ def setupUi(self, MDCx):
self.scrollArea_12.setWidgetResizable(False)
self.scrollArea_12.setObjectName("scrollArea_12")
self.scrollAreaWidgetContents_12 = QtWidgets.QWidget()
- self.scrollAreaWidgetContents_12.setGeometry(QtCore.QRect(0, -892, 770, 1550))
+ self.scrollAreaWidgetContents_12.setGeometry(QtCore.QRect(0, 0, 770, 1550))
self.scrollAreaWidgetContents_12.setObjectName("scrollAreaWidgetContents_12")
self.groupBox_43 = QtWidgets.QGroupBox(self.scrollAreaWidgetContents_12)
self.groupBox_43.setGeometry(QtCore.QRect(30, 20, 701, 321))
@@ -10897,7 +10852,7 @@ def setupUi(self, MDCx):
MDCx.setCentralWidget(self.centralwidget)
self.retranslateUi(MDCx)
- self.stackedWidget.setCurrentIndex(4)
+ self.stackedWidget.setCurrentIndex(3)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MDCx)
@@ -10963,42 +10918,6 @@ def retranslateUi(self, MDCx):
self.pushButton_check_net.setText(_translate("MDCx", "开始检测"))
self.groupBox_7.setTitle(_translate("MDCx", "单文件刮削(指定某个文件的番号网址进行刮削,当存在相同番号时可用这个)"))
self.pushButton_select_file.setText(_translate("MDCx", "选择文件"))
- self.comboBox_website.setItemText(0, _translate("MDCx", "请选择刮削网站"))
- self.comboBox_website.setItemText(1, _translate("MDCx", "airav_cc"))
- self.comboBox_website.setItemText(2, _translate("MDCx", "airav"))
- self.comboBox_website.setItemText(3, _translate("MDCx", "avsex"))
- self.comboBox_website.setItemText(4, _translate("MDCx", "iqqtv"))
- self.comboBox_website.setItemText(5, _translate("MDCx", "freejavbt"))
- self.comboBox_website.setItemText(6, _translate("MDCx", "javdb"))
- self.comboBox_website.setItemText(7, _translate("MDCx", "javbus"))
- self.comboBox_website.setItemText(8, _translate("MDCx", "jav321"))
- self.comboBox_website.setItemText(9, _translate("MDCx", "javlibrary"))
- self.comboBox_website.setItemText(10, _translate("MDCx", "dmm"))
- self.comboBox_website.setItemText(11, _translate("MDCx", "mgstage"))
- self.comboBox_website.setItemText(12, _translate("MDCx", "getchu_dmm"))
- self.comboBox_website.setItemText(13, _translate("MDCx", "getchu"))
- self.comboBox_website.setItemText(14, _translate("MDCx", "theporndb"))
- self.comboBox_website.setItemText(15, _translate("MDCx", "kin8"))
- self.comboBox_website.setItemText(16, _translate("MDCx", "avsox"))
- self.comboBox_website.setItemText(17, _translate("MDCx", "xcity"))
- self.comboBox_website.setItemText(18, _translate("MDCx", "7mmtv"))
- self.comboBox_website.setItemText(19, _translate("MDCx", "mdtv"))
- self.comboBox_website.setItemText(20, _translate("MDCx", "hscangku"))
- self.comboBox_website.setItemText(21, _translate("MDCx", "cableav"))
- self.comboBox_website.setItemText(22, _translate("MDCx", "madouqu"))
- self.comboBox_website.setItemText(23, _translate("MDCx", "cnmdb"))
- self.comboBox_website.setItemText(24, _translate("MDCx", "lulubar"))
- self.comboBox_website.setItemText(25, _translate("MDCx", "love6"))
- self.comboBox_website.setItemText(26, _translate("MDCx", "fc2"))
- self.comboBox_website.setItemText(27, _translate("MDCx", "fc2club"))
- self.comboBox_website.setItemText(28, _translate("MDCx", "fc2hub"))
- self.comboBox_website.setItemText(29, _translate("MDCx", "mywife"))
- self.comboBox_website.setItemText(30, _translate("MDCx", "giga"))
- self.comboBox_website.setItemText(31, _translate("MDCx", "fantastica"))
- self.comboBox_website.setItemText(32, _translate("MDCx", "faleno"))
- self.comboBox_website.setItemText(33, _translate("MDCx", "dahlia"))
- self.comboBox_website.setItemText(34, _translate("MDCx", "prestige"))
- self.label_2.setText(_translate("MDCx", "*刮削网站:"))
self.label_10.setText(_translate("MDCx", "*番号网址:"))
self.pushButton_start_single_file.setText(_translate("MDCx", "刮削"))
self.label_3.setText(_translate("MDCx", "*文件路径:"))
diff --git a/src/views/MDCx.ui b/src/views/MDCx.ui
index 5d1a027..5aed563 100644
--- a/src/views/MDCx.ui
+++ b/src/views/MDCx.ui
@@ -39,7 +39,7 @@
- 4
+ 3
@@ -1585,7 +1585,7 @@ li.checked::marker { content: "\2612"; }
510
- 40
+ 30
151
40
@@ -1594,221 +1594,11 @@ li.checked::marker { content: "\2612"; }
选择文件
-
-
-
- 140
- 80
- 351
- 30
-
-
-
- ArrowCursor
-
-
- Qt::NoFocus
-
-
- 30
-
- -
-
- 请选择刮削网站
-
-
- -
-
- airav_cc
-
-
- -
-
- airav
-
-
- -
-
- avsex
-
-
- -
-
- iqqtv
-
-
- -
-
- freejavbt
-
-
- -
-
- javdb
-
-
- -
-
- javbus
-
-
- -
-
- jav321
-
-
- -
-
- javlibrary
-
-
- -
-
- dmm
-
-
- -
-
- mgstage
-
-
- -
-
- getchu_dmm
-
-
- -
-
- getchu
-
-
- -
-
- theporndb
-
-
- -
-
- kin8
-
-
- -
-
- avsox
-
-
- -
-
- xcity
-
-
- -
-
- 7mmtv
-
-
- -
-
- mdtv
-
-
- -
-
- hscangku
-
-
- -
-
- cableav
-
-
- -
-
- madouqu
-
-
- -
-
- cnmdb
-
-
- -
-
- lulubar
-
-
- -
-
- love6
-
-
- -
-
- fc2
-
-
- -
-
- fc2club
-
-
- -
-
- fc2hub
-
-
- -
-
- mywife
-
-
- -
-
- giga
-
-
- -
-
- fantastica
-
-
- -
-
- faleno
-
-
- -
-
- dahlia
-
-
- -
-
- prestige
-
-
-
-
-
-
- 60
- 80
- 80
- 30
-
-
-
- *刮削网站:
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
140
- 120
+ 100
351
30
@@ -1823,7 +1613,7 @@ li.checked::marker { content: "\2612"; }
60
- 120
+ 100
80
30
@@ -1902,7 +1692,7 @@ li.checked::marker { content: "\2612"; }
510
- 110
+ 100
151
40
@@ -11246,7 +11036,7 @@ font-weight:bold
0
- -1212
+ 0
760
1870
@@ -20475,7 +20265,7 @@ line-height:50px
0
- -892
+ 0
770
1550