This commit is contained in:
Ing 2023-04-26 01:20:39 +08:00
parent 73d830eb96
commit ad1ec11a81
5 changed files with 74 additions and 31 deletions

View File

@ -160,7 +160,8 @@ jobs:
qemu-img convert -O vmdk arpl.img arpl-dyn.vmdk qemu-img convert -O vmdk arpl.img arpl-dyn.vmdk
qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk
zip -9 "arpl-i18n.zip" arpl.img arpl-dyn.vmdk arpl.vmdk arpl-flat.vmdk zip -9 "arpl-i18n.zip" arpl.img
# Upload artifact # Upload artifact
- name: Upload - name: Upload
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3

View File

@ -9,7 +9,19 @@ name: Update
on: on:
workflow_dispatch: workflow_dispatch:
inputs:
push:
description: 'push'
default: false
type: boolean
config:
description: 'update configs'
default: true
type: boolean
rss:
description: 'update rss'
default: true
type: boolean
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -34,9 +46,19 @@ jobs:
- name: update pats - name: update pats
run: | run: |
python rssupdate.py python rssupdate.py ${{ inputs.config }} ${{ inputs.rss }}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: grub
path: |
files/board/arpl/overlayfs/opt/arpl/model-configs
rss.json
rss.xml
- name: Check and Push - name: Check and Push
if: success() && inputs.push == true
run: | run: |
git pull git pull
status=$(git status -s | grep -E 'model-configs|rss' | awk '{printf " %s", $2}') status=$(git status -s | grep -E 'model-configs|rss' | awk '{printf " %s", $2}')

View File

@ -7,13 +7,13 @@
"copyright": "Copyright 2022 Synology Inc", "copyright": "Copyright 2022 Synology Inc",
"item": [ "item": [
{ {
"title": "DSM 7.2-64216", "title": "DSM 7.2-64551",
"MajorVer": 7, "MajorVer": 7,
"MinorVer": 2, "MinorVer": 2,
"NanoVer": 0, "NanoVer": 0,
"BuildPhase": 0, "BuildPhase": "RC",
"BuildNum": 64216, "BuildNum": 64551,
"BuildDate": "2023/03/08", "BuildDate": "2023/04/21",
"ReqMajorVer": 7, "ReqMajorVer": 7,
"ReqMinorVer": 2, "ReqMinorVer": 2,
"ReqBuildPhase": 0, "ReqBuildPhase": 0,

View File

@ -6,11 +6,11 @@
<pubDate>Sat Aug 6 0:11:41 CST 2022</pubDate> <pubDate>Sat Aug 6 0:11:41 CST 2022</pubDate>
<copyright>Copyright 2022 Synology Inc</copyright> <copyright>Copyright 2022 Synology Inc</copyright>
<item> <item>
<title>DSM 7.2-64216</title> <title>DSM 7.2-64551</title>
<MajorVer>7</MajorVer> <MajorVer>7</MajorVer>
<MinorVer>2</MinorVer> <MinorVer>2</MinorVer>
<BuildPhase>0</BuildPhase> <BuildPhase>0</BuildPhase>
<BuildNum>64216</BuildNum> <BuildNum>64551</BuildNum>
<BuildDate>2023/03/08</BuildDate> <BuildDate>2023/03/08</BuildDate>
<ReqMajorVer>7</ReqMajorVer> <ReqMajorVer>7</ReqMajorVer>
<ReqMinorVer>0</ReqMinorVer> <ReqMinorVer>0</ReqMinorVer>

View File

@ -6,7 +6,7 @@
# See /LICENSE for more information. # See /LICENSE for more information.
# #
import os, re, subprocess, hashlib, requests, json, yaml import os, re, sys, subprocess, hashlib, requests, json, yaml
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
from urllib.parse import urlparse from urllib.parse import urlparse
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
@ -104,7 +104,7 @@ def synoextractor(url):
return data return data
def main(): # if __name__ == '__main__': def main(isUpdateConfigs = True, isUpdateRss = True):
# Get models # Get models
models=[] models=[]
@ -182,6 +182,8 @@ def main(): # if __name__ == '__main__':
if not all(bool(key) for key in hashdata.keys()): if not all(bool(key) for key in hashdata.keys()):
print("[E] {} synoextractor error".format(url)) print("[E] {} synoextractor error".format(url))
return return
if isUpdateConfigs is True:
isChange = True isChange = True
# config.yml # config.yml
# data["builds"][ver]["pat"] = hashdata # pyyaml 会修改文件格式 # data["builds"][ver]["pat"] = hashdata # pyyaml 会修改文件格式
@ -190,6 +192,7 @@ def main(): # if __name__ == '__main__':
commands = ['sed', '-i', 's|{}|{}|; s|{}|{}|; s|{}|{}|; s|{}|{}|; s|{}|{}|'.format(pat["url"], hashdata["url"], pat["hash"], hashdata["hash"], pat["ramdisk-hash"], hashdata["ramdisk-hash"], pat["zimage-hash"], hashdata["zimage-hash"], pat["md5-hash"], hashdata["md5-hash"]), os.path.join(FILE_PATH, configs, filename)] commands = ['sed', '-i', 's|{}|{}|; s|{}|{}|; s|{}|{}|; s|{}|{}|; s|{}|{}|'.format(pat["url"], hashdata["url"], pat["hash"], hashdata["hash"], pat["ramdisk-hash"], hashdata["ramdisk-hash"], pat["zimage-hash"], hashdata["zimage-hash"], pat["md5-hash"], hashdata["md5-hash"]), os.path.join(FILE_PATH, configs, filename)]
result = subprocess.check_output(commands) result = subprocess.check_output(commands)
if isUpdateRss is True:
# rss.xml # rss.xml
for n in rssxml.findall('.//item'): for n in rssxml.findall('.//item'):
if n.find('.//BuildNum').text == str(ver): if n.find('.//BuildNum').text == str(ver):
@ -198,6 +201,7 @@ def main(): # if __name__ == '__main__':
for idx in range(len(rssjson["channel"]["item"])): for idx in range(len(rssjson["channel"]["item"])):
if rssjson["channel"]["item"][idx]["BuildNum"] == int(ver): if rssjson["channel"]["item"][idx]["BuildNum"] == int(ver):
rssjson["channel"]["item"][idx]["model"].append({"mUnique": hashdata["unique"], "mLink": hashdata["url"], "mCheckSum": hashdata["md5-hash"]}) rssjson["channel"]["item"][idx]["model"].append({"mUnique": hashdata["unique"], "mLink": hashdata["url"], "mCheckSum": hashdata["md5-hash"]})
# if isUpdateConfigs is True:
# # pyyaml 会修改文件格式 # # pyyaml 会修改文件格式
# if isChange is True: # if isChange is True:
# with open(os.path.join(FILE_PATH, configs, filename), "w", encoding='utf-8') as f: # with open(os.path.join(FILE_PATH, configs, filename), "w", encoding='utf-8') as f:
@ -220,4 +224,20 @@ def main(): # if __name__ == '__main__':
if __name__ == '__main__': if __name__ == '__main__':
main()
isUpdateConfigs = True
isUpdateRss = True
if len(sys.argv) > 2:
try:
isUpdateConfigs = bool(int(sys.argv[1]))
except ValueError:
isUpdateConfigs = bool(sys.argv[1])
if len(sys.argv) > 3:
try:
isUpdateRss = bool(int(sys.argv[2]))
except ValueError:
isUpdateRss = bool(sys.argv[2])
main(isUpdateConfigs, isUpdateRss)