Closed jose1711 closed 8 years ago
xbmc.sleep(1000)
znie ako hlupy workaround, ktory v skutocnosti neadresuje dany problem. Mne to asobne to znie ako viacej problem so syncovanim. Ako asi vies, kernel by-default neflushuje vsetko okamzite na disk. Robi to az vtedy, ked si povie, ze je ta spravna chvila. Ak ale potrebujes, aby kernel ukamzite flushol subor na disk, tak skus pridat za f.write(request(url))
riadok f.flush()
a daj vediet, ze ci to pomohlo.
P.S.: Nevie si Kodi tahat titulky cez HTTP ? Kebyze si to Kodi vie managovat same, tak by sme mali o par problemov menej.
f.flush()
som uz skusal, aj 2x za sebou a bez efektu. a ano, viem, ze je to blby napad, ale neviem, ci cas straveny investigovanim skutocnej priciny za to stoji. o moznosti podhodit Kodi http stream neviem
Tak skus este toto. Ak nepomoze ani to, tak problem zrejme lezi niekde inde. Urcite to chce spravne riesenie, ak je problem niekde na nasej strane. xbmc.sleep(1000)
moze sice pomoct tebe, ale nemusi vsetkym ostatnym.
skusil som s tymto:
f = open(compat_path(file), 'w', 0)
f.write(request(url))
f.flush()
f.close()
a titulky sa stale nezobrazuju. ak ale za tym pridam citanie suboru a zobrazenie v debug logu, tak toto funguje. problem teda moze byt niekde "vyssie". nejaky napad?
Dokumentacia hovori, ze buffering=0
je povoleny len v binarnom mode. Skus teda nastavit mod na w+b
.
nezabralo ani s w+b
Tak potom ma uz nic nenapada. Iba skusit overcomnut tento problem tak, ze to cele skusit nechat na Kodi.
Ahojte,
Titulky sa nestiahnu pokial nie je zaslana spravna Cookie hlavicka, cize pouzit cookiejar, vytiahnut z neho cookies ulozit medzi potrebne hlavicky a poslat ich pri stiahnuti tituliek, nieco taketo:
https://gist.github.com/anonymous/ef5c4e6d257c69638e7cbd4e4d35c49e
S problemom som sa stretol pri LibreElec na RPi2, Kodi 16.1 - na OpenElecu sa nic take neprejavovalo. Ide o to, ze titulky boli korektne detegovane, ulozene, no Kodi ich nenacital, teda ani nezobrazil. Po porovnani syscallov, ktore robi OpenElec a LE zacalo byt zrejme, ze sa jedna o problem pri ukladani suboru - vyzera to tak, ze subor s titulkami napriek jeho uzatvoreniu nebol ulozeny. Neviem, ci sa jedna o problem kernelu, LE alebo fw karty, ale velmi jednoduchym riesenim bolo pridanie riadku
xbmc.sleep(1000)
do funkciesave_to_file
, zaf.write(request(url))
(suborxbmcutil.py
).