- Nvidia GPU-k jövője - amit tudni vélünk
- CES 2025: prezentálta az NVIDIA az új GeForce-okat
- AMD GPU-k jövője - amit tudni vélünk
- ThinkPad (NEM IdeaPad)
- Mini-ITX
- Androidos fejegységek
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Projektor topic
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- A Keychron K2 HE rapid trigger billentyűzet tesztje
Új hozzászólás Aktív témák
-
TGWH
őstag
Kössz, akkor megnézem mit lehet. Utána a keretrendszereket. Aztán amelyik marad
Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
Siriusb
veterán
Nem, nem tudsz egy python fájlt úgy működtetni pl. egy Apache szerveren, mint egy php-t. És a kettőt nem is tudod keverni.
Amíg egy index.php-t valóban csak beraksz a public_html-be és azonnal láthatod az eredményt, egy django-ban készített honlap elindítása ennél bonyolultabb.
Ráadásul amíg gyakorlatilag minden szolgáltatónál tudsz php kódot futtatni, magyarországi viszonylatban a python támogatás egyáltalán nem evidens. -
TGWH
őstag
válasz Siriusb #3192 üzenetére
Azt néztem hogy könnyű, sokkal rövidebb a kód is, mint Java-ba.
Lehet vele saját kiterjesztéssel honlapot írni? mindegy, php menüt akár be is másolhatok, azzal nincs gond.
Nyilván ha nem támogatja a szerver egyiket, akkor az gond, erre rákérdezek.
Akkor lényegében meg lehet csinálni Phython-ban amit szeretnék.
Mi volt a másik két hsz-ban, egyet látok, három újat mutatottSzeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
Siriusb
veterán
Személy szerint a php-t nem szeretem, nekem valamiért nem szimpatikus, jobbára csak annyit foglalkoztam vele, amikor egy már megírt kódba bele kellett nyúlni.
Python viszont tetszik a maga "lazaságával", a különféle modulok segítségével sok mindent meg lehet csinálni. Több mindenre használom, az email küldéstől kezdve adatbázis (sqlite) kezelésig, pdf feldolgozás, fájlok manipulásása stb. Django framework-kel vannak tapasztalataim, nekem bejön, viszont ha weboldalt készítesz vele, azt vedd figyelembe, hogy sok tárhelyszolgáltató nem támogatja, emiatt mondjuk praktikusabb a php.
És a python még egy előnye, hogy – szerintem – könnyű elsajátítani. -
TGWH
őstag
Kössz. Ezt nagyon meg kell emészteni. Ezek alapján elindulhatok utána nézni. Aztán majd csak lesz valami.
Akkor úgy tűnik elakadtam.
Vagy könnyebb lenne egy speciális nyelvvel, amit direkt arra írtak amit én akarok?
Vagy ha nagyon elakadok szerver oldalon, akkor még mindig lehet egy Java/Phython asztali vagy mobil app, ami annyit csinál, hogy küldd egy e-mailt, utána meg másolni kell egy html sablonba...nem elegáns, de minimálSzeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
Nem.
A programot mindig a saját környezetedben fejleszted - lokális vagy távoli, mindegy. A weboldalakat úgy kezeld, mintha az lenne a programod grafikus felülete, mert pont ugyanúgy is viselkedik - a különböző vezérlőelemek viselkedését pont ugyanúgy le kell programozni, mintha bármilyen más GUI keretrendszert használnál.
A keretrendszerek mellőzéséről: bármilyen magas szintű nyelv a választásod, már keretrendszerben dolgozol, mert nem kell leprogramoznod az alapvető I/O műveleteket, nem kell tudnod (jó esetben), hogyan működnek. Ugyanez igaz a webes frameworkökre is: nem kell megírnod, hogyan kezelje a requesteket, mert valaki már megtette, neked elég, ha működik.
Persze nekiállhatsz sajátnak, nincs azzal baj - ha ez érdekel. Ha nem, akkor kénytelen vagy elfogadni a már elkészült eszközöket.Adatbázis: ha már file-ba írsz adatot, az adatbázis (file nélkül nincs perzisztencia), legfeljebb nem szabványos a logikai szerkezet. Ez addig jó, amíg magadnak hobbiból programozgatsz, de amint másnak/másoknak, már nem.
A coursera-n egyébként van egy nagyon jó Python kurzus kezdőknek, nagyon tudom ajánlani.
https://www.coreinfinity.tech
-
TGWH
őstag
Igen, kereső az első két oldalon tanfolyamokat hirdet csak.
Pont hogy ki akartam hagyni első körben a keretrendszereket. Először megnéztem mik vannak, mi lehet jó nekem, maradt ez a kettő. Gondoltam megnézem melyik mire jó, miért lehet jobb, melyiket tudom jobban használni arra amire nekem kell.Html meg css nagyon egyszerű. Vagy 15 éve nehezebb volt összehozni amit akarok, de mostanra belátták, hogy úgy kell ahogy én is csináltam így meg hogy azt támogatják amit én is szeretnék, nagyon egyszerű
És akkor hogy képzeljem el? Van egy ,,program'', mint html-nél akár a wp, amit felmásolom a szerverre, bejelentkezem, és abban dokgozok?
Mi kell neki? Adatbázist használ? Mert azt ki szeretném hagyni. Vagyis nem szeretném kihagyni, de egyelőre úgy tűnik muszáj...Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
Én is azt hittem, bonyolult a dolog, de nem az.
Ami a böngészőben megjelenik, az html és css. Ha feltesszük, hogy van egy formod, amin adatot küldesz a szervernek, akkor kell egy script, ami lekelekezeli a gombnyomást. Ilyenkor lépnek működésbe a választott nyelven leprogramozott feladatok.https://www.coreinfinity.tech
-
TGWH
őstag
válasz ezmialo #3179 üzenetére
Alapok vannak, sok nem. Valamit szeretnék elkezdeni. És akkor már lenne egy project, hogy legyen értelme.
Szerintem egyelőre hagyom, és elkezdem inkább a php-t. Szerver oldali fájlkezelés, weboldalra bejelentkezés, adatok felvitele, stb. Esetleg mysql, SQL és adatbáziskezelés nem gond, de egyelőre anélkül.
Aztán majd a kettő közül most úgy látom, inkább a Java-t kezdem el. Majd valamikor.
Kössz mindenkinek!Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
sztanozs
veterán
válasz Hege1234 #3178 üzenetére
Ezekkel a linkekkel nincs semmi baj (legalább is a kapcsolat létrejön), csak a szerveroldalon van valami gond velük. A címből nem lehet megállapítani, hogy problémás-e, meg kell nézni, hogy jön-e adat a stream-en, és ha nem csak discard...
Az alábbi funkcióval ellenőrizhető, hogy megnyitható-e a cím, és hogy 5 mp-en belül jön-e adat:
def check_server(url):
try:
with requests.get(url, timeout=5, stream=True) as r:
next(r.iter_content())
return True
except requests.exceptions.ConnectionError:
return FalseA következő sor helyére tehető be az ellenőrzés:
if src:
ígyif src and check_server(src):
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
ezmialo
friss újonc
Programozni tudsz???
Bocs,a kérdésedből nekem az jön le, hogy számodra programozás==programnyelvismeret.
Ha így van, akkor előbb ess neki az elméletnek, apróbb kódokat meg abban írj, amit az adott tankönyv/tutorial javasol.
Utána kezdetnek jó a python, esetleg mellé a perl pl egyszerűbb szövegfeldolgozáshoz mindenképpen jobbak, mint bármi egyéb. Utána...
Ha tudsz programozni, akkor attól függ, mire kell, ahogy már más is mondta.
Nagy terhelésű webes szoftvert én nem bíznék a pythonra, de olyan kis gagyi szolgáltatások, mint a googe vagya youtube igen... 🙂 -
Hege1234
addikt
import requests
from bs4 import BeautifulSoup
def parse_src(text_response, src=''):
try:
soup = BeautifulSoup(text_response, 'html.parser')
for vid in soup.find_all('source'):
src = vid['src']
except:
pass
return src
def parse_text(text_response, line, src=''):
try:
return text_response.split("\n")[line]
except:
return src
def parse_xspf(src=''):
try:
soup = BeautifulSoup(html_response.text, 'html.parser')
src = soup.find('location').text
except:
pass
return src
m3_data = [
{
'name': 'Film Now',
'url': 'https://onlinestream.live/play.xspf?id=7061&ch=1&ext=.xspf',
'logo': '"https://musor.tv/images/filmnow.png"',
'channel-num': '"4"',
'group': '"Filmek"',
'parser': parse_xspf,
'parser_args': {},
},
{
'name': 'The Heartland Network',
'url': 'http://streamstat.net/videoplayer.cgi?sid=71076387&ext=.m3u8',
'logo': '"https://upload.wikimedia.org/wikipedia/en/b/ba/Heartland_TV_logo.png"',
'channel-num':'"38"',
'group':'"Angol;Zene"',
'parser': parse_src,
'parser_args': {},
},
{
'name': 'CBS Reality',
'url': 'https://raw.githubusercontent.com/Special2020/Iptv-hu.m3u/master/Uj%20T%20A.m3u',
'logo': '"https://static.wikia.nocookie.net/logopedia/images/c/ce/CBS_Reality_%28Stacked%29.svg/revision/latest/scale-to-width-down/185?cb=20191203154407"',
'channel-num': '"79"',
'group': '""',
'parser': parse_text,
'parser_args': {'line': 310},
},
]
exif_info = '#EXTM3U\n'
for channel in m3_data:
html_response = requests.get(channel['url'])
parser = channel['parser']
extra = channel['parser_args']
src = parser(html_response.text, **extra)
if src:
channel['src'] = src
exif_info += f'#EXTINF:0, tvg-chno={channel["channel-num"]}, group-title={channel["group"]}, tvg-logo={channel["logo"]}, {channel["name"]}\n{src}\n'
print(exif_info, file=open("test.m3u8", "w"))
print(exif_info)a kapott linkekből van pár elég fura link
http://193.33.39.106:8790/ (Film Now) nem működik VLC alól
de nem errort dob hanem csak próbálná elindítani a végtelenségig
Kodi meg kb lefagy tőle..valamelyik link addig printelne amíg nincs leállítva ezért tettem be egy exit() -et
pl. az ilyen linkek miatt
http://193.33.39.108:7000/play/a006urllib3.disable_warnings()
ez pedig a https linkek miatt kellettimport requests
import urllib3
urllib3.disable_warnings()
def check_stream_link(url):
try:
s = requests.Session()
with s.get(url, stream=True, verify=False, timeout=1) as resp:
for line in resp.iter_lines():
if line:
print(line)
exit()
except:
pass
url = 'http://193.33.39.106:8790/'
check_stream_link(url)teszteltem mind a 82 linket csak akkor printelt üresen, ha ez a végtelen próbálkozás történik (kb 4 ilyen link volt)
hozzá lehetne esetleg valahogy tenni ezt úgy, hogy csak azokat adja hozzá az exif_info-hoz ha a print nem üres?[ Szerkesztve ]
-
-
cousin333
addikt
válasz sztanozs #3166 üzenetére
Minden viszonylagos, azért Pythonhoz is akadnak modulok szép számmal, attól is függ, mire kell. Az tény, hogy nincs annyira előtérben, mint mondjuk a C# esetén.
Ott a tkinter, ami ráadásul integrálva van az alap telepítésben. A világot nem váltja meg, de azért lehet vele GUI-t gyártani. Aztán ott a Qt, amihez használható a Qt Designer. Telepíteni lehet, hogy macera (Anaconda FTW), de ha ez megvan, onnantól viszonylag egyszerű integrálni. A hordozhatóság egy másik kérdés...
Még a kivy-t szokták emlegetni, mint modern alternatívát. Életképesnek tűnik, de sosem használtam.
Egyébként meg sok felhasználáshoz GUI sem kell, vagy ha igen, akkor meg csak kódfuttatáshoz, egyszerű (esetleg dinamikus) grafikonok, táblázatok megjelenítéséhez, elsősorban az adatgyűjtés, adatfeldolgozás, illetve hasonló (pl. akadémia) munkák esetén. Ehhez elérhető egy remek környezet: a Jupyter Notebook/Lab, ami viszont a maga nemében egyedülálló.
Grafikára van PyGame, ezt sem használtam sosem. Ha viszont 2D/3D grafikonokra gondolsz, akkor abból annyi féle van, hogy Dunát lehet rekeszteni velük, még árvíz idején is.
[ Szerkesztve ]
"We spared no expense"
-
cousin333
addikt
válasz Mr Dini #3173 üzenetére
Én nem értek a lovakhoz, de gondolom a Flask korábbi, elterjedtebb csomag. Sokszor idő kell, mire egy adott modult felfedeznek és használni kezdenek (és a dokumentációja is feljavul).
Az async eleve nem tekint vissza nagy múltra, más csomagok is csak óvatosan migrálnak rá. Egyébként pedig a Quart honlapjáról: "remember that Quart is an implementation of the Flask API". Szóval a nagy előd azért nem teljesen haszontalan...
[ Szerkesztve ]
"We spared no expense"
-
Mr Dini
addikt
Ha már szóba került a Flask, mi ez a hatalmas hype körülötte? Ok, hogy faék egyszerű használni, meg pár sor kóddal megvan egy kezdetleges api, de még ő maga sem ajánlja semmihez, max teszt környezethez a használatát. Olyan szinten lassú, meg ugye sync webszerver. Még ha lokálisan is kéne egy gépen valamit kiszolgálni se használnám, mert simán lehet, hogy amíg egy api hívás felfogja az egészet, a többi kiszolgálásával nem is fog foglalkozni.
De tényleg minden python webes tutorial úgy kezdi, hogy akkor api írás flask alapon... Ehhez képest az async variáns, a Quart alig kap említést pedig kb teljes mértékben kompatibilis. Én még úgy olvastam annó, hogyha web, akkor async (minimum). Akkor mi a létjogosultsága a Flasknak azon kívül, hogy mondjuk egy teszt környezetben lehessen használni?
Minden egér szereti a sajtot... Kivéve a Logitech G305.
-
válasz Siriusb #3169 üzenetére
Django - full extrás
Flask - lightweight.Szerintem a Flask könnyebb. Olyat is lehet, hogy a web frontend html+css és electronnal csinálsz belőle desktop appot, de ebben benne lesz egy chromium is, tehát az app nem lesz apró. Installert is lehet csinálni electronnal.
https://www.coreinfinity.tech
-
TGWH
őstag
Ha a szerveren fut, és honlapra megy a kimenet, akkor nem gond ha macera a 2d
Android nem létkérdés, de úgy tudom java-ból ugyan azt a kódot lefordíthatom androidra, pc-re, mac-re, linuxra, bármire.Mi a könnyebb? Python-ban vagy java-ban asztali grafikus programot írni? Nyilván a web az már egy plusz, és azzal együtt? Mi kell még ahhoz? Mysql meg Php?
Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
-
sztanozs
veterán
Pythonban két dolgot nem lehet könnyen/egyszerűen megcsinálni. Az a GUI és a grafika (2D/3D). Ha ez nem zavar (és az a tény, hogy interpreteres nyelvről van szó), akkor a python - majdnem - mindenre jó.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
TGWH
őstag
A Java az Android miatt lenne érdekes, de nem létfeltétel. De bonyolultabbnak tűnik.
Elsőre adatbázis kezelés, később weboldal készítéshez használnám. Html, CSS nem gond, mysql régen volt, PHP-be nem mentem bele.Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
Majdnem bármit. Egy mai, modernnek nevezett asztali Linux disztribúciónak legalább a fele pythonban készül.
Kernelt és hardverközeli dolgokat nem ebben írnak, de szinte bármi másra jó: ML, AI, webfejlesztés, hálózat, tudományos számítások, dokumentum-kezelés, image processing, arcfelismerés és még hosszan lehetne sorolni.
Mit akarnál fejleszteni?
[ Szerkesztve ]
https://www.coreinfinity.tech
-
TGWH
őstag
Sziasztok.
Python és Java között vacilálok.
Csak nagy vonalakban írták le őket. Mire használható jobban a Python, mit lehet belőle kihozni?Szeretném harsogni kétkedők fülébe, Szeretném égetni reszketők lelkébe, Lángbetűkkel írni véres magyar égre: Ez a hit a fegyver, hatalom és élet, Ezzel porba zúzod minden ellenséged, Ezzel megválthatod minden szenvedésed. E jelszót, ha írod lobogód selymére, Ezt, ha belevésed kardod pengéjébe
-
sztanozs
veterán
válasz Hege1234 #3159 üzenetére
Összeraktam inkább rendesen...
import requests
from bs4 import BeautifulSoup
def parse_src(text_response, src=''):
try:
soup = BeautifulSoup(text_response, 'html.parser')
for vid in soup.find_all('source'):
src = vid['src']
except:
pass
return src
def parse_text(text_response, line, src=''):
try:
return text_response.split("\n")[line]
except:
return src
m3_data = [
{
'name': 'CINE LIFE HD',
'url': 'http://streamstat.net/videoplayer.cgi?sid=14358315&ext=.m3u8',
'logo': 'https://cinelife.com/wp-content/uploads/2020/04/cinelife_logo.png',
'parser': parse_src,
'parser_args': {},
},
{
'name': 'FEM 3',
'url': 'https://onlinestream.live/fem3/videoplayer/6455-1',
'logo': 'http://1241.hu/userfiles/image/tvcsatornak/fem3.jpg',
'parser': parse_src,
'parser_args': {},
},
{
'name': 'Extreme Sports Channel',
'url': 'https://raw.githubusercontent.com/Special2020/Iptv-hu.m3u/master/Uj%20T%20A.m3u',
'logo': 'https://cdn.pngsumo.com/tv-guide-extreme-sports-channel-the-home-of-action-sports-action-sports-png-320_240.png',
'parser': parse_text,
'parser_args': {'line': 308},
},
{
'name': 'FIX TV',
'url': 'http://streamstat.net/videoplayer.cgi?sid=148177550&ext=.m3u8',
'logo': 'http://1241.hu/userfiles/image/tvcsatornak/pic_atkoto_55_fix_tv.png',
'parser': parse_src,
'parser_args': {},
},
]
exif_info = '#EXTM3U\n'
for channel in m3_data:
html_response = requests.get(channel['url'])
parser = channel['parser']
extra = channel['parser_args']
src = parser(html_response.text, **extra)
if src:
channel['src'] = src
exif_info += f'#EXTINF:0,tvg-logo={channel["logo"]}, {channel["name"]}\n{src}\n'
print(exif_info, file=open("test.m3u8", "w"))[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
-
Hege1234
addikt
válasz sztanozs #3158 üzenetére
köszi, addig mindent szépen szűr amíg a FIXTV nincs hozzáadva
ha azt is hozzáírom akkor már elhasalimport requests
from bs4 import BeautifulSoup
html_url22 = "http://streamstat.net/videoplayer.cgi?sid=14358315&ext=.m3u8"
html_response = requests.get(html_url22)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
CINELIFEHD = vid['src']
html_url23 = "http://streamstat.net/videoplayer.cgi?sid=148177550&ext=.m3u8"
html_response = requests.get(html_url23)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
FIXTV = vid['src']
html_url40 = "https://raw.githubusercontent.com/Special2020/Iptv-hu.m3u/master/Uj%20T%20A.m3u"
ExtremeSportsChannel = requests.get(html_url40)
html_url14 = "https://onlinestream.live/fem3/videoplayer/6455-1"
html_response = requests.get(html_url14)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
fem3 = vid['src']
if 'http' in vid['src']:
print(
"#EXTM3U"
+ '\n' +
"#EXTINF:0,tvg-logo=https://cinelife.com/wp-content/uploads/2020/04/cinelife_logo.png, CINE LIFE HD" + '\n' +
CINELIFEHD + '\n' +
"#EXTINF:0,tvg-logo=http://1241.hu/userfiles/image/tvcsatornak/fem3.jpg, FEM3" + '\n' +
fem3 + '\n'
"#EXTINF:0,tvg-logo=https://cdn.pngsumo.com/tv-guide-extreme-sports-channel-the-home-of-action-sports-action-sports-png-320_240.png, Extreme Sports Channel" + '\n' +
ExtremeSportsChannel.text.split("\n")[308]
+ '\n' + "#EXTINF:0,tvg-logo=http://1241.hu/userfiles/image/tvcsatornak/pic_atkoto_55_fix_tv.png, Fix" + '\n' +
FIXTV
,file=open("test.m3u8", "w"))Traceback (most recent call last):
File "C:\scrape\test.py", line 37, in <module>
FIXTV
NameError: name 'FIXTV' is not definedha csak az egyszerűbb verziót printelem ki akkor is ezt írja
if 'http' in vid['src']:
print(CINELIFEHD+FIXTV)NameError: name 'FIXTV' is not defined
-
Hege1234
addikt
Üdv!
az egyik oldalon
tegnap óta csak egy text jelenik meg
(No listen URL! SID not found!)
mivel hiába keres, így a print hibára fut
megoldható lenne valahogy, hogy csak akkor printelje ki ha pl tartalmazza a http szót?
ha nincs akkor csak egy új sort írjon hozzá '\n' ?csak simán a
print(CINELIFEHD)
kiadja az url-t ezért persze csak gondolom, hogy elég lenne a http-re szűrni
https://magselect-stirr.amagi.tv/playlist1080p.m3u8import requests
from bs4 import BeautifulSoup
html_url22 = "http://streamstat.net/videoplayer.cgi?sid=14358315&ext=.m3u8"
html_response = requests.get(html_url22)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
CINELIFEHD = vid['src']
html_url23 = "http://streamstat.net/videoplayer.cgi?sid=148177550&ext=.m3u8"
html_response = requests.get(html_url23)
soup = BeautifulSoup(html_response.text, 'html.parser')
for vid in soup.find_all('source'):
FIXTV = vid['src']
print(CINELIFEHD+FIXTV) -
Hege1234
addikt
válasz sztanozs #3145 üzenetére
#3145 sztanozs:
köszönöm ami a linkben van az úgy tökéletes és a kodi se találta hibásnak!import json
import base64
import requests
import xbmc
credentials = b'kodi:kodi'
encoded_credentials = base64.b64encode(credentials)
authorization = b'Basic ' + encoded_credentials
headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
url = 'http://192.168.1.10:8080/jsonrpc?Base'
data = [
{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
h,m,s = map(int, [result[0]['result']['time'][val] for val in ['hours','minutes','seconds']])
time = f'{h:02}{m:02}{s:02}'
with open('c:\\kodi\\save.txt', 'r') as original: data = original.read()
with open('c:\\kodi\\save.txt', 'w') as modified: modified.write(result[1]['result']['item']['file']+'\n'+time+'\n'+result[1]['result']['item']['label']+'\n'+'----------'+'\n' + data)
xbmc.executebuiltin('Action(CreateBookmark)')megfogadom a tanácsod még magyarul is találtam oktatóanyagokat
#3148 v.hulladék
egyébként miért ördögtől való az, hogy a fájl elejére szeretnék írni? -
sztanozs
veterán
válasz Hege1234 #3144 üzenetére
beszúrást nem tud, ahogy a többiek is írták:
- file megnyit olvsásra, beolvas sztringbe, bezár
- file megnyit írásra, beleírod az elejét, visszaírod a beolvasottat, bezár
https://stackoverflow.com/questions/4454298/prepend-a-line-to-an-existing-file-in-pythonAmúgy még mindig tartom magam az előző véleményemhez - egyáltalán nem bántásból -, de ha olyan kérdések merülnek fel, hogy miért nem ír ki valmit, amikor nem rakod bele print-be vagy write-ba a változót, akkor még csiszolj kicsit az alapokon.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
outfile.seek(-1) kipróbálom majd köszi
nem csak pár sort kellett volna beszúrnom ez igaz
délután leírok mindent azt is ami "értelmezi" a txt fájlt -
Hege1234
addikt
köszönöm a tanácsokat délután lesz vele időm foglalkozni
amiket írtatok ezek szerint jobban át kell gondolnom hogyan is kellene megoldaniha egy példával kellene akkor talán úgy nézne ki mint egy todo list
csak itt az átlag 1 soros todo list helyett 4 sort írna egyszerre mindiga fájl minden sorát megtartva csak az elejére mindig 4 sor kerülne
az "r+" azért nem jó mivel azzal a már meglévő sorokhoz nem ír pluszban hozzá
hanem csak mindig az elejére írja -
Mr Dini
addikt
válasz cousin333 #3139 üzenetére
Én sem tudok olyan fájlrendszerről, ami tudna prependet. Simán beolvasnám az egész fájl tartalmát memóriába ha ilyen kéne egy read()-del, aztán hozzáfűzném az új adatot sima concattal "uj_sorok + fajl_tartalma", majd ezt írnám ki az eredeti fájl helyére.
Minden egér szereti a sajtot... Kivéve a Logitech G305.
-
-
Hege1234
addikt
válasz Hege1234 #3137 üzenetére
with open('c:\\kodi\\save.txt', 'a+') as outfile:
outfile.write(result[1]['result']['item']['file']+'\n'+time+'\n'+result[1]['result']['item']['label']+'\n'+'----------'+'\n')
outfile.seek(0)futtatás után a seek(0) miatt nem úgy kellene működnie, hogy az új 4 sor a fájl elejére kerüljön és ne végére?
-
Hege1234
addikt
print(result[1]['result']['item']['file'],time,result[1]['result']['item']['label'], '------------', sep='\n', file=open("c:\\kodi\\save.txt", "a+"))
smb://192.168.1.10/@.mkv
004741
The Mitchells vs. The Machines
------------
smb://192.168.1.10/@.mkv
000541
Childrick of Mort
------------az "a+" -helyett melyik az ami nem a végére ír hanem az elejére?
a "w+" hasznos lenne csak az felül is írja az egész fájlt
a seek(0) -t lehet valahogy használni a print részbe?sztanozs: igen, az tényleg jó lenne ha lenne olyan amiben egy témában benne van minden részlet de általában a videó végére az szokott lenni, hogy mindenről volt szó csak arról nem amihez nekem kellet volna.
-
sztanozs
veterán
válasz Hege1234 #3133 üzenetére
mondjuk nem ártana egy python gyorstalpalót lenyomnod, szvsz már rég meg tudtad volna csinálni magadtól, ha végigtolsz egy 2-3 órás python-alapok videót...
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz sztanozs #3131 üzenetére
amit kapok terminálba az úgy tökéletes!
amikor txt-be menteném ott már csak a szám szerepel és a link nemimport json
import base64
import requests
credentials = b'kodi:kodi'
encoded_credentials = base64.b64encode(credentials)
authorization = b'Basic ' + encoded_credentials
headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
url = 'http://192.168.1.10:8080/jsonrpc?Base'
data = [
{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
response = requests.post(url, headers=headers, data=json.dumps(data))
result = response.json()
h,m,s = map(int, [result[0]['result']['time'][val] for val in ['hours','minutes','seconds']])
time = f'{h:02}{m:02}{s:02}'
print(result[1]['result']['item']['file'],time, sep='\n')
smb://192.168.1.10/n filmek 720p/@.mkv
012456with open('c:\\kodi\\info.txt', 'w') as outfile:
outfile.write(time)itt próbáltam a time-hoz még hozzáírni a "file"-t
így de az úgy nem működikwith open('c:\\kodi\\info.txt', 'w') as outfile:
outfile.write(result[1]['result']['item']['file'],time))[ Szerkesztve ]
-
cousin333
addikt
válasz Hege1234 #3127 üzenetére
Lényegét tekintve ennyi:
import datetime
t = datetime.time(hour=result[0]['result']['time']['hours'], minute=result[0]['result']['time']['minutes'], second=result[0]['result']['time']['seconds'])
print(t.strftime("%H %M %S"))
Ha az elemek nevei nem lennének többesszámban (hours) még egyszerűbb lenne a dolog:
t = datetime.time(**result[0]['result']['time'])
[ Szerkesztve ]
"We spared no expense"
-
sztanozs
veterán
-
-
sztanozs
veterán
válasz Hege1234 #3123 üzenetére
h,m,s = map(int, [result[0]['result']['time'][val] for val in ['hours','minutes','seconds']])
time = f'{h:02}{m:02}{d:02}'
print(result[1]['result']['item']['file'],time, sep='\n')
# fájlba menteni
with open('filenév.txt', 'w') as outfile:
outfile.write(time)[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
cousin333
addikt
válasz Hege1234 #3125 üzenetére
No offense, de ez így kissé gányolásnak tűnik az elemek egyesével történő kiírásával.
A helyedben megnézném beépített a datetime modult: [link]
A kiolvasott időadatokból készítenék egy datetime objektumot, majd, közvetlenül kiírás előtt megformáznám a time.strftime() függvénnyel.A lényeg, hogy a beolvasott adatokat valami kulturált belső objektumban tárolnám, és azt dolgoznám fel, írnám ki. Javaslom például a pandas modult. Van read_json() metódusa is, bár én még azt nem használtam.
"We spared no expense"
-
Hege1234
addikt
köszi ezzel ismét közelebb kerültem a célhoz
print(result[1]['result']['item']['file']+'\n',result[0]['result']['time']['hours'],result[0]['result']['time']['minutes'],result[0]['result']['time']['seconds'])
sikerült új sorba tenni de belekerül egy space is az elejére amivel lehet lesz baj a későbbiekben
most már csak azt kellene elérni hogy a 2. sorba került
számok ha a szám 0-9 akkor mindig kerüljön elé egy 0 és össze legyenek húzva
majd ezt elmenteni egy txt fájlba0 52 49
00524902 09 11
02091101 25 07
012507 -
Hege1234
addikt
válasz sztanozs #3122 üzenetére
áhhháá köszi
egybe tettem az egészet ami kell
print(result[1]['result']['item']['file'],result[0]['result']['time']['hours'],result[0]['result']['time']['minutes'],result[0]['result']['time']['seconds'])
ezzel most így néz ki
smb://192.168.1.10/n filmek 720p/@.mkv 0 52 49
print részbe a file után lehet esetleg szúrni valahogy egy új sort?
ezzel próbálkoztam de nem sikerült '\n' -
-
Hege1234
addikt
azt egyébként még mindig nem értem, ha a result csak [0] és [1] -et fogad és mást nem írhatok bele
pl : print(result[0])
ezzel sehogy nem fogom a "minutes" értékét (52) megkapni
mit kellene helyette használnom?sztanozs: notepad++ ból szoktam a terminálba behúzni az egész scriptet
annyira nem gáz, a pycharm amúgy teccik azt lehet majd felrakom -
sztanozs
veterán
válasz Hege1234 #3119 üzenetére
használj valami kódszerkesztőt vagy IDE-t szerintem, interaktív módban nem túl vidám a python: Atom, Visual Studio Code, PyCharm
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
köszi pár órával ezelőtt kezdtem bele hogyan is lehetne megoldani még keverem minek mi a pontos neve és jelentősége
>>> import json
>>> import base64
>>> import requests
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [
... {"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
... {"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>> response = requests.post(url, headers=headers, data=json.dumps(data))
>>> result = response.json()
>>>
>>>
>>>
>>> print(result[0])
{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}
>>>
>>>
>>>
>>> print(result[1])
{'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}
>>>
>>>ez alapján akkor kiderült, hogy a [0]-ban van a time és [1]-esben pedig az item
amit példának írtál szerintem azt valahogy rosszul használom
>>> import json
>>> import base64
>>> import requests
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [
... {"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
... {"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>> response = requests.post(url, headers=headers, data=json.dumps(data))
>>> result = response.json()
>>> print(result)
[{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}, {'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}]
>>> for i in result:
... if i['result'].get('time'):
... mytime = i['result']['time']
... if i['result'].get('item'):
... myfile = i['result']['item']['file']
... print(mytime)
File "<stdin>", line 6
print(mytime)
^
SyntaxError: invalid syntax
>>> print(myfile)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'myfile' is not defined -
sztanozs
veterán
válasz Hege1234 #3116 üzenetére
Igen, ahogy a kolléga is írja a visszaadott jon egy lista [ ], amiben dictionary-k vannak { }
A listán végig-iterálva szépen meg tudod nézni, hogy mi van bennük.Amúgy mivel az elküldött data is két elemet tartalmaz, így láthatóan erre a két elemre kapsz választ a response-ban. Szerintem, ha a kérésben megadsz "id":valami_egyedi_szám mezőt is, akkor a válaszokat ehhez hozzá tudod majd kötni.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
JoinR
őstag
válasz Hege1234 #3116 üzenetére
Nem konzisztens, amit írsz; keverjük a result és resp változót.
Ha aprint(result)
az egy lista, ahogy itt írod, akkor csak integerrel tudsz hivatkozni (pl.result[0]
) egy adott elemére. Viszont a resp-es kódrészletben meg key-re hivatkozol (resp['result']
), mivel ott már a beágyazott dict-be kerülsz valahogy.Ha a result egy dict-ek listája, akkor meg kell keresned, hogy melyik elemében (azaz melyik dict-ben) van
time
key és melyikbenitem
key.
Pl:result = [{"id":17,"jsonrpc":"2.0","result":{"time":{"hours":0,"milliseconds":416,"minutes":52,"seconds":59}}},
{"id":18,"jsonrpc":"2.0","result":{"item":{"file":"smb://192.168.1.10/n filmek 720p/@.mkv","id":340,"label":"The Expendables 3","type":"movie"}}}]
for i in result:
if i['result'].get('time'):
mytime = i['result']['time']
if i['result'].get('item'):
myfile = i['result']['item']['file']
print(mytime)
print(myfile)
[ Szerkesztve ]
-
Hege1234
addikt
válasz sztanozs #3115 üzenetére
köszi, a requests modullal is megkapom a választ!
Hogyan került bele a resp-be a result? az nem látszik a kódból...
ha jól értem a kérdést akkor azt a szervertől kapom vissza?hogyan lehetne ezt még tovább szűrni?
a print(result) ezt adja vissza:
[{'id': 17, 'jsonrpc': '2.0', 'result': {'time': {'hours': 0, 'milliseconds': 416, 'minutes': 52, 'seconds': 59}}}, {'id': 18, 'jsonrpc': '2.0', 'result': {'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}}}]
az átláthatóság kedvéért megformáztam kézzel
[
{
"id": 17,
"jsonrpc": "2.0",
"result": {
"time": {
"hours": 0,
"milliseconds": 416,
"minutes": 52,
"seconds": 59
}
}
},
{
"id": 18,
"jsonrpc": "2.0",
"result": {
"item": {
"file": "smb://192.168.1.10/n filmek 720p/@.mkv",
"id": 340,
"label": "The Expendables 3",
"type": "movie"
}
}
}
]print (resp['result']['item']['file'])
smb://192.168.1.10/n filmek 720p/@.mkvde ha pl a "hours" -t szeretném akkor már ezt kapom vissza:
print (resp['result']['time']['hours'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'time'egyébként a célom az lenne hogy így szerepeljenek egy .txt fájlban
smb://192.168.1.10/n filmek 720p/@.mkv
0
52
59ahogy kigondoltam ez valahogy így nézne ki
print (resp['result']['item']['file'])
print (resp['result']['time']['hours'])
print (resp['result']['time']['minutes'])
print (resp['result']['time']['seconds'])majd a számokat a 2. sorba egybefűzni és ha valamelyik értéknél csak egy szám van mindig kerüljön elé egy 0
smb://192.168.1.10/n filmek 720p/@.mkv
005259ilyen lehetséges python-ban?
-
sztanozs
veterán
válasz Hege1234 #3114 üzenetére
Hogyan került bele a resp-be a result? az nem látszik a kódból...
mondjuk urllib helyett requests modult használnék:import json
import base64
import requests
credentials = b'kodi:kodi'
encoded_credentials = base64.b64encode(credentials)
authorization = b'Basic ' + encoded_credentials
headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
url = 'http://192.168.1.10:8080/jsonrpc?Base'
data = [
{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},
{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
response = requests.post(url, headers=headers, data=json.dumps(data))
# vagy
# response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
Hali
mi okozhatja azt, hogy a result-al nem látom a data első részét? (time)
ezzel szűrveprint (resp['result']['item']['file'])
szépen megkapom az elérési utat de a "time" részt nem tudom elérniprint (resp['result']['time']['hours'])
print (resp['result']['time']['minutes'])
print (resp['result']['time']['seconds'])>>> import json
>>> import base64
>>> from urllib.request import Request, urlopen
>>>
>>> credentials = b'kodi:kodi'
>>> encoded_credentials = base64.b64encode(credentials)
>>> authorization = b'Basic ' + encoded_credentials
>>>
>>> headers = { 'Content-Type': 'application/json', 'Authorization': authorization }
>>> url = 'http://192.168.1.10:8080/jsonrpc?Base'
>>> data = [{"jsonrpc":"2.0","method":"Player.GetProperties","params":[1,["time"]],"id":17},{"jsonrpc":"2.0","method":"Player.GetItem","params":[1,["file"]],"id":18}]
>>>
>>> json_data = json.dumps(data)
>>> post_data = json_data.encode('utf-8')
>>> request = Request(url, post_data, headers)
>>> result = urlopen(request)
>>> print(result.read())
b'[{"id":17,"jsonrpc":"2.0","result":{"time":{"hours":0,"milliseconds":416,"minutes":52,"seconds":59}}},{"id":18,"jsonrpc":"2.0","result":{"item":{"file":"smb://192.168.1.10/n filmek 720p/@.mkv","id":340,"label":"The Expendables 3","type":"movie"}}}]'
>>>
>>> print (resp['result'])
{'item': {'file': 'smb://192.168.1.10/n filmek 720p/@.mkv', 'id': 340, 'label': 'The Expendables 3', 'type': 'movie'}} -
Hege1234
addikt
ez így tökéletes
\n ez tett be mindennek...sokat tanultam ma, köszönöm szépen a kitartást és segítséget!
JoinR, sztanozs -
-
Hege1234
addikt
ohh most értettem meg amit kérdeztél
ezt a kodi kezeli azért kellett a pynput-ot is beleraknom a mappábaRunScript("c:\kodi\load-pos.py")
ha csak a gépről futtatnám akkor + ablakok is megjelennek ilyen volt az első változatban
ezért tértem át pythonra mivel a kodiban fut le így nincsen felugró ablak -
Hege1234
addikt
válasz sztanozs #3108 üzenetére
ez mind engedélyezve is van, ha beleírom ezt így működik
{"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file":"smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv"}}}
odaugrik a 00:36:56 hoz és nyom egy entert hogy valóban oda is ugorjon, ha nincs enter akkor csak eltűnik ami be lett pötyögve
ez nem az új sort jelenti? \n
[ Szerkesztve ]
-
Hege1234
addikt
van egy save verzió is amivel mentem, hogy hol tart a film
ezzel amit bemásoltam pedig vissza tudom állítani a poziciót, hogy hol tartott a film
mert ha végigmegy és leáll akkor már látottként jelöli meg (ez akkor jó ha bealudnék egy filmen vagy több órás vod nézésénél csak rányomok a távirányítón arra a gombra ami lementi a poziciót, menüböl meg elérem azt amit bemásoltam + ezt is hozzáadtam egy gombhoz)azt hiszem ez belőle a lényeg
>>> print(url)
smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv
>>> print(data)
{'jsonrpc': '2.0', 'method': 'Player.Open', 'params': {'item': {'file': 'smb://192.168.1.10/e filmek/---==Szinkronos==---/Nobody.2021.720p.BluRay.DD5.1.x264.HuN-No1/nobody.720p-no1.mkv\n'}}} -
-
sztanozs
veterán
válasz Hege1234 #3103 üzenetére
Kodi RPC engedélyezése:
https://www.tinymediamanager.org/blog/kodi-json-rpc-api/JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
JoinR
őstag
válasz Hege1234 #3102 üzenetére
data = data = {...}
helyettdata = {...}
elég. Egyprint(url)
vagyprint(data)
sorral ki tudnád írni a tartalmat, hogy tuti jó-e amit beküldesz.
Nem ismerem a Kodit, úgyhogy lehet hülye kérdés, de ha ezt a kódot a gépedről futtatod, akkor minek oda másolgatni bármilyen modult? A kodi csak egy http post request-et fog látni, mindegy, az már az ő dolga, hogyan dolgozza fel.[ Szerkesztve ]
-
sztanozs
veterán
válasz Hege1234 #3103 üzenetére
Hogy néz ki a save.txt?
import requests
import os
from pynput.keyboard import Key, Controller as K
file = open("c:\kodi\save.txt")
lines = file.readlines()
line = lines[1]
os.startfile("c:\Program Files\Kodi2\kodi.exe")
time.sleep(2)
K().type(line+' ')
file = open("c:\kodi\save.txt")
lines2 = file.readlines()
url = lines2[0]
headers = { 'Content-Type': 'application/json' }
json = {"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file": url}}}
requests.post('http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base', headers= headers, data= str(json))És ez a rész minek kell?
K().type(line+' ')
Amúgy a request-es rész csak akkor működik, ha engedélyezed a kodiban a http-n keresztüli távoli vezérlést.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
-
Hege1234
addikt
válasz Hege1234 #3102 üzenetére
upsz elfelejtettem entert nyomni
amit bemásoltam python-ba ez a folytatása
a kodi-ban nincs pynput ezért azt bemásoltam mappástól úgy már felismerte
ugyan ezt próbáltam a requests-el is ez lehet nem volt jó ötlet..
addig minden jól működik amíg az url string helyett elérési utat adok megTraceback (most recent call last):
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 597, in urlopen
httplib_response = self._make_request(conn, method, url,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1345, in getresponse
response.begin()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 307, in begin
version, status, reason = self._read_status()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\kodi\requests\adapters.py", line 439, in send
resp = conn.urlopen(
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 637, in urlopen
retries = retries.increment(method, url, error=e, _pool=self,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\util\retry.py", line 368, in increment
raise six.reraise(type(error), error, _stacktrace)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\packages\six.py", line 685, in reraise
raise value.with_traceback(tb)
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 597, in urlopen
httplib_response = self._make_request(conn, method, url,
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
httplib_response = conn.getresponse()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1345, in getresponse
response.begin()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 307, in begin
version, status, reason = self._read_status()
File "C:\Users\hadam\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 276, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\kodi\requests\api.py", line 119, in post
return request('post', url, data=data, json=json, **kwargs)
File "c:\kodi\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "c:\kodi\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "c:\kodi\requests\sessions.py", line 655, in send
r = adapter.send(request, **kwargs)
File "c:\kodi\requests\adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) -
Hege1234
addikt
programozás topikból folytatás
röviden .txt fájlból elérési utat a data rész-be illeszteniimport requests
import time
import os
import webbrowser
file = open("c:\kodi\save.txt")
lines = file.readlines()
line = lines[1]
os.startfile("c:\Program Files\Kodi2\kodi.exe")
from pynput.keyboard import Key, Controller as K
time.sleep(2)
K().type(line+' ')
file = open("c:\kodi\save.txt")
lines2 = file.readlines()
url = lines2[0]
headers = {
'Content-Type': 'application/json',
}
data = data = {"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file": url}}}
requests.post('http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base', headers = headers, json = data).txt
smb://192.168.1.10/e filmek/---==Szinkronos==---/@.mkv
nem tudom, hogyan kell kiprintelni a hibákat így most csak simán beillesztettem ami a .py fájlban van
>>> import requests
>>> import time
>>> import os
>>> import webbrowser
>>>
>>> file = open("c:\kodi\save.txt")
>>> lines = file.readlines()
>>> line = lines[1]
>>>
>>> os.startfile("c:\Program Files\Kodi2\kodi.exe")
>>> from pynput.keyboard import Key, Controller as K
>>> time.sleep(2)
>>> K().type(line+' ')
>>>
>>> file = open("c:\kodi\save.txt")
>>> lines2 = file.readlines()
>>> url = lines2[0]
>>>
>>> headers = {
... 'Content-Type': 'application/json',
... }
>>>
>>> data = data = {"jsonrpc":"2.0","method":"Player.Open","params":{"item":{"file": url}}}
>>> requests.post('http://kodi:kodi@192.168.1.10:8080/jsonrpc?Base', headers = headers, json = data)kodi log
kodi áttért a python3-ra a fenti kód mennyire lehet kompatibilis vele?[ Szerkesztve ]
-
Új hozzászólás Aktív témák
- Nvidia GPU-k jövője - amit tudni vélünk
- CES 2025: prezentálta az NVIDIA az új GeForce-okat
- One otthoni szolgáltatások (TV, internet, telefon)
- Villanyszerelés
- AMD GPU-k jövője - amit tudni vélünk
- ThinkPad (NEM IdeaPad)
- Mini-ITX
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Androidos fejegységek
- Politika
- További aktív témák...
- IPHONE 11 FEHÉR 64GB 79% DOBOZZAL
- Apple iPad Pro 2020 11" 128Gb (MY232HC/A) , Space Grey 6 hónap Garancia, TÖLTÉSI CIKLUS: 211 Akku:92
- PlayStation 5 (PS5) DualSense Edge vezeték nélküli kontroller - újszerű, hibátlan, sosem használt
- Thrustmaster kormány pedállal és cockpittel!
- Green Cell Asus R510C R510L R556L X550C X550L töltő ÚJ
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest