Скрипты — Настройка смещения времени для каналов телепрограммы
Сваял на bash скрипт еще давно, просто не хочу чтобы он потерялся, а заодно может и пригодится кому. Зомбоящик я сам не люблю, просто зомботюнер оказался живучим, да и новости часто заменяют передачу "В гостях у сказки". Программу передач в формате xmltv насколько я знаю поддерживают и сами программы для ТВ-тюнеров и отдельные программы для просмотра телепрограммы (извините за каламбур). Я лично использую скрипт для tvtime.
Основное назначение скрипта - расставить смещения времени каналов, вещаемых в регионах. Региональная телепрограмма вещь специфичная, т.к. местные каналы используют вещания и обычных и спутниковых с разным смещением относительно Москвы, а в интернете телепрограмму выкладывают только для дефолт-сити ну или любой каприз за ваши деньги. Да, я видел платные рассылки телепрограммы в xmltv для каждого города.
Весь скрипт так же специфичен для каждого города, поэтому я просто приведу примеры.
1-3 это переход в директорию телепрограммы (на которую настроен в tvtime), скачивание и распаковка xml файла
дальше - редактирование xml с учетом летнего/зимнего времени, разницы с Москвой (помечена красным) и смещением данного канала (помечено зеленым) в вашем городе:
sed -i /'channel="4"'/s/0$(($(date -R | awk '{print $6}' | cut -c 3)-3))00/0$(($(($(date -R | awk '{print $6}' | cut -c 3)-3))+2))00/g xmltv.xml
Такие строчки надо написать для каждого канала.
Это пример моего скрипта (для Омска), который я еще писал без учета летнего/зимнего времени (в данном примере используется летнее время):
cd /home/zed/.xmltv
wget http://www.teleguide.info/download/new3/xmltv.xml.gz
gzip -f -d xmltv.xml.gz > xmltv.xml
# 1) Первый канал: +2 часа
sed -i '/channel="1"/s/+0400/+0600/g' xmltv.xml
# 2) НТВ: +3 часа
sed -i '/channel="4"/s/+0400/+0700/g' xmltv.xml
# 3) Домашний: +2.5 часа
sed -i '/channel="102"/s/+0400/+0630/g' xmltv.xml
# 5) Россия: +2 часа
sed -i '/channel="2"/s/+0400/+0600/g' xmltv.xml
# 6) ТВЦ: +1 час (?)
# sed -i '/channel="3"/s/+0400/+0500/g' xmltv.xml
# 7) ТНТ: +3 часа
sed -i '/channel="101"/s/+0400/+0700/g' xmltv.xml
# 10) СТС: +3 часа
sed -i '/channel="104"/s/+0400/+0700/g' xmltv.xml
# 11) ТВ-3: +3 часа
sed -i '/channel="105"/s/+0400/+0700/g' xmltv.xml
# 12) РЕН ТВ: +3 часа (?)
sed -i '/channel="103"/s/+0400/+0700/g' xmltv.xml
# 20) РТР Планета: -1 час (?)
sed -i '/channel="300057"/s/+0400/+0300/g' xmltv.xml
# 26) Fashion TV: +3.5 часа (?)
sed -i '/channel="100045"/s/+0400/+0730/g' xmltv.xml
# 47) Пятый Канал: +2 часа (?)
sed -i '/channel="255"/s/+0400/+0700/g' xmltv.xml
# 49) Культура: +2 часа
sed -i '/channel="5"/s/+0400/+0600/g' xmltv.xml
# 60) ДТВ: +3 часа
sed -i '/channel="109"/s/+0400/+0700/g' xmltv.xml
Основное назначение скрипта - расставить смещения времени каналов, вещаемых в регионах. Региональная телепрограмма вещь специфичная, т.к. местные каналы используют вещания и обычных и спутниковых с разным смещением относительно Москвы, а в интернете телепрограмму выкладывают только для дефолт-сити ну или любой каприз за ваши деньги. Да, я видел платные рассылки телепрограммы в xmltv для каждого города.
Весь скрипт так же специфичен для каждого города, поэтому я просто приведу примеры.
1 2 3 4 |
cd ~/.xmltv |
1-3 это переход в директорию телепрограммы (на которую настроен в tvtime), скачивание и распаковка xml файла
дальше - редактирование xml с учетом летнего/зимнего времени, разницы с Москвой (помечена красным) и смещением данного канала (помечено зеленым) в вашем городе:
sed -i /'channel="4"'/s/0$(($(date -R | awk '{print $6}' | cut -c 3)-3))00/0$(($(($(date -R | awk '{print $6}' | cut -c 3)-3))+2))00/g xmltv.xml
Такие строчки надо написать для каждого канала.
Это пример моего скрипта (для Омска), который я еще писал без учета летнего/зимнего времени (в данном примере используется летнее время):
cd /home/zed/.xmltv
wget http://www.teleguide.info/download/new3/xmltv.xml.gz
gzip -f -d xmltv.xml.gz > xmltv.xml
# 1) Первый канал: +2 часа
sed -i '/channel="1"/s/+0400/+0600/g' xmltv.xml
# 2) НТВ: +3 часа
sed -i '/channel="4"/s/+0400/+0700/g' xmltv.xml
# 3) Домашний: +2.5 часа
sed -i '/channel="102"/s/+0400/+0630/g' xmltv.xml
# 5) Россия: +2 часа
sed -i '/channel="2"/s/+0400/+0600/g' xmltv.xml
# 6) ТВЦ: +1 час (?)
# sed -i '/channel="3"/s/+0400/+0500/g' xmltv.xml
# 7) ТНТ: +3 часа
sed -i '/channel="101"/s/+0400/+0700/g' xmltv.xml
# 10) СТС: +3 часа
sed -i '/channel="104"/s/+0400/+0700/g' xmltv.xml
# 11) ТВ-3: +3 часа
sed -i '/channel="105"/s/+0400/+0700/g' xmltv.xml
# 12) РЕН ТВ: +3 часа (?)
sed -i '/channel="103"/s/+0400/+0700/g' xmltv.xml
# 20) РТР Планета: -1 час (?)
sed -i '/channel="300057"/s/+0400/+0300/g' xmltv.xml
# 26) Fashion TV: +3.5 часа (?)
sed -i '/channel="100045"/s/+0400/+0730/g' xmltv.xml
# 47) Пятый Канал: +2 часа (?)
sed -i '/channel="255"/s/+0400/+0700/g' xmltv.xml
# 49) Культура: +2 часа
sed -i '/channel="5"/s/+0400/+0600/g' xmltv.xml
# 60) ДТВ: +3 часа
sed -i '/channel="109"/s/+0400/+0700/g' xmltv.xml