diff --git a/.github/workflows/pyinstaller-publish.yml b/.github/workflows/pyinstaller-publish.yml index e51930f..717195f 100644 --- a/.github/workflows/pyinstaller-publish.yml +++ b/.github/workflows/pyinstaller-publish.yml @@ -30,4 +30,12 @@ jobs: #- run: ./dist/your-code/your-code - uses: actions/upload-artifact@v4 with: - path: dist/* \ No newline at end of file + path: dist/* + - name: Upload binaries to release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} +# file: target/release/${{ matrix.artifact_name }} + file: dist/biliup.exe + asset_name: biliup_$tag.exe + tag: ${{ github.ref }} diff --git a/README.md b/README.md index ab043d5..7ee0649 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,10 @@ ## Quick Start +### Windows +下载 exe: [Release](https://github.com/biliup/biliup/releases/latest) +### Linux 0. python`version >= 3.8` 1. `pip3 install biliup` 2. `biliup start` diff --git a/app/ui/TemplateFields.tsx b/app/ui/TemplateFields.tsx index 0be7d8c..6f91ced 100644 --- a/app/ui/TemplateFields.tsx +++ b/app/ui/TemplateFields.tsx @@ -34,7 +34,7 @@ const TemplateFields: React.FC> = bili_web biliup-rs diff --git a/app/ui/TemplateModal.tsx b/app/ui/TemplateModal.tsx index 81cf237..f10a7a5 100644 --- a/app/ui/TemplateModal.tsx +++ b/app/ui/TemplateModal.tsx @@ -26,7 +26,7 @@ const TemplateModal: React.FC = ({ children, entity , onOk}) 'linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 1) 60%, rgba(0, 0, 0, 0.2) 80%, transparent 100%)', }; const collapsed = (
- 流程无报错结束时触发,将按自定义顺序执行自定义操作,默认删除视频文件。若要保留文件请设置为 mv ,当postprocessor不存在时,默认执行删除文件操作,示例: + 流程无报错结束时触发,将按自定义顺序执行自定义操作,默认删除视频文件。若要保留文件请设置为 mv ,当postprocessor不存在时,默认执行删除文件操作,示例:
run = echo hello! 执行任意命令,等同于在shell中运行,视频文件路径作为标准输入传入
@@ -121,7 +121,7 @@ const TemplateModal: React.FC = ({ children, entity , onOk}) placeholder='{streamer}%Y-%m-%d %H_%M_%S{title}' /> - + {({ add, arrayFields }) => ( <> diff --git a/app/ui/plugins/global.tsx b/app/ui/plugins/global.tsx index 4b50be8..f26eb1e 100644 --- a/app/ui/plugins/global.tsx +++ b/app/ui/plugins/global.tsx @@ -222,12 +222,13 @@ const Global: React.FC = () => { padding: 0, }} showClear={true} + initValue='Noop' > bili_web - biliup-rs(默认) + biliup-rs Noop(即不上传,但会执行后处理) diff --git a/biliup.spec b/biliup.spec index 4454e39..43dfa42 100644 --- a/biliup.spec +++ b/biliup.spec @@ -41,4 +41,5 @@ exe = EXE( target_arch=None, codesign_identity=None, entitlements_file=None, + icon=['public\\logo.png'], ) diff --git a/biliup/config.py b/biliup/config.py index efe7ee2..7f69b3f 100644 --- a/biliup/config.py +++ b/biliup/config.py @@ -47,6 +47,8 @@ class Config(UserDict): if ls.upload_streamers_id: self['streamers'][ls.remark].update({ k: v for k, v in ls.uploadstreamers.as_dict().items() if v and k not in ['id', 'template_name']}) + if self['streamers'][ls.remark].get('uploader') is None: + self['streamers'][ls.remark]['uploader'] = 'biliup-rs' # if self['streamers'][ls.remark].get('tags'): # self['streamers'][ls.remark]['tags'] = self['streamers'][ls.remark]['tags'] # for us in UploadStreamers.select(): @@ -55,7 +57,7 @@ class Config(UserDict): def save_to_db(self, db): for k, v in self['streamers'].items(): us = UploadStreamers(**UploadStreamers.filter_parameters( - {"template_name": k, "tags": v.pop('tags', ['biliup']), ** v})) + {"template_name": k, "tags": v.pop('tags', [k]), ** v})) db.add(us) db.flush() url = v.pop('url') diff --git a/package-lock.json b/package-lock.json index de2cd39..8288213 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,21 +8,21 @@ "name": "my-app", "version": "0.1.0", "dependencies": { - "@douyinfe/semi-ui": "^2.59.0", + "@douyinfe/semi-ui": "^2.59.1", "ncp": "^2.0.0", "next": "^14.2.3", "qrcode.react": "^3.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-json-tree": "^0.19.0", - "sass": "^1.77.2", + "sass": "^1.77.4", "swr": "^2.2.5", "xgplayer": "^3.0.14", "xgplayer-flv": "^3.0.18", "xgplayer-flv.js": "^3.0.18" }, "devDependencies": { - "@types/node": "^20.12.12", + "@types/node": "^20.13.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "eslint": "^8.57.0", @@ -91,34 +91,34 @@ } }, "node_modules/@douyinfe/semi-animation": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.59.0.tgz", - "integrity": "sha512-ad+87vIQMYJdVdJgoME1Eip+D9p1EYQk/2q7aFnMm4EmaXOxNBd48tt1NVyX49tJs259UpSTa2MSM9ajMMqbDA==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.59.1.tgz", + "integrity": "sha512-vrYRe9aT5FhNl/ghjLGE4L3T29Y1nuvKQPqptde5XMhPkpGkH3A/4IjO8dXvfipdXdhZGcXyWYbtL9gknsm+rQ==", "dependencies": { "bezier-easing": "^2.1.0" } }, "node_modules/@douyinfe/semi-animation-react": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation-react/-/semi-animation-react-2.59.0.tgz", - "integrity": "sha512-EPZbKLGH0vguKgS6RBrHp9zTGyyVtdadGK3OPWuyCDxr6J+ET5M8EwLn7BylmE951hCw/j5nDYVjblD7R6gEEA==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation-react/-/semi-animation-react-2.59.1.tgz", + "integrity": "sha512-TImalOl13V8QeHEOOAdwqQbwt3F59lwAFBcKvsymqnquWhAyBhOXTRaaIZSziv4sKGn1gXD7Cs7N5fBBY+pMog==", "dependencies": { - "@douyinfe/semi-animation": "2.59.0", - "@douyinfe/semi-animation-styled": "2.59.0", + "@douyinfe/semi-animation": "2.59.1", + "@douyinfe/semi-animation-styled": "2.59.1", "classnames": "^2.2.6" } }, "node_modules/@douyinfe/semi-animation-styled": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.59.0.tgz", - "integrity": "sha512-KgIpTgQjnEVfZKIgwgvI8r7UoHhFEtp1cMgYXTG9TnI7fapJ9Rcd+qE5taWFbuGjANWXY3dL9NM1D6RMf9f2rw==" + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.59.1.tgz", + "integrity": "sha512-41MtvA+FJCnPoWjY1RWLz3vkJ4HP42QriUUJ+ZmRMQYUQo0dXuE2uSCa47pMaMLAvEHoY0CFoIUnYUGzdonSjw==" }, "node_modules/@douyinfe/semi-foundation": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.59.0.tgz", - "integrity": "sha512-YF8blKhVFcCNrLoo1gqtrPZev15Briz3f7/mx/SfPq6m3v5PeIw3aKwvi9PdcxrHbdj7WEmUtMtsMmfy8b61tg==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.59.1.tgz", + "integrity": "sha512-t2CXa/5zLiBimHnmF1v/UWZgUoE9rB7SFR2qi649xyahpLQx6H9ahrbo6oqwa8GDLnSWravTeSNlvoI8Z8if7Q==", "dependencies": { - "@douyinfe/semi-animation": "2.59.0", + "@douyinfe/semi-animation": "2.59.1", "async-validator": "^3.5.0", "classnames": "^2.2.6", "date-fns": "^2.29.3", @@ -130,9 +130,9 @@ } }, "node_modules/@douyinfe/semi-icons": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-icons/-/semi-icons-2.59.0.tgz", - "integrity": "sha512-3/zUiylcxVgwHuRJUk3ucVPfB6mOIdEIi8074+1qmO4lgInisiK3kPVYy6H35E76iuK2POBWjvAai5+s0FlyQA==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-icons/-/semi-icons-2.59.1.tgz", + "integrity": "sha512-XJ30Fsbnkq0T9Z7exYKiI+GM8q3Zee1gO28H5CckA0dFHxnpNyJ4QazzTuTj5dSXAZq3uYXakmNB8wDAgV9d9A==", "dependencies": { "classnames": "^2.2.6" }, @@ -141,32 +141,32 @@ } }, "node_modules/@douyinfe/semi-illustrations": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.59.0.tgz", - "integrity": "sha512-X99rjvO+QjhHM2KO8MR/kBmn/3AlJu8VVGK21Dfak1+eiKeiaR0ddGLXj7Hr8/eX0NEBjplJywIYHn80ytSOiA==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.59.1.tgz", + "integrity": "sha512-EzbM+FAV862tdXNIbVwoSCfGLeIcT37/Vzm+q9cfx+DYMBqeQEQcH5qLOpRGFc4Hf796bxJtGfE/jFmDC2xdDw==", "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@douyinfe/semi-theme-default": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-theme-default/-/semi-theme-default-2.59.0.tgz", - "integrity": "sha512-EKxOfQSYkNroLaQWUg2PeJDPbWHMC3ahEXecnO3akQUo4hlcXNo68hUhUyvRQxwYLQMIo2jEGjNOF31A0G/OEQ==" + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-theme-default/-/semi-theme-default-2.59.1.tgz", + "integrity": "sha512-XuB6jf5Ob0ufyFJ2xKpdNTbB0/LM8Fe9hWOIMEmux2eiHwnMzCQvfrOHphCy/g1+TbGlGK9N6kJnCyUKP+U/AQ==" }, "node_modules/@douyinfe/semi-ui": { - "version": "2.59.0", - "resolved": "https://registry.npmjs.org/@douyinfe/semi-ui/-/semi-ui-2.59.0.tgz", - "integrity": "sha512-P8scN4ijfAneJi3rPNy31RJOkjGvQ58lTN4/nFMw8kSRWU1uOJkaF79nNM65dCTLzGPr4T7cHTFf0SiA6Is8QQ==", + "version": "2.59.1", + "resolved": "https://registry.npmjs.org/@douyinfe/semi-ui/-/semi-ui-2.59.1.tgz", + "integrity": "sha512-zF5Fe0d8NrNxR8tVoMiuhlnp5J6/5PvnV0kr0iBOsqW89peboF0HPNg/lr3DvzoPpCWCN++bZZAFdMAB/WGplQ==", "dependencies": { "@dnd-kit/core": "^6.0.8", "@dnd-kit/sortable": "^7.0.2", "@dnd-kit/utilities": "^3.2.1", - "@douyinfe/semi-animation": "2.59.0", - "@douyinfe/semi-animation-react": "2.59.0", - "@douyinfe/semi-foundation": "2.59.0", - "@douyinfe/semi-icons": "2.59.0", - "@douyinfe/semi-illustrations": "2.59.0", - "@douyinfe/semi-theme-default": "2.59.0", + "@douyinfe/semi-animation": "2.59.1", + "@douyinfe/semi-animation-react": "2.59.1", + "@douyinfe/semi-foundation": "2.59.1", + "@douyinfe/semi-icons": "2.59.1", + "@douyinfe/semi-illustrations": "2.59.1", + "@douyinfe/semi-theme-default": "2.59.1", "async-validator": "^3.5.0", "classnames": "^2.2.6", "copy-text-to-clipboard": "^2.1.1", @@ -544,9 +544,9 @@ "integrity": "sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==" }, "node_modules/@types/node": { - "version": "20.12.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", - "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", + "version": "20.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.13.0.tgz", + "integrity": "sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -1089,9 +1089,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001623", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001623.tgz", - "integrity": "sha512-X/XhAVKlpIxWPpgRTnlgZssJrF0m6YtRA0QDWgsBNT12uZM6LPRydR7ip405Y3t1LamD8cP2TZFEDZFBf5ApcA==", + "version": "1.0.30001626", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001626.tgz", + "integrity": "sha512-JRW7kAH8PFJzoPCJhLSHgDgKg5348hsQ68aqb+slnzuB5QFERv846oA/mRChmlLAOdEDeOkRn3ynb1gSFnjt3w==", "funding": [ { "type": "opencollective", @@ -1378,9 +1378,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1958,29 +1958,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", + "version": "7.34.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.2.tgz", + "integrity": "sha512-2HCmrU+/JNigDN6tg55cRDKCQWicYAPB38JGSFDQt95jDm8rrvSUo7YPkOIm5l6ts1j1zCvysNcasvfTMQzUOw==", "dev": true, "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", "array.prototype.flatmap": "^1.3.2", "array.prototype.toreversed": "^1.1.2", "array.prototype.tosorted": "^1.1.3", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", + "es-iterator-helpers": "^1.0.19", "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" + "string.prototype.matchall": "^4.0.11" }, "engines": { "node": ">=4" @@ -4062,9 +4062,9 @@ } }, "node_modules/sass": { - "version": "1.77.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.2.tgz", - "integrity": "sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==", + "version": "1.77.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", + "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -4521,9 +4521,9 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==" }, "node_modules/type-check": { "version": "0.4.0", diff --git a/package.json b/package.json index 6c27749..ed16473 100644 --- a/package.json +++ b/package.json @@ -9,21 +9,21 @@ "lint": "next lint" }, "dependencies": { - "@douyinfe/semi-ui": "^2.59.0", + "@douyinfe/semi-ui": "^2.59.1", "ncp": "^2.0.0", "next": "^14.2.3", "qrcode.react": "^3.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-json-tree": "^0.19.0", - "sass": "^1.77.2", + "sass": "^1.77.4", "swr": "^2.2.5", "xgplayer": "^3.0.14", "xgplayer-flv": "^3.0.18", "xgplayer-flv.js": "^3.0.18" }, "devDependencies": { - "@types/node": "^20.12.12", + "@types/node": "^20.13.0", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "eslint": "^8.57.0",