Initial commit: xStream Downloader
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Test the full entry loading flow"""
|
||||
import sys, os
|
||||
BASE = os.path.dirname(os.path.abspath(__file__))
|
||||
sys.path.insert(0, BASE)
|
||||
sys.path.insert(0, os.path.join(BASE, 'xstream'))
|
||||
sys.path.insert(0, os.path.join(BASE, 'deps'))
|
||||
|
||||
# Minimal mocks like mini_app.py
|
||||
import types
|
||||
_MockAddon = type('_MockAddon', (), {
|
||||
'__init__': lambda s, *a, **kw: None,
|
||||
'getAddonInfo': lambda s, k: '1.0.0',
|
||||
'openSettings': lambda s: None,
|
||||
'getSetting': lambda s, k: '',
|
||||
'setSetting': lambda s, k, v: None,
|
||||
})()
|
||||
_MockDialog = type('_MockDialog', (), {
|
||||
'ok': lambda s, *a, **kw: None,
|
||||
'yesno': lambda s, *a, **kw: True,
|
||||
'select': lambda s, *a, **kw: 0,
|
||||
'notification': lambda s, *a, **kw: None,
|
||||
})()
|
||||
_MockDialogBusy = type('_DialogBusy', (), {
|
||||
'create': lambda s, *a, **k: None,
|
||||
'update': lambda s, *a, **k: None,
|
||||
'close': lambda s: None,
|
||||
'isFinished': lambda s: True,
|
||||
})()
|
||||
_MockWindowDialog = type('_WindowDialog', (), {'doModal': lambda s: None})()
|
||||
_MockFile = type('_File', (), {
|
||||
'__enter__': lambda s: s,
|
||||
'__exit__': lambda s, *a: None,
|
||||
'read': lambda s: b'',
|
||||
'write': lambda s, b: 0,
|
||||
'close': lambda s: None,
|
||||
})()
|
||||
_MockPlayer = type('_Player', (), {
|
||||
'play': lambda s, *a, **k: None,
|
||||
'isPlaying': lambda s: False,
|
||||
'getPlayingFile': lambda s: '',
|
||||
'stop': lambda s: None,
|
||||
})()
|
||||
def _make_mod(name, **attrs):
|
||||
m = types.ModuleType(name)
|
||||
for k, v in attrs.items():
|
||||
setattr(m, k, v)
|
||||
return m
|
||||
sys.modules['xbmcaddon'] = _make_mod('xbmcaddon', Addon=_MockAddon)
|
||||
sys.modules['xbmcgui'] = _make_mod('xbmcgui', Dialog=_MockDialog, DialogBusy=_MockDialogBusy, WindowDialog=_MockWindowDialog)
|
||||
sys.modules['xbmcvfs'] = _make_mod('xbmcvfs', File=_MockFile, exists=lambda s: False, mkdir=lambda s: True, mkdirs=lambda s: True, delete=lambda s: True, rename=lambda s,d: True, translatePath=lambda s: '/tmp')
|
||||
sys.modules['xbmc'] = _make_mod('xbmc', Player=lambda: _MockPlayer, executebuiltin=lambda s: None, sleep=lambda s: None, getCondVisibility=lambda s: False, getInfoLabel=lambda s: '', log=lambda s: None)
|
||||
|
||||
try:
|
||||
# Try importing hdfilme
|
||||
from xstream.sites import hdfilme
|
||||
print("hdfilme imported OK")
|
||||
print("has showEntries:", hasattr(hdfilme, 'showEntries'))
|
||||
print("SITE_NAME:", getattr(hdfilme, 'SITE_NAME', 'NOT FOUND'))
|
||||
except Exception as e:
|
||||
print(f"Import error: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
Reference in New Issue
Block a user