Core: Add arm64 version.

This commit is contained in:
Lovi 2025-06-06 12:30:20 +02:00
parent f4529e5f05
commit 49e038a2c8
7 changed files with 43 additions and 15 deletions

View File

@ -48,10 +48,10 @@
"time_change": "2025-05-26 23:22:45"
},
"streamingcommunity": {
"domain": "bid",
"full_url": "https://streamingunity.bid/",
"old_domain": "bio",
"time_change": "2025-06-03 15:27:02"
"domain": "art",
"full_url": "https://streamingunity.art/",
"old_domain": "bid",
"time_change": "2025-06-05 11:18:33"
},
"altadefinizionegratis": {
"domain": "cc",

View File

@ -75,9 +75,24 @@ jobs:
executable: StreamingCommunity_linux_previous
separator: ':'
# ARM64 build
- os: ubuntu-latest
artifact_name: StreamingCommunity_linux_arm64
executable: StreamingCommunity_linux_arm64
separator: ':'
architecture: arm64
runs-on: ${{ matrix.os }}
# For ARM64, set architecture if present
defaults:
run:
shell: bash
steps:
- name: Set up QEMU (for ARM64)
if: ${{ matrix.architecture == 'arm64' }}
uses: docker/setup-qemu-action@v3
- name: Checkout repository
uses: actions/checkout@v4
with:
@ -94,6 +109,7 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: '3.12'
architecture: ${{ matrix.architecture || 'x64' }}
- name: Install dependencies
run: |
@ -122,6 +138,8 @@ jobs:
--hidden-import=Cryptodome.Util --hidden-import=Cryptodome.Util.Padding \
--hidden-import=Cryptodome.Random \
--hidden-import=telebot \
--hidden-import=curl_cffi --hidden-import=_cffi_backend \
--collect-all curl_cffi \
--additional-hooks-dir=pyinstaller/hooks \
--add-data "StreamingCommunity${{ matrix.separator }}StreamingCommunity" \
--name=${{ matrix.artifact_name }} test_run.py

View File

@ -16,12 +16,12 @@ jobs:
- name: Count Lines of Code
run: |
LOC=$(cloc . --json | jq '.SUM.code')
echo "{\"schemaVersion\": 1, \"label\": \"Lines of Code\", \"message\": \"$LOC\", \"color\": \"green\"}" > .github/media/loc-badge.json
echo "{\"schemaVersion\": 1, \"label\": \"Lines of Code\", \"message\": \"$LOC\", \"color\": \"green\"}" > .github/.domain/loc-badge.json
- name: Commit and Push LOC Badge
run: |
git config --local user.name "GitHub Actions"
git config --local user.email "actions@github.com"
git add .github/media/loc-badge.json
git add .github/.domain/loc-badge.json
git commit -m "Update lines of code badge" || echo "No changes to commit"
git push

View File

@ -25,7 +25,7 @@
<img src="https://img.shields.io/pypi/dm/streamingcommunity?style=for-the-badge" alt="PyPI Downloads"/>
</a>
<a href="https://github.com/Arrowar/StreamingCommunity">
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Arrowar/StreamingCommunity/main/.github/media/loc-badge.json&style=for-the-badge" alt="Lines of Code"/>
<img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/Arrowar/StreamingCommunity/main/.github/.domain/loc-badge.json&style=for-the-badge" alt="Lines of Code"/>
</a>
</p>
@ -518,7 +518,7 @@ To enable qBittorrent integration, follow the setup guide [here](https://github.
"download_subtitle": true,
"merge_subs": true,
"specific_list_subtitles": [
"ita",
"ita", // Specify language codes or use ["*"] to download all available subtitles
"eng"
],
"cleanup_tmp_folder": true
@ -544,6 +544,8 @@ To enable qBittorrent integration, follow the setup guide [here](https://github.
- `download_subtitle`: Whether to download subtitles
- `merge_subs`: Whether to merge subtitles with video
- `specific_list_subtitles`: List of subtitle languages to download
* Use `["*"]` to download all available subtitles
* Or specify individual languages like `["ita", "eng"]`
* Can be changed with `--specific_list_subtitles ita,eng`
#### Cleanup

View File

@ -180,10 +180,14 @@ class M3U8Manager:
self.sub_streams = []
if ENABLE_SUBTITLE:
self.sub_streams = [
s for s in (self.parser._subtitle.get_all_uris_and_names() or [])
if s.get('language') in DOWNLOAD_SPECIFIC_SUBTITLE
]
if "*" in DOWNLOAD_SPECIFIC_SUBTITLE:
self.sub_streams = self.parser._subtitle.get_all_uris_and_names() or []
else:
self.sub_streams = [
s for s in (self.parser._subtitle.get_all_uris_and_names() or [])
if s.get('language') in DOWNLOAD_SPECIFIC_SUBTITLE
]
def log_selection(self):
tuple_available_resolution = self.parser._video.get_list_resolution()
@ -209,9 +213,13 @@ class M3U8Manager:
f"[red]Set:[/red] {set_codec_info}"
)
# Get available subtitles and their languages
available_subtitles = self.parser._subtitle.get_all_uris_and_names() or []
available_sub_languages = [sub.get('language') for sub in available_subtitles]
downloadable_sub_languages = list(set(available_sub_languages) & set(DOWNLOAD_SPECIFIC_SUBTITLE))
# If "*" is in DOWNLOAD_SPECIFIC_SUBTITLE, all languages are downloadable
downloadable_sub_languages = available_sub_languages if "*" in DOWNLOAD_SPECIFIC_SUBTITLE else list(set(available_sub_languages) & set(DOWNLOAD_SPECIFIC_SUBTITLE))
if available_sub_languages:
console.print(
f"[cyan bold]Subtitle [/cyan bold] [green]Available:[/green] [purple]{', '.join(available_sub_languages)}[/purple] | "

View File

@ -157,7 +157,7 @@ def global_search(search_terms: str = None, selected_sites: list = None):
# Display progress information
console.print(f"\n[bold green]Searching for:[/bold green] [yellow]{search_terms}[/yellow]")
console.print(f"[bold green]Searching across:[/bold green] {len(selected_sites)} sites")
console.print(f"[bold green]Searching across:[/bold green] {len(selected_sites)} sites \n")
with Progress() as progress:
search_task = progress.add_task("[cyan]Searching...", total=len(selected_sites))
@ -188,7 +188,7 @@ def global_search(search_terms: str = None, selected_sites: list = None):
item_dict['source_alias'] = alias
all_results[alias].append(item_dict)
console.print(f"[green]Found {len(database.media_list)} results from {site_name}")
console.print(f"\n[green]Found {len(database.media_list)} results from {site_name}")
except Exception as e:
console.print(f"[bold red]Error searching {site_name}:[/bold red] {str(e)}")