From d852093749047af230e15f15c97dbf9b0735dc3c Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:06:52 +0200 Subject: [PATCH 1/9] show upcoming chapters (optional) --- src/pl/WebKomiksy.lua | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/pl/WebKomiksy.lua b/src/pl/WebKomiksy.lua index 22ae571..73b3a19 100644 --- a/src/pl/WebKomiksy.lua +++ b/src/pl/WebKomiksy.lua @@ -10,6 +10,11 @@ local FID_STATUS = 3 local FID_CATEGORY = 4 local FID_SORT = 5 +local SID_UPCOMING = 1 +local settings = { + [SID_UPCOMING] = false, +} + local STATUSES = { { value = nil, label = "Wszystkie" }, { value = "completed", label = "Ukończone" }, @@ -69,21 +74,28 @@ local function parseNovel(url, loadChapters) genres = map(doc:select("div:nth-child(2) > div.flex.flex-wrap.gap-2 span"), function(v) return v:text() end), } - if loadChapters then + if loadChapters then local chapters = AsList(map( - doc:select("a.group.h-auto"), + doc:select(settings[SID_UPCOMING] + and "h3:contains(Opublikowane)+div>a, h3:contains(Planowane)+div>div" + or "h3:contains(Opublikowane)+div>a"), function (card) + local title = card:selectFirst("div:has(>h3)"):text() + local chapterNum = title:match("#(%d+)") + local href = card:attr("href") return NovelChapter { - title = card:selectFirst("h3"):text(), - link = card:attr("href"), + title = title, + link = href ~= "" and href or ("/ksiazka/wola-sztuki/czytnik/" .. chapterNum), release = card:selectFirst("span:has(.iconify)"):text() } end )) + local reversed = {} for i = #chapters, 1, -1 do table.insert(reversed, chapters[i]) end + info:setChapters(reversed) end @@ -92,7 +104,7 @@ end local function getPassage(url) local doc = GETDocument(expandURL(url)) - local story = doc:selectFirst("article") + local story = doc:selectFirst("article") or error("\n\nTen rozdział nie jest jeszcze dostępny") return pageOfElem(story, false) end @@ -138,4 +150,11 @@ return { hasSearch = false, isSearchIncrementing = false, search = function() end, + + settings = { + SwitchFilter(SID_UPCOMING, "Pokaż nadchodzące rozdziały") + }, + updateSetting = function(id, value) + settings[id] = value + end, } \ No newline at end of file From a6e109bd7403211838e8d108eaefde7d9d07e696 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:14:02 +0200 Subject: [PATCH 2/9] ci: detect changes also in first commit --- .github/workflows/lua-validate.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index b52dc1f..7ffdb30 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -15,7 +15,11 @@ jobs: - name: Get changed Lua files id: changed run: | - CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^src/.*\.lua$' || true) + if [ "${{ github.event.before }}" = "0000000000000000000000000000000000000000" ]; then + CHANGED=$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | grep '^src/.*\.lua$' || true) + else + CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^src/.*\.lua$' || true) + fi echo "changed=$CHANGED" >> $GITHUB_OUTPUT - name: Restore extension tester from cache From a7499c1b4ff588121feb7de9c9dfc2eddfc6af9b Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:17:36 +0200 Subject: [PATCH 3/9] ci: include older commits when checking files --- .github/workflows/lua-validate.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index 7ffdb30..b2cb3c1 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -11,6 +11,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history so git diff works - name: Get changed Lua files id: changed From c43fee80c888920e496481d411f52eebcc2674ac Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:19:31 +0200 Subject: [PATCH 4/9] ci: print changed files --- .github/workflows/lua-validate.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index b2cb3c1..576efc3 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -22,6 +22,7 @@ jobs: else CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^src/.*\.lua$' || true) fi + echo "Changed Lua files: $CHANGED" echo "changed=$CHANGED" >> $GITHUB_OUTPUT - name: Restore extension tester from cache From 32453910f62754991fa27d60d8448f0f0ab3fde3 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:21:52 +0200 Subject: [PATCH 5/9] style: formatting --- src/pl/WebKomiksy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pl/WebKomiksy.lua b/src/pl/WebKomiksy.lua index 73b3a19..97340a7 100644 --- a/src/pl/WebKomiksy.lua +++ b/src/pl/WebKomiksy.lua @@ -74,7 +74,7 @@ local function parseNovel(url, loadChapters) genres = map(doc:select("div:nth-child(2) > div.flex.flex-wrap.gap-2 span"), function(v) return v:text() end), } - if loadChapters then + if loadChapters then local chapters = AsList(map( doc:select(settings[SID_UPCOMING] and "h3:contains(Opublikowane)+div>a, h3:contains(Planowane)+div>div" From 2f791faa9f623bb094ab704c072c6337bd659f52 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:23:14 +0200 Subject: [PATCH 6/9] bump extension version --- src/pl/WebKomiksy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pl/WebKomiksy.lua b/src/pl/WebKomiksy.lua index 97340a7..de28c49 100644 --- a/src/pl/WebKomiksy.lua +++ b/src/pl/WebKomiksy.lua @@ -1,4 +1,4 @@ --- {"id":23119215,"ver":"1.0.0","libVer":"1.0.0","author":"wasu-code","repo":"","dep":["url>=1.0.0"]} +-- {"id":23119215,"ver":"1.0.1","libVer":"1.0.0","author":"wasu-code","repo":"","dep":["url>=1.0.0"]} local qs = Require("url").querystring From 2e6f6af3d81ae926c1710cab0cd8e277d287c8f2 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:26:15 +0200 Subject: [PATCH 7/9] ci: skip metadata validation (index is generated later automatically) --- .github/workflows/lua-validate.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index 576efc3..0459149 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -37,11 +37,6 @@ jobs: wget -O extension-tester.jar "https://cdn.shosetsu.app/extension-tester/v2.0.0/extension-tester.jar" fi - - name: Validate Lua metadata - if: steps.changed.outputs.changed != '' - run: | - java -jar extension-tester.jar --ci --validate-metadata ${{ steps.changed.outputs.changed }} - - name: Check version bump in changed Lua files if: steps.changed.outputs.changed != '' run: | From a530d553e7f801284b9833c2534f0b86396d2a64 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:32:05 +0200 Subject: [PATCH 8/9] ci: test extension --- .github/workflows/lua-validate.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index 0459149..dbd0278 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -56,3 +56,18 @@ jobs: fi fi done + + - name: Run extension tester on changed Lua files + if: steps.changed.outputs.changed != '' + run: | + set -e + for file in ${{ steps.changed.outputs.changed }}; do + # Only test files matching src//.lua + if [[ "$file" =~ ^src/[^/]+/[^/]+\.lua$ ]]; then + lang=$(echo "$file" | cut -d'/' -f2) + echo "Testing $file" + java -jar extension-tester.jar "$file" + else + echo "Skipping $file (not lua extension)" + fi + done From b935acce4bd705be5dd00193934a9df3027c98f4 Mon Sep 17 00:00:00 2001 From: wasu-code <61418403+wasu-code@users.noreply.github.com> Date: Tue, 27 May 2025 02:38:19 +0200 Subject: [PATCH 9/9] ci: detect changes in Lua files on the current branch compared to the dev branch --- .github/workflows/lua-validate.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/lua-validate.yml b/.github/workflows/lua-validate.yml index dbd0278..84946c3 100644 --- a/.github/workflows/lua-validate.yml +++ b/.github/workflows/lua-validate.yml @@ -17,11 +17,8 @@ jobs: - name: Get changed Lua files id: changed run: | - if [ "${{ github.event.before }}" = "0000000000000000000000000000000000000000" ]; then - CHANGED=$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | grep '^src/.*\.lua$' || true) - else - CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^src/.*\.lua$' || true) - fi + git fetch origin dev:refs/remotes/origin/dev + CHANGED=$(git diff --name-only origin/dev...${{ github.sha }} | grep '^src/.*\.lua$' || true) echo "Changed Lua files: $CHANGED" echo "changed=$CHANGED" >> $GITHUB_OUTPUT @@ -43,8 +40,8 @@ jobs: set -e for file in ${{ steps.changed.outputs.changed }}; do if [ ! -f "$file" ]; then continue; fi - # Get header lines from current and previous commit - old_header=$(git show ${{ github.event.before }}:"$file" 2>/dev/null | head -n 1) + # Get header lines from current and dev branch + old_header=$(git show origin/dev:"$file" 2>/dev/null | head -n 1) new_header=$(head -n 1 "$file") # Extract version numbers old_ver=$(echo "$old_header" | grep -o '"ver": *"[^"]*"' | sed 's/.*"ver": *"\([^"]*\)".*/\1/')