Add movetv

This commit is contained in:
Nirvana
2026-03-26 13:11:58 +01:00
parent 94d57c640f
commit c9b3cb1488
4 changed files with 30 additions and 12 deletions
@@ -58,6 +58,8 @@ class MoveTVConfig:
# -------------------------------------------------------------------------
DTYPE_DASH: int = 1
DEFAULT_LANG: int = 1
# -------------------------------------------------------------------------
# Header builders
# -------------------------------------------------------------------------
@@ -197,6 +197,8 @@ class MoveTVProvider(StreamingProvider):
payload = {
"customerId": session["customer_id"],
"customerProfileId": session["customer_profile_id"],
"lang": MoveTVConfig.DEFAULT_LANG,
"appVersion": MoveTVConfig.APP_VERSION,
}
response = self.http_manager.post(
+8 -2
View File
@@ -343,7 +343,10 @@ def setup_m3u_routes(app, manager, service):
provider_list = manager.list_providers()
for provider_name in provider_list:
try:
channels = manager.get_subscribed_channels(provider_name)
channels = sorted(
manager.get_subscribed_channels(provider_name),
key=lambda ch: (ch.channel_number is None, ch.channel_number or 0)
)
for channel in channels:
# Generate M3U entry for each subscribed channel
@@ -441,7 +444,10 @@ def setup_m3u_routes(app, manager, service):
provider_list = manager.list_providers()
for provider_name in provider_list:
try:
channels = manager.get_subscribed_channels(provider_name)
channels = sorted(
manager.get_subscribed_channels(provider_name),
key=lambda ch: (ch.channel_number is None, ch.channel_number or 0)
)
# Get provider label
try:
+18 -10
View File
@@ -531,6 +531,14 @@ class UltimateService:
response.content_type = "application/json"
return json.dumps({"error": f"Failed to fetch manifest: {str(fetch_err)}"})
@staticmethod
def _sort_channels(channels):
"""Sort channels by channel_number ascending; channels without a number come last."""
return sorted(
channels,
key=lambda ch: (ch.channel_number is None, ch.channel_number or 0)
)
def _generate_m3u_content(
self, providers=None, save_to_cache=True, cache_filename=None
):
@@ -566,8 +574,8 @@ class UltimateService:
for provider_name in providers_to_process:
try:
# Get channels for this provider
channels = self.manager.get_channels(
provider_name=provider_name, fetch_manifests=False
channels = self._sort_channels(
self.manager.get_channels(provider_name=provider_name, fetch_manifests=False)
)
# Add each channel to M3U
@@ -631,8 +639,8 @@ class UltimateService:
for provider_name in providers_to_process:
try:
# Get channels for this provider
channels = self.manager.get_channels(
provider_name=provider_name, fetch_manifests=False
channels = self._sort_channels(
self.manager.get_channels(provider_name=provider_name, fetch_manifests=False)
)
# Get provider label
@@ -733,8 +741,8 @@ class UltimateService:
for provider_name in providers_to_process:
try:
# Get channels for this provider
channels = self.manager.get_channels(
provider_name=provider_name, fetch_manifests=False
channels = self._sort_channels(
self.manager.get_channels(provider_name=provider_name, fetch_manifests=False)
)
# Get provider label
@@ -852,8 +860,8 @@ class UltimateService:
for provider_name in providers_to_process:
try:
# Get channels for this provider
channels = self.manager.get_channels(
provider_name=provider_name, fetch_manifests=False
channels = self._sort_channels(
self.manager.get_channels(provider_name=provider_name, fetch_manifests=False)
)
# Get provider instance for label and proxy config
@@ -1181,8 +1189,8 @@ class UltimateService:
for provider_name in providers_to_process:
try:
# Get channels for this provider
channels = self.manager.get_channels(
provider_name=provider_name, fetch_manifests=False
channels = self._sort_channels(
self.manager.get_channels(provider_name=provider_name, fetch_manifests=False)
)
# Get provider instance for label and proxy config