Hirdetés
- Samsung Galaxy S21 FE 5G - utóirat
- iPhone topik
- Yettel topik
- Apple iPhone 15 Pro Max - Attack on Titan
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- 2026-ban nem lesz új Asus telefon, de nem zárják be a boltot
- Megtartotta Európában a 7500 mAh-t az Oppo
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Samsung Galaxy S25 Edge - a tegnap határán
Új hozzászólás Aktív témák
-
válasz
Atomantiii
#4377
üzenetére
Ha nem muszaj a desc, akkor igy:
import xml.etree.ElementTree as ET
tree = ET.parse('full.xml')
root = tree.getroot()
for programme in root.findall('programme'):
desc = programme.find('desc')
if desc is not None:
directors = programme.findall('.//director')
actors = programme.findall('.//actor')
director_text = ('\nRendezte: ' + ', '.join(dir.text for dir in directors)) if len(directors) else ''
actor_text = ('\nSzereplők: ' + ', '.join(act.text for act in actors)) if len(actors) else ''
desc.text = f"{desc.text}\n{director_text}{actor_text}"
tree.write('modositott.xml', encoding='UTF-8', xml_declaration=True)
print("XML file has been modified and saved'") -
Atomantiii
addikt
válasz
Atomantiii
#4376
üzenetére
Mondjuk valószínűleg ahol nincs desc ott nincs actor és director sem, így akkor a desc sem kell, de azt már szerintem ki tudom sakkozni a sub-title alapján majd.
-
válasz
Atomantiii
#4374
üzenetére
Ezen a szekcion fekszik el (eloszor):
<programme start="20241016005500 +0200" channel="21.port.hu" stop="20241016015500 +0200" clumpidx="0/1">
<title>Az ismerős gonosz</title>
<sub-title lang="hu">(dokureality-sorozat, 1/3. rész)</sub-title>
<category lang="en">Show/Game show</category>
<category lang="hu">Show/Játék show</category>
<category lang="en">series</category>
<url system="port.hu">https://port.hu/adatlap/film/tv/az-ismeros-gonosz-the-devil-you-know/event-tv-1600952074-21/episode-2967986</url>
<episode-num system="xmltv_ns">0.2.0/1</episode-num>
<rating>
<value>16</value>
<icon src="https://port.hu/img/agelimit/raster/16_age_icon_black.png" />
</rating>
</programme>Ahogy irtam van egy csomo bejegyzes amiben nincs desc tag.
Ez siman lefut a nagy fajra is:import xml.etree.ElementTree as ET
tree = ET.parse('full.xml')
root = tree.getroot()
for programme in root.findall('programme'):
desc = programme.find('desc')
if desc is None:
desc = ET.SubElement(programme, "desc", {'lang': 'hu'})
directors = programme.findall('.//director')
actors = programme.findall('.//actor')
director_text = ('\nRendezte: ' + ', '.join(dir.text for dir in directors)) if len(directors) else ''
actor_text = ('\nSzereplők: ' + ', '.join(act.text for act in actors)) if len(actors) else ''
desc.text = f"{desc.text}\n{director_text}{actor_text}"
tree.write('modositott.xml', encoding='UTF-8', xml_declaration=True)
print("XML file has been modified and saved'") -
Atomantiii
addikt
válasz
Atomantiii
#4373
üzenetére
Vagy csak egyesével csatornánként lehet működtetni.
-
válasz
Atomantiii
#4370
üzenetére
Teszt adatokat es kodot meg tod osztani?
-
válasz
Atomantiii
#4368
üzenetére
stornomi az XML szekcio, amivel hibara fut?
-
válasz
Atomantiii
#4366
üzenetére
ha a desc ures (None) akkor nem is tudod de kivenni belole a text mezot (es bele se tudod rakni...)
ilyenkor ezt letre kellene hoznod es ugy belerakni (ha ET == xml.etree.ElementTree):desc = programme.find('desc')
if desc is None:
desc = ET.SubElement(programme, "desc", {'lang': 'hu'}) -
válasz
Atomantiii
#4362
üzenetére
remelem csak az utolso harom sort cserelted ki, es megtartottad ami felette volt a sajatodban...
-
paler
aktív tag
válasz
Atomantiii
#4358
üzenetére
Erre gondolsz?
-
válasz
Atomantiii
#4355
üzenetére
esetleg
#
director = f'\n Rendezte: {director.text}' if director else ''
actor_texts = ('\n Szereplők: ' + ', '.join(act.text for act in actors)) if len(actors) else ''
desc.text = f"{desc.text}\n{director}{actor_texts}" -
Atomantiii
addikt
válasz
Atomantiii
#4355
üzenetére
Vagy csak egyszerűen átírom arra, hogy if actors else 'Nincs információ'.
-
válasz
Atomantiii
#4353
üzenetére
marmint, hogy a szereplok sor ne is legyen benne?
#
director = f'\n Rendezte: {director.text}' if director else ''
actor_texts = ('\n Szereplők: ' + ', '.join(act.text for act in actors)) if actors else ''
desc.text = f"{desc.text}\n{director}{actor_texts}" -
válasz
Atomantiii
#4317
üzenetére
xml.minidom modullal betoltod, kikeresed a megfelelo node-okat es es megszerkeszted az altalad kivalasztottat.
a hivatalos oldalon elvo pelda egeszen szemleletes:
https://docs.python.org/3/library/xml.dom.minidom.html -
olli
tag
válasz
Atomantiii
#4317
üzenetére
Lemaradt a print...
Bocs, magamnak válaszoltam. -
Atomantiii
addikt
válasz
Atomantiii
#4288
üzenetére
Közben megvan a megoldás.
-
Atomantiii
addikt
válasz
Atomantiii
#4287
üzenetére
Mégsem teljesen jó ötlet a letöltésvezérlő, mert minden fájlnak ugyanaz a neve csak a más link. Vagyis letöltés közben át is kellene nevezni mondjuk sorszám alapján.
-
Atomantiii
addikt
válasz
Atomantiii
#4286
üzenetére
Bár lehet egyszerűbb kimásolnom a linkeket és megetetni egy letöltő progival.
-
válasz
Atomantiii
#4234
üzenetére
nope
de ranezek majd este otthonrol, ha el nem felejtem... -
válasz
Atomantiii
#4232
üzenetére
sajna google drive (se onedrive, se pastebin) sem jatszik... -
válasz
Atomantiii
#4215
üzenetére
Szerintem mashogyan kellene megkozeliteni... vsz csak azt kellene kivalogatni, ami neked kell.
Fel tudod rakni valahova mashova a fajlt? Melohelyrol nem erem el... -
Hege1234
addikt
válasz
Atomantiii
#4228
üzenetére
sztem az valahogy így nézne ki:
edited_tv_programs = re.sub(r'<desc.*hu.*(\(.*\.\) )', r'<desc lang="hu">', edited_tv_programs)ha csak tényleg a (0.) ami nem kell akkor így
edited_tv_programs = re.sub(r'<desc.*hu.*(\(0.\) )', r'<desc lang="hu">', edited_tv_programs) -
Hege1234
addikt
válasz
Atomantiii
#4225
üzenetére
az elejére akkor ezt add még hozzá:
import reedited_tv_programs = ... alatt pedig ez legyen:
edited_tv_programs = re.sub(r'( clumpidx=.*\")', r'', edited_tv_programs) -
Atomantiii
addikt
válasz
Atomantiii
#4223
üzenetére
Közben rájöttem, most már jó.
-
Hege1234
addikt
válasz
Atomantiii
#4220
üzenetére
esetleg fontold meg a "credits" kiszedését is
akkor úgy kb. 40 MB lesz összesennot_needed = ["url", "previously-shown", "rating", "credits"] -
Hege1234
addikt
válasz
Atomantiii
#4218
üzenetére
valami ilyesmi (biztos van jobb megoldás is rá)
(sokkal amúgy nem lett kisebb a fájl..)import requests
import xml.etree.ElementTree as ET
headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36',
}
xml_content = requests.get('ide írd a linket', headers=headers).content
root = ET.fromstring(xml_content)
not_needed = ["url", "previously-shown", "rating"]
for programme in root.findall(".//programme"):
for element_name in not_needed:
elements = programme.findall(f".//{element_name}")
for element in elements:
if element in programme:
programme.remove(element)
edited_tv_programs = ET.tostring(root, encoding='unicode')
with open('edited_tv_programs.xml', 'w', encoding='utf-8') as file:
file.write(edited_tv_programs) -
Hege1234
addikt
válasz
Atomantiii
#4215
üzenetére
ezt nem probléma megcsinálni ezzel a modullal:
xml.etree.ElementTree
azthiszem alapból benne van a python 3-baa példád csak egy programra mutat
hogyan néz ki amikor van pl. 2 vagy 3 benne? -
axioma
veterán
válasz
Atomantiii
#4195
üzenetére
Egy out_file.write hivas mindenkepp hianyzik ebbol...
-
válasz
Atomantiii
#4171
üzenetére
erdemes nyitni egy hibajegyet a repojukra (vagy PR-t ezzel a javitassal) - marmint a py-xmltv repora, nem a py_epg-re
-
válasz
Atomantiii
#4168
üzenetére
elso otletem, hogy valami lxml problema lehet a config fajl beolvasasnal...
a forrasban probald meg atirni a 155-os sort errolreturn ET.parse(self._args.config)
errereturn ET.parse(open(self._args.config , 'r' , encoding="utf-8"))illetve a dependenciaban (C:\Python312\Lib\site-packages\xmltv\xmltv_helpers.py) cserelheto a 69 sor:
with xml_file_path.open("w") as data:
errewith xml_file_path.open("w", encoding="utf-8" ) as data: -
válasz
Atomantiii
#4165
üzenetére
Mondjuk nemethg altal felrakott log reszlet alapjan python 3.9-ben futtatja a programot, hogy van ez???
File "C:\Users\pp\AppData\Local\Programs\Python\Python39\lib\encodings\cp1250.py",
line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError:'charmap' codec can't encode character '\xfb'
in position 428: character maps to <undefined>at tudod dobni a lejes logot PM-ben?
-
válasz
Atomantiii
#4163
üzenetére
probald meg 3.10-zel
ha van fent anakonda/miniconda, akkor csinalj neki egy uj venv-et:conda create -n py310 python=3.10
es aktivald:conda activate py310 -
válasz
Atomantiii
#4160
üzenetére
milyen os, milyen python verzio van fent nalad?
mi az alapertelmezett futtatokernyezet? -
Atomantiii
addikt
válasz
Atomantiii
#4159
üzenetére
Most éppen mintha jó lenne, kipróbálom több csatornával is. Illetve mégsem ha mondjuk több napra állítom.
Tehát ennyi szerepel a py_epg.xml-ben a cool csatornára és 10 napra szeretném lehúzni. Ekkor ez szerepel a logban.
-
válasz
Atomantiii
#4144
üzenetére
Sajna nem tudom megnezni a hibat ceges proxy miatt (compromised website)
Új hozzászólás Aktív témák
- Samsung Galaxy S21 FE 5G - utóirat
- Gitáros topic
- Sony MILC fényképezőgépcsalád
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Adóbevallás
- Invázió egy novellában 3-4. (Update) +5. fejezet! (18+ nyelvezet)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Tőzsde és gazdaság
- Mini PC
- Autós topik
- További aktív témák...
- Bomba ár! Lenovo ThinkPad Yoga 370 - i5-G7 I 8GB I 256SSD I 13,3" FHD Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo ThinkPad Yoga 260 - i5-G6 I 8GB I 256SSD I 12,5" Touch I W11 I Cam I Gari!
- HP EliteBook 850 G8 Fémházas Tartós Laptop 15,6" -65% i7-1165G7 16/512 Iris Xe FHD
- Bomba ár! Lenovo ThinkPad X390: i5-G8 I 16GB I 256-1TSSD I 13,3" FHD Touch I HDMI I Cam I W11 I Gar
- Bomba ár! Lenovo ThinkPad X280 - i7-8550U I 16GB I 512SSD I 12,5" I HDMI I Cam I W11 I Gari!
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-11. gen.
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
- iPhone XR 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3993, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
de ranezek majd este otthonrol, ha el nem felejtem...
sajna google drive (se onedrive, se pastebin) sem jatszik...


