![]() |
My XMLTV Importer - Версия за принтиране +- Коди Фен Форум България (https://kodibg.org/forum) +-- Форум: За опитни потребители (https://kodibg.org/forum/forum-18.html) +--- Форум: ЕПГ за Коди, XMLTV и WebGrabber (https://kodibg.org/forum/forum-23.html) +--- Тема: My XMLTV Importer (/thread-1743.html) |
My XMLTV Importer - Majide - 20-04-2025 My XMLTV Importer
/ python скрипт за импортиране на EPG от различни разпространители /
Важно: Това не е EPG грабер! Не може да обхожда уеб страници и да експортира събраните данни. Функционалности: - Импортира XMLTV файлове и експортира резултата също в XMLTV. Може да се използва като Merger/Joiner;
- Филтрира желаните канали за потребителя и експортира в изходния файл единствено тях
- Приоритизира XMLTV източниците по техният номер в конфигурационния файл
- Поддържа Fail-Over т.е. при отпадане на основния източник, превключва автоматично към първия резервен и т.н. до последния конфигуриран източник (вижте конфигурационния файл)
- Кешира изтегляните от него отдалечени XMLTV файлове, за да се изтеглят дневно само по веднъж (не поддържа архиви и не прави сам разархивиране - това си е ваш ангажимент)
- Къстъм лога: може да добавя/заменя съдържаемите в източника лога на ТВ каналите с други, ръчно конфигурирани от вас
При стартирането си, скрипта опитва да достъпи основния конфигуриран източник на готово EPG разписание. Може това да е локален файл в XMLTV формат, а може и да бъде хостнат в интернет, като директен URL адрес без компресия! В раздела channels трябва да конфигурирате по показания начин ID-та (измислени от вас) на желаните ви канали в резултатния файл. Същите тези ID-та, трябва да асоциирате със съответните източници, например BNT.2.bg=BNT2, показва, че BNT.2.bg е ID-то във входния файл за дадения канал, а при нас, този канал ще има BNT2 като ID в резултатния файл и т.н. канал по канал и източник по източник. Резервните източници са с по-нисък приоритет, колкото е по-голям техния номер - използвайте показаната схема. Може да добавяте неограничен брой източници (стига да спазват формата за XMLTV). Не всеки XML файл спазва формата на стандарта XMLTV !
Инсталация: Осигурете си python3 среда и при първото стартиране на скрипта, следете за липсващи python библиотеки. При липса на някоя от тях, инсталирайте я с pip.
Конфигуриране: Отворете importer.conf и внимателно задайте желаните от вас пътища, списъци с канали, id-та и лога. Всичко, което може да се конфигурира е в този конфигурационен файл.
<< Линк за изтегляне >> / Продукта се разпространява под GPLv3 лиценз. Създаден е с Anthropic Claude AI и внедряването на нови функционалности в него не е планирано. Техническата поддръжка е ограничена до постове в тази тема на kodibg.org /
RE: My XMLTV Importer - ZZlatev - 23-04-2025 Благодаря много за отделеното време! Имам един въпрос. Опитвам се да вдигна един контейнер с уеб сървър, чрез който да имам достъп до генерирания xml файл, но едно нещо не ми е ясно - кой файл да трябва да заредя в PVR/ TVheadend - този, който е от кеш директорията, или example.xml? Този от кеш директорията е значително по-голям и с повече съдържание. Просто искам да merge-на 1-2 файла и да подам генерирания файл на TVHeadend, но не знам кой файл да подам. Благодаря предварително! RE: My XMLTV Importer - Majide - 23-04-2025 В importer.conf можеш: - Да зададеш кои входни файлове да използва скрипта като източници - Да укажеш кой да е основен източник и кой/кои - резервен/вни - Да укажеш приоритета на резервните източници - Да посочиш директория и име на резултатния файл. Предварително съм посочил example.xml в текущата директория. Може да укажеш /какъвто/ти/трябва/път/epg.xml В кеш директорията се появяват само изтеглените от интернет входни файлове. Файла, който скрипта създава на изхода си е умишлено по-малък от входните, защото филтрира нежеланите канали и оставя само описаните в importer.conf. Предварително съм ви описал само 4-те БНТ-та и затова в резултатния файл се появяват само те! По този начин и с този скрипт можете да комбинирате различни източници, но не директно да ги слеете, а да "вземате" един канал от тук, а другия оттам - според вашите собствени предпочитания. Всеки вход, а също и изхода трябва да бъдат конфигурирани: кои канали и с какви ид-та да минават оттам! Конфигурирането на къстъм лога също се поддържа, но е опционално. Може и без него. Коментираните редове не се четат от скрипта и няма да причинят грешка. Като изключим логата и "автора" на резултатното разписание, входните данни се прехвърлят без промени към изхода т.е. при някакви неточности, трябва да се сърдите и да търсите причина в използвания от вас източник. За вход, трябва да използвате само неархивирани файлове.
RE: My XMLTV Importer - ZZlatev - 23-04-2025 Ясно, разбрах! В изходния файл ще има само тези канали, които съм сложил в конфига, а в кеширащия файл ще има всички канали от източника. Което си е логично, де. Благодаря още веднъж! RE: My XMLTV Importer - Петрови - 26-04-2025 Бих се радвал, ако се направи и едно клипче визуално да се види. Благодаря! RE: My XMLTV Importer - Majide - 26-04-2025 В примерната конфигурация, която съм ви споделил зададох като основен източник Rytec: Код: [main_source] 1. Изтеглянето на архива от Rytec 2. Разархивирането на архива 3. Стартиране на My XMLTV Importer ...например така (при Linux): Код: #!/bin/bash В importer.conf поправяме path = ./rytecBG с този, който ще бъде при нас: /път/до/вашата/целева/EPG/директория/rytecBG . След това стартираме bash скрипта, за да проверим дали се изтегля Rytec файла и дали се разархивира на правилното място. Ако всичко е наред, отваряме с текстов редактор подходящ за програмни кодове файла rytecBG (например Notepad++, Sublime Text или др.). В началото на файла има опис на каналите и техните ID-та. Избираме например <channel id="Evrokom.bg">, където ID-то е това между кавичките т.е. Evrokom.bg . Затова се връщаме отново в importer.conf и продължаваме с конфигурацията. В раздела за Rytec, описваме:
Код: [main_source] където вляво от знака = поставяме ID-то на канала в източника, а вдясно от знака = поставяте ID-то което вие самите искате за този канал! Препоръчително е в ID-тата да липсва интервал т.е. " ". След всеки желан от вас канал, който сте описали поставяйте запетая освен на последния ред на описа. Може да продължите по същия начин и с другите източници, които конфигурирате да използвате. Въвел съм ви като онлайн източник МЕГА EPG на harrygg и EPGSHARE01 (който трябва предварително да се изтегля и разархивира - като при Rytec). За да имате алтернативен източник за канала Евроком (при евентуален технически проблем с Rytec), конфигурирайте при поне 1 резервен източник същия този канал (ако EPG-то го предлага), като поставите същия ID вдясно от знака =. Вляво, ще поставите каквото е ID-то на този канал в съответния източник - отваряте файла му и преглеждате описа в началото, където са изброени каналите и ID-тата им. Сега ще зададем този канал да се пропуска към резултатния ни файл по следния начин:
Код: # List of channel IDs to include in the output Отбележете, че ID-то Eurocom е същото, като на конфигурираните източници в конфигурационния файл! Ако няма съвпадение, канала няма да бъде идентифициран и пропуснат към изхода. Остана да зададем къде да се експортира резултатния файл:
Код: [output] Вече може да стартирате bash скрипта (който предварително изтегля компресираните EPG файлове) и My XMLTV Importer за да ви филтрира входните данни само до описаните от вас канали. Ако източниците нямат вградени лога на каналите, можете да ги добавяте сами по следния начин:
Код: # Custom channel icons Пътят до логото трябва да е валиден http или https адрес. Може да си копирате адреса до логото от официалния сайт на канала или другаде. Конфигурацията на логата е опционална т.е. не е задължителна! Ако входното разписание има конфигурирано лого и вие също посочите път до лого, в резултатния файл ще бъде именно вашето.
За да се изпълнява всичко това ежедневно, задайте съответната настройка в операционната система на устройството: при Windows - в Task Scheduler , а при Linux - в cron.
RE: My XMLTV Importer - Majide - 04-05-2025 Обнових конфигурационния файл, добавяйки източника на разписание OpenEPG. Той предлага разписание за различни държави както некомпресирано, така и с компресия т.е. може директно да се използва като източник в My XMTV Importer.
|