mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2025-12-22 08:29:41 +01:00
added file chooser dialog for data path, little ui changes
This commit is contained in:
5
main/__init__.py
Normal file
5
main/__init__.py
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
from main.ui import start_app as start
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
start()
|
||||||
|
|
||||||
944
main/data/lamedb_example
Normal file
944
main/data/lamedb_example
Normal file
@@ -0,0 +1,944 @@
|
|||||||
|
eDVB services /4/
|
||||||
|
transponders
|
||||||
|
01680000:0001:0070
|
||||||
|
s 12322060:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0002:0070
|
||||||
|
s 11861740:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0004:0070
|
||||||
|
s 12437120:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0007:0070
|
||||||
|
s 12245000:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0009:0070
|
||||||
|
s 12207000:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:000a:0070
|
||||||
|
s 12264500:27500000:2:3:360:2:0
|
||||||
|
/
|
||||||
|
01680000:000b:0070
|
||||||
|
s 12341000:27500000:2:3:360:2:0
|
||||||
|
/
|
||||||
|
01680000:000c:0070
|
||||||
|
s 12398780:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:000d:0070
|
||||||
|
s 11766000:27500000:1:3:360:2:0
|
||||||
|
/
|
||||||
|
01680000:000e:0070
|
||||||
|
s 11823000:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0011:0070
|
||||||
|
s 11938460:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0012:0070
|
||||||
|
s 11976820:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0013:0070
|
||||||
|
s 11900100:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0014:0070
|
||||||
|
s 12130260:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0015:0070
|
||||||
|
s 12091900:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
01680000:0016:0070
|
||||||
|
s 12015180:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
0168affb:0008:0070
|
||||||
|
s 12283000:27500000:3:3:360:2:0:1:2:0:2:-1:1:0
|
||||||
|
/
|
||||||
|
0168affc:0008:0070
|
||||||
|
s 12284000:27500000:1:3:360:2:0
|
||||||
|
/
|
||||||
|
end
|
||||||
|
services
|
||||||
|
00c9:01680000:0002:0070:1:0
|
||||||
|
Fashion One (4K)
|
||||||
|
p:HTB+,c:0000ce,c:010132,c:0300ce,c:050001,C:0500
|
||||||
|
4e8b:01680000:0014:0070:25:0
|
||||||
|
1HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
00ca:01680000:0002:0070:1:0
|
||||||
|
HOME 4K (TECT)
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03f7:01680000:000a:0070:1:0
|
||||||
|
ТВОЙ ДОМ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0480:01680000:000b:0070:2:0
|
||||||
|
Детское радио
|
||||||
|
p:HTB+
|
||||||
|
02e5:01680000:0007:0070:2:0
|
||||||
|
Юмор FM
|
||||||
|
p:HTB+
|
||||||
|
02e6:01680000:0007:0070:2:0
|
||||||
|
Радио Для Двоих
|
||||||
|
p:HTB+
|
||||||
|
02e7:01680000:0007:0070:2:0
|
||||||
|
Романтика
|
||||||
|
p:HTB+
|
||||||
|
02e8:01680000:0007:0070:2:0
|
||||||
|
Авторадио
|
||||||
|
p:HTB+
|
||||||
|
02e9:01680000:0007:0070:2:0
|
||||||
|
Радио Ваня
|
||||||
|
p:HTB+
|
||||||
|
02ea:01680000:0007:0070:2:0
|
||||||
|
ENERGY FM
|
||||||
|
p:HTB+
|
||||||
|
02eb:01680000:0007:0070:2:0
|
||||||
|
DFM
|
||||||
|
p:HTB+
|
||||||
|
02ec:01680000:0007:0070:2:0
|
||||||
|
Русское радио
|
||||||
|
p:HTB+
|
||||||
|
02ed:01680000:0007:0070:2:0
|
||||||
|
HIT FM
|
||||||
|
p:HTB+
|
||||||
|
02ee:01680000:0007:0070:2:0
|
||||||
|
Maximum
|
||||||
|
p:HTB+
|
||||||
|
02ef:01680000:0007:0070:2:0
|
||||||
|
Business FM
|
||||||
|
p:HTB+
|
||||||
|
02f2:01680000:0007:0070:2:0
|
||||||
|
Комсомольская правда
|
||||||
|
p:HTB+
|
||||||
|
02f3:01680000:0007:0070:2:0
|
||||||
|
Relax FM
|
||||||
|
p:HTB+
|
||||||
|
02f4:01680000:0007:0070:2:0
|
||||||
|
Эхо Москвы
|
||||||
|
p:HTB+
|
||||||
|
02f5:01680000:0007:0070:2:0
|
||||||
|
Радио МИР
|
||||||
|
p:HTB+
|
||||||
|
02f6:01680000:0007:0070:2:0
|
||||||
|
Love Radio
|
||||||
|
p:HTB+
|
||||||
|
02f7:01680000:0007:0070:2:0
|
||||||
|
Радио Шансон
|
||||||
|
p:HTB+
|
||||||
|
02f8:01680000:0007:0070:2:0
|
||||||
|
Детское радио
|
||||||
|
p:HTB+
|
||||||
|
1f53:01680000:000a:0070:12:0
|
||||||
|
VAHD3100S DOWNLOAD SVC
|
||||||
|
p:HTB+,f:40
|
||||||
|
1b58:01680000:000a:0070:12:0
|
||||||
|
OPENTEL 1740V OTA
|
||||||
|
p:HTB+
|
||||||
|
025d:01680000:0015:0070:12:0
|
||||||
|
Neotion Update Service
|
||||||
|
p:HTB+,f:40
|
||||||
|
1f5e:01680000:0015:0070:12:0
|
||||||
|
KMedia
|
||||||
|
p:HTB+
|
||||||
|
0265:01680000:0015:0070:12:0
|
||||||
|
Neotion CAM PRO
|
||||||
|
p:HTB+,f:40
|
||||||
|
1f68:01680000:000a:0070:12:0
|
||||||
|
Jiuzhou 1HD SSU
|
||||||
|
p:HTB+
|
||||||
|
1f7f:01680000:000a:0070:12:0
|
||||||
|
SMiT
|
||||||
|
p:HTB+,f:40
|
||||||
|
1f80:01680000:000a:0070:12:0
|
||||||
|
SMiT+
|
||||||
|
p:HTB+,f:40
|
||||||
|
0884:01680000:0015:0070:12:0
|
||||||
|
TEST2180
|
||||||
|
p:HTB+,f:40
|
||||||
|
028c:01680000:0015:0070:12:0
|
||||||
|
SPro16
|
||||||
|
p:HTB+,f:40
|
||||||
|
028d:0168affb:0008:0070:12:0
|
||||||
|
SPro16
|
||||||
|
p:HTB+,f:40
|
||||||
|
028d:0168affc:0008:0070:12:0
|
||||||
|
SPro16
|
||||||
|
p:HTB+,f:40
|
||||||
|
0296:01680000:000b:0070:12:0
|
||||||
|
SPro16
|
||||||
|
p:HTB+,f:40
|
||||||
|
0297:01680000:000d:0070:12:0
|
||||||
|
SPro16
|
||||||
|
p:HTB+,f:40
|
||||||
|
0709:01680000:0012:0070:22:0
|
||||||
|
Первый канал +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
070a:01680000:0012:0070:22:0
|
||||||
|
HTB +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
070b:01680000:0012:0070:22:0
|
||||||
|
ТВЦ +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
070c:01680000:0012:0070:22:0
|
||||||
|
ТНТ +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
070f:01680000:0012:0070:22:0
|
||||||
|
ТРО
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0710:01680000:0012:0070:22:0
|
||||||
|
History
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0711:01680000:0012:0070:22:0
|
||||||
|
MCM Top
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0712:01680000:0012:0070:22:0
|
||||||
|
Астрахань 24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0713:01680000:0012:0070:22:0
|
||||||
|
Outdoor Channel
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0714:01680000:0012:0070:22:0
|
||||||
|
RU.TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0515:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! АРЕНА
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0715:01680000:0012:0070:22:0
|
||||||
|
Travel Channel
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0516:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! БОЕЦ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0716:01680000:0012:0070:22:0
|
||||||
|
RTД (русск.)
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0517:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! ИГРА
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0518:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! НАШ СПОРТ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0718:01680000:0012:0070:22:0
|
||||||
|
RTG TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0519:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! ФУТБОЛ 1
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
051a:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! ФУТБОЛ 2
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
071a:01680000:0012:0070:22:0
|
||||||
|
BRIDGE TV DANCE
|
||||||
|
p:HTB+,C:0500
|
||||||
|
051b:01680000:000d:0070:22:0
|
||||||
|
МАТЧ! ФУТБОЛ 3
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
051c:01680000:000d:0070:22:0
|
||||||
|
ОТР
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
071c:01680000:0012:0070:22:0
|
||||||
|
THT4
|
||||||
|
p:HTB+,C:0500
|
||||||
|
051d:01680000:000d:0070:22:0
|
||||||
|
ИНФОКАНАЛ НТВ-ПЛЮС
|
||||||
|
p:HTB+,C:0500
|
||||||
|
071d:01680000:0012:0070:22:0
|
||||||
|
Ani
|
||||||
|
p:HTB+,C:0500
|
||||||
|
051e:01680000:000d:0070:22:0
|
||||||
|
Доктор
|
||||||
|
p:HTB+,C:0500
|
||||||
|
071e:01680000:0012:0070:22:0
|
||||||
|
История
|
||||||
|
p:HTB+,C:0500
|
||||||
|
051f:01680000:000d:0070:22:0
|
||||||
|
Звезда
|
||||||
|
p:HTB+,C:0500
|
||||||
|
071f:01680000:0012:0070:22:0
|
||||||
|
МИР 24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0520:01680000:000d:0070:22:0
|
||||||
|
Канал Disney
|
||||||
|
p:HTB+,c:0000d4,c:010138,c:0300d4,c:050001,C:0500
|
||||||
|
0720:01680000:0012:0070:22:0
|
||||||
|
Царьград
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0321:0168affb:0008:0070:22:0
|
||||||
|
Animal Planet
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0321:0168affc:0008:0070:22:0
|
||||||
|
Animal Planet
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0521:01680000:000d:0070:22:0
|
||||||
|
МУЗ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0721:01680000:0012:0070:22:0
|
||||||
|
Санкт-Петербург
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0322:0168affb:0008:0070:22:0
|
||||||
|
Cartoon Network
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0322:0168affc:0008:0070:22:0
|
||||||
|
Cartoon Network
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0522:01680000:000d:0070:22:0
|
||||||
|
НАШ ФУТБОЛ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0323:0168affb:0008:0070:22:0
|
||||||
|
Discovery Channel
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0323:0168affc:0008:0070:22:0
|
||||||
|
Discovery Channel
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0523:01680000:000d:0070:22:0
|
||||||
|
НТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0324:0168affb:0008:0070:22:0
|
||||||
|
НСТ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0324:0168affc:0008:0070:22:0
|
||||||
|
НСТ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0524:01680000:000d:0070:22:0
|
||||||
|
Телеканал 360
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0325:0168affb:0008:0070:22:0
|
||||||
|
DTX
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0325:0168affc:0008:0070:22:0
|
||||||
|
DTX
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0525:01680000:000d:0070:22:0
|
||||||
|
РБК-ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0326:0168affb:0008:0070:22:0
|
||||||
|
Fox Life
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0326:0168affc:0008:0070:22:0
|
||||||
|
Fox Life
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0526:01680000:000d:0070:22:0
|
||||||
|
Телеканал КХЛ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0327:0168affb:0008:0070:22:0
|
||||||
|
ID Xtra
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0327:0168affc:0008:0070:22:0
|
||||||
|
ID Xtra
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0527:01680000:000d:0070:22:0
|
||||||
|
ТНТ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0328:0168affb:0008:0070:22:0
|
||||||
|
O!
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0328:0168affc:0008:0070:22:0
|
||||||
|
O!
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0528:01680000:000d:0070:22:0
|
||||||
|
Ю-ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0329:0168affb:0008:0070:22:0
|
||||||
|
MTV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0329:0168affc:0008:0070:22:0
|
||||||
|
MTV
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032a:0168affb:0008:0070:22:0
|
||||||
|
MTV Dance
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032a:0168affc:0008:0070:22:0
|
||||||
|
MTV Dance
|
||||||
|
p:HTB+,C:0500
|
||||||
|
052a:01680000:000d:0070:22:0
|
||||||
|
World Fashion
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032b:0168affb:0008:0070:22:0
|
||||||
|
MTV Hits
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032b:0168affc:0008:0070:22:0
|
||||||
|
MTV Hits
|
||||||
|
p:HTB+,C:0500
|
||||||
|
052b:01680000:000d:0070:22:0
|
||||||
|
Shop&Show
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032c:0168affb:0008:0070:22:0
|
||||||
|
MTV Rocks
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032c:0168affc:0008:0070:22:0
|
||||||
|
MTV Rocks
|
||||||
|
p:HTB+,C:0500
|
||||||
|
052c:01680000:000d:0070:22:0
|
||||||
|
THT MUSIC
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032d:0168affb:0008:0070:22:0
|
||||||
|
National Geographic
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032d:0168affc:0008:0070:22:0
|
||||||
|
National Geographic
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032e:0168affb:0008:0070:22:0
|
||||||
|
Nick Jr.
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032e:0168affc:0008:0070:22:0
|
||||||
|
Nick Jr.
|
||||||
|
p:HTB+,C:0500
|
||||||
|
032f:0168affb:0008:0070:22:0
|
||||||
|
TLC
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
032f:0168affc:0008:0070:22:0
|
||||||
|
TLC
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0330:0168affb:0008:0070:22:0
|
||||||
|
VH1 Classic
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0330:0168affc:0008:0070:22:0
|
||||||
|
VH1 Classic
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0331:0168affb:0008:0070:22:0
|
||||||
|
VH1 European
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0331:0168affc:0008:0070:22:0
|
||||||
|
VH1 European
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0332:0168affb:0008:0070:22:0
|
||||||
|
БОБЁР
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0332:0168affc:0008:0070:22:0
|
||||||
|
БОБЁР
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0333:0168affb:0008:0070:22:0
|
||||||
|
Время: далекое и близкое
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0333:0168affc:0008:0070:22:0
|
||||||
|
Время: далекое и близкое
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0334:0168affb:0008:0070:22:0
|
||||||
|
Дом Кино
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0334:0168affc:0008:0070:22:0
|
||||||
|
Дом Кино
|
||||||
|
p:HTB+,c:0000dc,c:010140,c:0300dc,c:050001,C:0500
|
||||||
|
0335:0168affb:0008:0070:22:0
|
||||||
|
Boomerang
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0335:0168affc:0008:0070:22:0
|
||||||
|
Boomerang
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0835:01680000:0015:0070:22:0
|
||||||
|
2X2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0336:0168affb:0008:0070:22:0
|
||||||
|
Карусель
|
||||||
|
p:HTB+,c:0000de,c:010142,c:02020a,c:0300de,c:050001,C:0500
|
||||||
|
0336:0168affc:0008:0070:22:0
|
||||||
|
Карусель
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0836:01680000:0015:0070:22:0
|
||||||
|
A1
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0337:0168affb:0008:0070:22:0
|
||||||
|
Музыка Первого
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0337:0168affc:0008:0070:22:0
|
||||||
|
Музыка Первого
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0837:01680000:0015:0070:22:0
|
||||||
|
AMEDIA HIT
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0338:0168affb:0008:0070:22:0
|
||||||
|
ТЕЛЕКАФЕ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0338:0168affc:0008:0070:22:0
|
||||||
|
ТЕЛЕКАФЕ
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0838:01680000:0015:0070:22:0
|
||||||
|
Amedia Premium
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083a:01680000:0015:0070:22:0
|
||||||
|
CBS Reality
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083b:01680000:0015:0070:22:0
|
||||||
|
ЕвроКино
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083c:01680000:0015:0070:22:0
|
||||||
|
Теленовелла
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083d:01680000:0015:0070:22:0
|
||||||
|
НАШЕ ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083e:01680000:0015:0070:22:0
|
||||||
|
Bollywood
|
||||||
|
p:HTB+,C:0500
|
||||||
|
083f:01680000:0015:0070:22:0
|
||||||
|
Русский Иллюзион
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0840:01680000:0015:0070:22:0
|
||||||
|
AMC
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0841:01680000:0015:0070:22:0
|
||||||
|
ТВЦ
|
||||||
|
p:HTB+,c:0000d5,c:010139,c:020201,c:0300d5,c:050001,C:0500
|
||||||
|
0842:01680000:0015:0070:22:0
|
||||||
|
Москва 24
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0843:01680000:0015:0070:22:0
|
||||||
|
Совершенно секретно
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0844:01680000:0015:0070:22:0
|
||||||
|
TВ-21М
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0845:01680000:0015:0070:22:0
|
||||||
|
A2
|
||||||
|
p:HTB+,c:0000d9,c:01013d,c:020205,c:0300d9,c:050001,C:0500
|
||||||
|
0846:01680000:0015:0070:22:0
|
||||||
|
BRIDGE TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0847:01680000:0015:0070:22:0
|
||||||
|
BRIDGE TV Русский Хит
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0848:01680000:0015:0070:22:0
|
||||||
|
Playboy TV
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0849:01680000:0015:0070:22:0
|
||||||
|
TiJi
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
084a:01680000:0015:0070:22:0
|
||||||
|
Gulli Girl
|
||||||
|
p:HTB+,C:0500
|
||||||
|
054b:01680000:000d:0070:22:0
|
||||||
|
ПП Тест2
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
084b:01680000:0015:0070:22:0
|
||||||
|
BBC World News
|
||||||
|
p:HTB+,C:0500
|
||||||
|
084c:01680000:0015:0070:22:0
|
||||||
|
Первый МЕТЕО
|
||||||
|
p:HTB+,C:0500
|
||||||
|
044d:01680000:000b:0070:22:0
|
||||||
|
Первый канал
|
||||||
|
p:HTB+,C:0500
|
||||||
|
084d:01680000:0015:0070:22:0
|
||||||
|
КРИК-Тв
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
044e:01680000:000b:0070:22:0
|
||||||
|
Домашний
|
||||||
|
p:HTB+,C:0500
|
||||||
|
084e:01680000:0015:0070:22:0
|
||||||
|
Russian extreme TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
044f:01680000:000b:0070:22:0
|
||||||
|
Кубань 24 ОРБИТА
|
||||||
|
p:HTB+
|
||||||
|
084f:01680000:0015:0070:22:0
|
||||||
|
ПРОСВЕЩЕНИЕ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0450:01680000:000b:0070:22:0
|
||||||
|
ТВ Губерния
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0451:01680000:000b:0070:22:0
|
||||||
|
СТС
|
||||||
|
p:HTB+,c:0000cd,c:010131,c:0300cd,c:050001,C:0500
|
||||||
|
0452:01680000:000b:0070:22:0
|
||||||
|
CTC Love
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0453:01680000:000b:0070:22:0
|
||||||
|
ТДК
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0454:01680000:000b:0070:22:0
|
||||||
|
ТНВ-Планета
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0455:01680000:000b:0070:22:0
|
||||||
|
Че
|
||||||
|
p:HTB+,c:0000d1,c:010135,c:0300d1,c:050001,C:0500
|
||||||
|
0555:01680000:000d:0070:22:0
|
||||||
|
TEST VIRTUAL
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0456:01680000:000b:0070:22:0
|
||||||
|
Discovery Science
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0457:01680000:000b:0070:22:0
|
||||||
|
NHK WORLD TV
|
||||||
|
p:HTB+,f:40
|
||||||
|
0458:01680000:000b:0070:22:0
|
||||||
|
Детский
|
||||||
|
p:HTB+,c:0000d4,c:010138,c:0300d4,c:050001,C:0500
|
||||||
|
0459:01680000:000b:0070:22:0
|
||||||
|
Зоопарк
|
||||||
|
p:HTB+,C:0500
|
||||||
|
045a:01680000:000b:0070:22:0
|
||||||
|
КИНО ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
045b:01680000:000b:0070:22:0
|
||||||
|
Комедия
|
||||||
|
p:HTB+,C:0500
|
||||||
|
045c:01680000:000b:0070:22:0
|
||||||
|
Россия 1 +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0065:01680000:0001:0070:22:0
|
||||||
|
365 дней ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0066:01680000:0001:0070:22:0
|
||||||
|
Авто Плюс
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0067:01680000:0001:0070:22:0
|
||||||
|
Европа Плюс ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0068:01680000:0001:0070:22:0
|
||||||
|
ИНДИЙСКОЕ КИНО
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0069:01680000:0001:0070:22:0
|
||||||
|
КИНОМИКС
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006a:01680000:0001:0070:22:0
|
||||||
|
КИНОСВИДАНИЕ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006b:01680000:0001:0070:22:0
|
||||||
|
КИНОХИТ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006c:01680000:0001:0070:22:0
|
||||||
|
КИНОКОМЕДИЯ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006d:01680000:0001:0070:22:0
|
||||||
|
Кто есть кто
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006e:01680000:0001:0070:22:0
|
||||||
|
Кухня ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
006f:01680000:0001:0070:22:0
|
||||||
|
Ля-минор ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0071:01680000:0001:0070:22:0
|
||||||
|
КИНОСЕРИЯ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0073:01680000:0001:0070:22:0
|
||||||
|
РОДНОЕ КИНО
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0075:01680000:0001:0070:22:0
|
||||||
|
Ностальгия
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0078:01680000:0001:0070:22:0
|
||||||
|
Русская ночь
|
||||||
|
p:HTB+,C:0500
|
||||||
|
007a:01680000:0001:0070:22:0
|
||||||
|
Hustler TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
007b:01680000:0001:0070:22:0
|
||||||
|
ЖАРА
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0191:01680000:0004:0070:22:0
|
||||||
|
Detektiv.tv
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0192:01680000:0004:0070:22:0
|
||||||
|
PEH TB +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0193:01680000:0004:0070:22:0
|
||||||
|
Карусель +3
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0194:01680000:0004:0070:22:0
|
||||||
|
Fine Living
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0195:01680000:0004:0070:22:0
|
||||||
|
Fashion TV Network
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0196:01680000:0004:0070:22:0
|
||||||
|
НТВ Право
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0198:01680000:0004:0070:22:0
|
||||||
|
НТВ Сериал
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0199:01680000:0004:0070:22:0
|
||||||
|
ACB TV
|
||||||
|
p:HTB+,C:0500
|
||||||
|
019a:01680000:0004:0070:22:0
|
||||||
|
Звезда +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
019b:01680000:0004:0070:22:0
|
||||||
|
Архыз 24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
019c:01680000:0004:0070:22:0
|
||||||
|
МИР +4
|
||||||
|
p:HTB+,C:0500
|
||||||
|
019d:01680000:0004:0070:22:0
|
||||||
|
Пятый канал +2
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4a9d:01680000:0013:0070:22:0
|
||||||
|
Телеканал Да Винчи
|
||||||
|
p:HTB+,C:0500
|
||||||
|
019f:01680000:0004:0070:22:0
|
||||||
|
НТВ Стиль
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a0:01680000:0004:0070:22:0
|
||||||
|
Food Network
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa1:01680000:0013:0070:22:0
|
||||||
|
Viasat Explore
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a2:01680000:0004:0070:22:0
|
||||||
|
ЖИВИ!
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa2:01680000:0013:0070:22:0
|
||||||
|
Viasat History
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a3:01680000:0004:0070:22:0
|
||||||
|
Сарафан
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa3:01680000:0013:0070:22:0
|
||||||
|
Viasat Nature
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a4:01680000:0004:0070:22:0
|
||||||
|
Страна
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a5:01680000:0004:0070:22:0
|
||||||
|
Русский бестселлер
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa5:01680000:0013:0070:22:0
|
||||||
|
Extreme Sports
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a6:01680000:0004:0070:22:0
|
||||||
|
БОКС ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a7:01680000:0004:0070:22:0
|
||||||
|
Game Show
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa7:01680000:0013:0070:22:0
|
||||||
|
Первый образовательный
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a8:01680000:0004:0070:22:0
|
||||||
|
Русский роман
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa8:01680000:0013:0070:22:0
|
||||||
|
ДОМАШНИЕ ЖИВОТНЫЕ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01a9:01680000:0004:0070:22:0
|
||||||
|
В гостях у сказки
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aa9:01680000:0013:0070:22:0
|
||||||
|
ПСИХОЛОГИЯ21
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01aa:01680000:0004:0070:22:0
|
||||||
|
|
||||||
|
p:HTB+,C:0500
|
||||||
|
01ab:01680000:0004:0070:22:0
|
||||||
|
Duck
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aab:01680000:0013:0070:22:0
|
||||||
|
FOX
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aac:01680000:0013:0070:22:0
|
||||||
|
Nat Geo Wild
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4aad:01680000:0013:0070:22:0
|
||||||
|
АРМЕНИЯ ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4ab0:01680000:0013:0070:22:0
|
||||||
|
Мама
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4ab1:01680000:0013:0070:22:0
|
||||||
|
Paramount Channel
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4ab6:01680000:0013:0070:22:0
|
||||||
|
Mezzo
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4ab7:01680000:0013:0070:22:0
|
||||||
|
БСТ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4ab8:01680000:0013:0070:22:0
|
||||||
|
Первый Вегетарианский
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02bd:01680000:0007:0070:22:0
|
||||||
|
8 канал
|
||||||
|
p:HTB+
|
||||||
|
02be:01680000:0007:0070:22:0
|
||||||
|
ABTO24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02bf:01680000:0007:0070:22:0
|
||||||
|
Детский мир/Телеклуб
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c0:01680000:0007:0070:22:0
|
||||||
|
Eurosport 1
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c1:01680000:0007:0070:22:0
|
||||||
|
Bloomberg Television
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c3:01680000:0007:0070:22:0
|
||||||
|
FRANCE 24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c4:01680000:0007:0070:22:0
|
||||||
|
JimJam
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c5:01680000:0007:0070:22:0
|
||||||
|
Nickelodeon
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c6:01680000:0007:0070:22:0
|
||||||
|
SONY CHANNEL
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c7:01680000:0007:0070:22:0
|
||||||
|
Sony Sci-Fi
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02c9:01680000:0007:0070:22:0
|
||||||
|
Travel+Adventure
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02ca:01680000:0007:0070:22:0
|
||||||
|
Продвижение
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02cb:01680000:0007:0070:22:0
|
||||||
|
Загородная жизнь
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02cc:01680000:0007:0070:22:0
|
||||||
|
Радость моя
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02cd:01680000:0007:0070:22:0
|
||||||
|
ДОН 24
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02ce:01680000:0007:0070:22:0
|
||||||
|
Грозный
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02cf:01680000:0007:0070:22:0
|
||||||
|
Мир сериала
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02d0:01680000:0007:0070:22:0
|
||||||
|
Брянская Губерния
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02d1:01680000:0007:0070:22:0
|
||||||
|
Первый Ярославский
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02d2:01680000:0007:0070:22:0
|
||||||
|
Любимое Кино
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02d3:01680000:0007:0070:22:0
|
||||||
|
TRiCK
|
||||||
|
p:HTB+,C:0500
|
||||||
|
02d4:01680000:0007:0070:22:0
|
||||||
|
Шансон-ТВ
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03e9:01680000:000a:0070:22:0
|
||||||
|
Россия 1
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03ea:01680000:000a:0070:22:0
|
||||||
|
МАТЧ!
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
03eb:01680000:000a:0070:22:0
|
||||||
|
Пятый канал
|
||||||
|
p:HTB+,c:0000cb,c:01012f,c:0201f7,c:0300cb,c:050001,C:0500
|
||||||
|
03ec:01680000:000a:0070:22:0
|
||||||
|
РЕН ТВ
|
||||||
|
p:HTB+,c:0000cc,c:010130,c:0300cc,c:050001,C:0500
|
||||||
|
03ed:01680000:000a:0070:22:0
|
||||||
|
Россия К
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03ee:01680000:000a:0070:22:0
|
||||||
|
Россия 24
|
||||||
|
p:HTB+,c:0000ce,c:010132,c:0300ce,c:050001,C:0500
|
||||||
|
03ef:01680000:000a:0070:22:0
|
||||||
|
СПАС
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03f0:01680000:000a:0070:22:0
|
||||||
|
ТВ-3
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03f1:01680000:000a:0070:22:0
|
||||||
|
ПЯТНИЦА
|
||||||
|
p:HTB+,c:0000d1,c:010135,c:0300d1,c:050001,C:0500
|
||||||
|
03f2:01680000:000a:0070:22:0
|
||||||
|
МИР
|
||||||
|
p:HTB+,C:0500
|
||||||
|
03f3:01680000:000a:0070:22:0
|
||||||
|
Shopping Live
|
||||||
|
p:HTB+,f:40
|
||||||
|
03f4:01680000:000a:0070:22:0
|
||||||
|
Shop24
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
03f5:01680000:000a:0070:22:0
|
||||||
|
RT (арабский)
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
03f6:01680000:000a:0070:22:0
|
||||||
|
RT (испанский)
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
2f47:01680000:000c:0070:25:0
|
||||||
|
HD Life
|
||||||
|
p:HTB+,C:0500
|
||||||
|
2f49:01680000:000c:0070:25:0
|
||||||
|
Discovery Channel HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
2f4a:01680000:000c:0070:25:0
|
||||||
|
Телеканал КХЛ HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
057c:01680000:000e:0070:25:0
|
||||||
|
MTV Live HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
057f:01680000:000e:0070:25:0
|
||||||
|
МИР HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4e85:01680000:0014:0070:25:0
|
||||||
|
Nat Geo Wild HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4e86:01680000:0014:0070:25:0
|
||||||
|
RTG HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4e87:01680000:0014:0070:25:0
|
||||||
|
Mezzo Live HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4e88:01680000:0014:0070:25:0
|
||||||
|
MGM HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
4e89:01680000:0014:0070:25:0
|
||||||
|
Первый канал HD
|
||||||
|
p:HTB+,c:0000cd,c:010131,c:0201f9,c:0300cd,c:050001,C:0500
|
||||||
|
4e8a:01680000:0014:0070:25:0
|
||||||
|
Россия 1 HD
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
6592:01680000:0009:0070:25:0
|
||||||
|
National Geographic HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
6593:01680000:0009:0070:25:0
|
||||||
|
Amedia Premium HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
6594:01680000:0009:0070:25:0
|
||||||
|
History HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
6595:01680000:0009:0070:25:0
|
||||||
|
TLC HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
6596:01680000:0009:0070:25:0
|
||||||
|
Travel Channel HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
0899:01680000:0016:0070:25:0
|
||||||
|
HTB HD
|
||||||
|
p:HTB+,c:0000c9,c:01012d,c:0300c9,c:050001,C:0500
|
||||||
|
089a:01680000:0016:0070:25:0
|
||||||
|
Animal Planet HD
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
089b:01680000:0016:0070:25:0
|
||||||
|
КОННЫЙ МИР HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
089c:01680000:0016:0070:25:0
|
||||||
|
МАТЧ! HD
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
089d:01680000:0016:0070:25:0
|
||||||
|
Дом Кино Премиум HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
089e:01680000:0016:0070:25:0
|
||||||
|
BRIDGE HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
089f:01680000:0016:0070:25:0
|
||||||
|
THT HD
|
||||||
|
p:HTB+,c:0000cf,c:010133,c:0300cf,c:050001,C:0500
|
||||||
|
42cd:01680000:0011:0070:25:0
|
||||||
|
FOX HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
42d1:01680000:0011:0070:25:0
|
||||||
|
Viasat Nature/History HD
|
||||||
|
p:HTB+,C:0500
|
||||||
|
1f51:01680000:000a:0070:100:0
|
||||||
|
12264V SID 0x1f51
|
||||||
|
p:DVB-S QPSK 12264V 36.0°E,f:40
|
||||||
|
0003:01680000:000a:0070:135:0
|
||||||
|
EPG TECT
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0002:01680000:000a:0070:136:0
|
||||||
|
Имена групп каналов
|
||||||
|
p:HTB+,C:0500,f:40
|
||||||
|
0032:01680000:000a:0070:139:0
|
||||||
|
010D011320
|
||||||
|
p:HTB+,f:40
|
||||||
|
003c:01680000:000a:0070:139:0
|
||||||
|
010E01130F
|
||||||
|
p:HTB+,f:40
|
||||||
|
end
|
||||||
@@ -179,7 +179,6 @@
|
|||||||
<property name="label" translatable="yes">Satellites editor</property>
|
<property name="label" translatable="yes">Satellites editor</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="image">image1</property>
|
|
||||||
<property name="use_stock">False</property>
|
<property name="use_stock">False</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
@@ -602,6 +601,67 @@
|
|||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
<object class="GtkFileChooserDialog" id="path_chooser_dialog">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="title" translatable="yes"> </property>
|
||||||
|
<property name="type_hint">dialog</property>
|
||||||
|
<property name="transient_for">main_window</property>
|
||||||
|
<property name="action">save</property>
|
||||||
|
<child internal-child="vbox">
|
||||||
|
<object class="GtkBox" id="filechooserdialog-vbox3">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">2</property>
|
||||||
|
<child internal-child="action_area">
|
||||||
|
<object class="GtkButtonBox" id="filechooserdialog-action_area3">
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="layout_style">end</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button2">
|
||||||
|
<property name="label">gtk-undo</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkButton" id="button1">
|
||||||
|
<property name="label">gtk-ok</property>
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="receives_default">True</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="yalign">0.55000001192092896</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">True</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<action-widgets>
|
||||||
|
<action-widget response="-6">button2</action-widget>
|
||||||
|
<action-widget response="-12">button1</action-widget>
|
||||||
|
</action-widgets>
|
||||||
|
</object>
|
||||||
<object class="GtkDialog" id="settings_dialog">
|
<object class="GtkDialog" id="settings_dialog">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Options</property>
|
<property name="title" translatable="yes">Options</property>
|
||||||
@@ -620,6 +680,7 @@
|
|||||||
<child internal-child="action_area">
|
<child internal-child="action_area">
|
||||||
<object class="GtkButtonBox" id="dialog-action_area1">
|
<object class="GtkButtonBox" id="dialog-action_area1">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="halign">end</property>
|
||||||
<property name="layout_style">end</property>
|
<property name="layout_style">end</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="cancel_button">
|
<object class="GtkButton" id="cancel_button">
|
||||||
@@ -632,7 +693,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">0</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@@ -646,20 +707,21 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">True</property>
|
<property name="expand">True</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">1</property>
|
<property name="position">3</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
<property name="position">1</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkGrid" id="grid1">
|
<object class="GtkGrid" id="grid1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
|
<property name="column_homogeneous">True</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkLabel" id="label1">
|
<object class="GtkLabel" id="label1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
@@ -731,6 +793,8 @@
|
|||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="text" translatable="yes">root</property>
|
<property name="text" translatable="yes">root</property>
|
||||||
|
<property name="primary_icon_name">emblem-personal</property>
|
||||||
|
<property name="primary_icon_activatable">False</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="left_attach">0</property>
|
<property name="left_attach">0</property>
|
||||||
@@ -744,6 +808,8 @@
|
|||||||
<property name="visibility">False</property>
|
<property name="visibility">False</property>
|
||||||
<property name="invisible_char">●</property>
|
<property name="invisible_char">●</property>
|
||||||
<property name="text" translatable="yes">root</property>
|
<property name="text" translatable="yes">root</property>
|
||||||
|
<property name="primary_icon_name">emblem-nowrite</property>
|
||||||
|
<property name="primary_icon_activatable">False</property>
|
||||||
<property name="input_purpose">password</property>
|
<property name="input_purpose">password</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
@@ -755,7 +821,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">1</property>
|
<property name="position">0</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@@ -768,7 +834,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">2</property>
|
<property name="position">1</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@@ -846,7 +912,7 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">3</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
@@ -858,7 +924,58 @@
|
|||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">4</property>
|
<property name="position">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkGrid" id="grid3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="column_homogeneous">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label8">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="label" translatable="yes">Data directory:</property>
|
||||||
|
<property name="lines">0</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkEntry" id="data_dir_field">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="text" translatable="yes">/data</property>
|
||||||
|
<property name="secondary_icon_stock">gtk-open</property>
|
||||||
|
<property name="primary_icon_activatable">False</property>
|
||||||
|
<property name="secondary_icon_tooltip_text" translatable="yes">Select</property>
|
||||||
|
<signal name="icon-press" handler="on_data_dir_field_icon_press" swapped="no"/>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">5</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSeparator" id="separator3">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="padding">2</property>
|
||||||
|
<property name="position">6</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from collections import namedtuple
|
|||||||
|
|
||||||
Channel = namedtuple("Channel", ["name", "service", "freq", "fec"])
|
Channel = namedtuple("Channel", ["name", "service", "freq", "fec"])
|
||||||
|
|
||||||
FILE_PATH = "files/lamedb"
|
FILE_PATH = "files/lamedb_example"
|
||||||
|
|
||||||
with open(FILE_PATH) as file:
|
with open(FILE_PATH) as file:
|
||||||
lines = file.readlines()
|
lines = file.readlines()
|
||||||
@@ -13,3 +13,7 @@ for l in lines:
|
|||||||
|
|
||||||
print(lines)
|
print(lines)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -34,3 +34,7 @@ for elem in dom.getElementsByTagName("sat"):
|
|||||||
|
|
||||||
for sat in satellites:
|
for sat in satellites:
|
||||||
print(sat)
|
print(sat)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
pass
|
||||||
|
|||||||
@@ -2,12 +2,15 @@ import json
|
|||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
CONFIG_PATH = str(Path.home()) + "/.config/demon-editor/"
|
CONFIG_PATH = str(Path.home()) + "/.config/demon-editor/"
|
||||||
CONFIG_FILE = CONFIG_PATH + "config.json"
|
CONFIG_FILE = CONFIG_PATH + "config.json"
|
||||||
|
DATA_PATH = "data/"
|
||||||
|
|
||||||
|
|
||||||
def get_config():
|
def get_config():
|
||||||
os.makedirs(os.path.dirname(CONFIG_PATH), exist_ok=True) # create dir if not exist
|
os.makedirs(os.path.dirname(CONFIG_PATH), exist_ok=True) # create dir if not exist
|
||||||
|
os.makedirs(os.path.dirname(DATA_PATH), exist_ok=True)
|
||||||
if not os.path.isfile(CONFIG_FILE) or os.stat(CONFIG_FILE).st_size == 0:
|
if not os.path.isfile(CONFIG_FILE) or os.stat(CONFIG_FILE).st_size == 0:
|
||||||
with open(CONFIG_FILE, "w") as default_config_file:
|
with open(CONFIG_FILE, "w") as default_config_file:
|
||||||
json.dump(get_default_settings(), default_config_file)
|
json.dump(get_default_settings(), default_config_file)
|
||||||
@@ -27,12 +30,9 @@ def get_default_settings():
|
|||||||
"user": "root", "password": "root",
|
"user": "root", "password": "root",
|
||||||
"services_path": "/etc/enigma2/",
|
"services_path": "/etc/enigma2/",
|
||||||
"user_bouquet_path": "/etc/enigma2/",
|
"user_bouquet_path": "/etc/enigma2/",
|
||||||
"satellites_xml_path": "/etc/tuxbox/"}
|
"satellites_xml_path": "/etc/tuxbox/",
|
||||||
|
"data_dir_path": "/data"}
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
prop = get_config()
|
pass
|
||||||
print(prop)
|
|
||||||
prop["host"] = "192.168.1.11"
|
|
||||||
write_config(prop)
|
|
||||||
print(get_config())
|
|
||||||
|
|||||||
80
main/ui.py
80
main/ui.py
@@ -1,11 +1,12 @@
|
|||||||
import gi
|
import gi
|
||||||
from ftplib import FTP
|
from ftplib import FTP
|
||||||
from properties import get_config, write_config
|
from main.properties import get_config, write_config
|
||||||
|
|
||||||
gi.require_version('Gtk', '3.0')
|
gi.require_version('Gtk', '3.0')
|
||||||
from gi.repository import Gtk
|
from gi.repository import Gtk
|
||||||
|
|
||||||
status_bar = None
|
__status_bar = None
|
||||||
|
__options = get_config()
|
||||||
|
|
||||||
|
|
||||||
def on_about_app(item):
|
def on_about_app(item):
|
||||||
@@ -16,40 +17,63 @@ def on_about_app(item):
|
|||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
||||||
|
def get_handlers():
|
||||||
|
return {
|
||||||
|
"on_close_main_window": Gtk.main_quit,
|
||||||
|
"on_about_app": on_about_app,
|
||||||
|
"on_preferences": on_preferences,
|
||||||
|
"on_connect": on_connect,
|
||||||
|
"on_data_dir_field_icon_press": on_path_open
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def on_path_open(*args):
|
||||||
|
builder = Gtk.Builder()
|
||||||
|
builder.add_from_file("editor_ui.glade")
|
||||||
|
dialog = builder.get_object("path_chooser_dialog")
|
||||||
|
response = dialog.run()
|
||||||
|
if response == -12: # for fix assertion 'gtk_widget_get_can_default (widget)' failed
|
||||||
|
args[0].set_text(dialog.get_filename())
|
||||||
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
||||||
def on_preferences(item):
|
def on_preferences(item):
|
||||||
builder = Gtk.Builder()
|
builder = Gtk.Builder()
|
||||||
builder.add_from_file("editor_ui.glade")
|
builder.add_from_file("editor_ui.glade")
|
||||||
|
builder.connect_signals(get_handlers())
|
||||||
dialog = builder.get_object("settings_dialog")
|
dialog = builder.get_object("settings_dialog")
|
||||||
options = get_config()
|
|
||||||
host_field = builder.get_object("host_field")
|
host_field = builder.get_object("host_field")
|
||||||
host_field.set_text(options["host"])
|
host_field.set_text(__options["host"])
|
||||||
port_field = builder.get_object("port_field")
|
port_field = builder.get_object("port_field")
|
||||||
port_field.set_text(options["port"])
|
port_field.set_text(__options["port"])
|
||||||
login_field = builder.get_object("login_field")
|
login_field = builder.get_object("login_field")
|
||||||
login_field.set_text(options["user"])
|
login_field.set_text(__options["user"])
|
||||||
password_field = builder.get_object("password_field")
|
password_field = builder.get_object("password_field")
|
||||||
password_field.set_text(options["password"])
|
password_field.set_text(__options["password"])
|
||||||
services_field = builder.get_object("services_field")
|
services_field = builder.get_object("services_field")
|
||||||
services_field.set_text(options["services_path"])
|
services_field.set_text(__options["services_path"])
|
||||||
user_bouquet_field = builder.get_object("user_bouquet_field")
|
user_bouquet_field = builder.get_object("user_bouquet_field")
|
||||||
user_bouquet_field.set_text(options["user_bouquet_path"])
|
user_bouquet_field.set_text(__options["user_bouquet_path"])
|
||||||
satellites_xml_field = builder.get_object("satellites_xml_field")
|
satellites_xml_field = builder.get_object("satellites_xml_field")
|
||||||
satellites_xml_field.set_text(options["satellites_xml_path"])
|
satellites_xml_field.set_text(__options["satellites_xml_path"])
|
||||||
|
data_dir_field = builder.get_object("data_dir_field")
|
||||||
|
data_dir_field.set_text(__options["data_dir_path"])
|
||||||
|
|
||||||
if dialog.run() == Gtk.ResponseType.OK:
|
if dialog.run() == Gtk.ResponseType.OK:
|
||||||
options["host"] = host_field.get_text()
|
__options["host"] = host_field.get_text()
|
||||||
options["port"] = port_field.get_text()
|
__options["port"] = port_field.get_text()
|
||||||
options["user"] = login_field.get_text()
|
__options["user"] = login_field.get_text()
|
||||||
options["password"] = password_field.get_text()
|
__options["password"] = password_field.get_text()
|
||||||
options["services_path"] = services_field.get_text()
|
__options["services_path"] = services_field.get_text()
|
||||||
options["user_bouquet_path"] = user_bouquet_field.get_text()
|
__options["user_bouquet_path"] = user_bouquet_field.get_text()
|
||||||
options["satellites_xml_path"] = satellites_xml_field.get_text()
|
__options["satellites_xml_path"] = satellites_xml_field.get_text()
|
||||||
write_config(options)
|
__options["data_dir_path"] = data_dir_field.get_text()
|
||||||
|
write_config(__options)
|
||||||
dialog.destroy()
|
dialog.destroy()
|
||||||
|
|
||||||
|
|
||||||
def on_connect(item):
|
def on_connect(item):
|
||||||
connect(get_config())
|
connect(__options)
|
||||||
|
|
||||||
|
|
||||||
def connect(properties):
|
def connect(properties):
|
||||||
@@ -57,27 +81,21 @@ def connect(properties):
|
|||||||
try:
|
try:
|
||||||
with FTP(properties["host"]) as ftp:
|
with FTP(properties["host"]) as ftp:
|
||||||
ftp.login(user=properties["user"], passwd=properties["password"])
|
ftp.login(user=properties["user"], passwd=properties["password"])
|
||||||
status_bar.push(1, ftp.voidcmd("NOOP"))
|
__status_bar.push(1, ftp.voidcmd("NOOP"))
|
||||||
ftp.cwd(properties["services_path"])
|
ftp.cwd(properties["services_path"])
|
||||||
ftp.retrlines("LIST")
|
ftp.retrlines("LIST")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
status_bar.remove_all(1)
|
__status_bar.remove_all(1)
|
||||||
status_bar.push(1, getattr(e, "message", repr(e))) # Or maybe so: getattr(e, 'message', str(e))
|
__status_bar.push(1, getattr(e, "message", repr(e))) # Or maybe so: getattr(e, 'message', str(e))
|
||||||
|
|
||||||
|
|
||||||
def init_ui():
|
def init_ui():
|
||||||
handlers = {
|
|
||||||
"on_close_main_window": Gtk.main_quit,
|
|
||||||
"on_about_app": on_about_app,
|
|
||||||
"on_preferences": on_preferences,
|
|
||||||
"on_connect": on_connect
|
|
||||||
}
|
|
||||||
builder = Gtk.Builder()
|
builder = Gtk.Builder()
|
||||||
builder.add_from_file("editor_ui.glade")
|
builder.add_from_file("editor_ui.glade")
|
||||||
main_window = builder.get_object("main_window")
|
main_window = builder.get_object("main_window")
|
||||||
global status_bar
|
global __status_bar
|
||||||
status_bar = builder.get_object("status_bar")
|
__status_bar = builder.get_object("status_bar")
|
||||||
builder.connect_signals(handlers)
|
builder.connect_signals(get_handlers())
|
||||||
main_window.show_all()
|
main_window.show_all()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user