mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2025-12-22 16:39:42 +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="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="image">image1</property>
|
||||
<property name="use_stock">False</property>
|
||||
</object>
|
||||
</child>
|
||||
@@ -602,6 +601,67 @@
|
||||
</object>
|
||||
</child>
|
||||
</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">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Options</property>
|
||||
@@ -620,6 +680,7 @@
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox" id="dialog-action_area1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="layout_style">end</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="cancel_button">
|
||||
@@ -632,7 +693,7 @@
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@@ -646,20 +707,21 @@
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkGrid" id="grid1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="column_homogeneous">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
@@ -731,6 +793,8 @@
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="text" translatable="yes">root</property>
|
||||
<property name="primary_icon_name">emblem-personal</property>
|
||||
<property name="primary_icon_activatable">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">0</property>
|
||||
@@ -744,6 +808,8 @@
|
||||
<property name="visibility">False</property>
|
||||
<property name="invisible_char">●</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>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -755,7 +821,7 @@
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@@ -768,7 +834,7 @@
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@@ -846,7 +912,7 @@
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
@@ -858,7 +924,58 @@
|
||||
<packing>
|
||||
<property name="expand">False</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>
|
||||
</child>
|
||||
</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"])
|
||||
|
||||
FILE_PATH = "files/lamedb"
|
||||
FILE_PATH = "files/lamedb_example"
|
||||
|
||||
with open(FILE_PATH) as file:
|
||||
lines = file.readlines()
|
||||
@@ -13,3 +13,7 @@ for l in lines:
|
||||
|
||||
print(lines)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
|
||||
@@ -34,3 +34,7 @@ for elem in dom.getElementsByTagName("sat"):
|
||||
|
||||
for sat in satellites:
|
||||
print(sat)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
@@ -2,12 +2,15 @@ import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
CONFIG_PATH = str(Path.home()) + "/.config/demon-editor/"
|
||||
CONFIG_FILE = CONFIG_PATH + "config.json"
|
||||
DATA_PATH = "data/"
|
||||
|
||||
|
||||
def get_config():
|
||||
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:
|
||||
with open(CONFIG_FILE, "w") as default_config_file:
|
||||
json.dump(get_default_settings(), default_config_file)
|
||||
@@ -27,12 +30,9 @@ def get_default_settings():
|
||||
"user": "root", "password": "root",
|
||||
"services_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__":
|
||||
prop = get_config()
|
||||
print(prop)
|
||||
prop["host"] = "192.168.1.11"
|
||||
write_config(prop)
|
||||
print(get_config())
|
||||
pass
|
||||
|
||||
80
main/ui.py
80
main/ui.py
@@ -1,11 +1,12 @@
|
||||
import gi
|
||||
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')
|
||||
from gi.repository import Gtk
|
||||
|
||||
status_bar = None
|
||||
__status_bar = None
|
||||
__options = get_config()
|
||||
|
||||
|
||||
def on_about_app(item):
|
||||
@@ -16,40 +17,63 @@ def on_about_app(item):
|
||||
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):
|
||||
builder = Gtk.Builder()
|
||||
builder.add_from_file("editor_ui.glade")
|
||||
builder.connect_signals(get_handlers())
|
||||
dialog = builder.get_object("settings_dialog")
|
||||
options = get_config()
|
||||
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.set_text(options["port"])
|
||||
port_field.set_text(__options["port"])
|
||||
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.set_text(options["password"])
|
||||
password_field.set_text(__options["password"])
|
||||
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.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.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:
|
||||
options["host"] = host_field.get_text()
|
||||
options["port"] = port_field.get_text()
|
||||
options["user"] = login_field.get_text()
|
||||
options["password"] = password_field.get_text()
|
||||
options["services_path"] = services_field.get_text()
|
||||
options["user_bouquet_path"] = user_bouquet_field.get_text()
|
||||
options["satellites_xml_path"] = satellites_xml_field.get_text()
|
||||
write_config(options)
|
||||
__options["host"] = host_field.get_text()
|
||||
__options["port"] = port_field.get_text()
|
||||
__options["user"] = login_field.get_text()
|
||||
__options["password"] = password_field.get_text()
|
||||
__options["services_path"] = services_field.get_text()
|
||||
__options["user_bouquet_path"] = user_bouquet_field.get_text()
|
||||
__options["satellites_xml_path"] = satellites_xml_field.get_text()
|
||||
__options["data_dir_path"] = data_dir_field.get_text()
|
||||
write_config(__options)
|
||||
dialog.destroy()
|
||||
|
||||
|
||||
def on_connect(item):
|
||||
connect(get_config())
|
||||
connect(__options)
|
||||
|
||||
|
||||
def connect(properties):
|
||||
@@ -57,27 +81,21 @@ def connect(properties):
|
||||
try:
|
||||
with FTP(properties["host"]) as ftp:
|
||||
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.retrlines("LIST")
|
||||
except Exception as e:
|
||||
status_bar.remove_all(1)
|
||||
status_bar.push(1, getattr(e, "message", repr(e))) # Or maybe so: getattr(e, 'message', str(e))
|
||||
__status_bar.remove_all(1)
|
||||
__status_bar.push(1, getattr(e, "message", repr(e))) # Or maybe so: getattr(e, 'message', str(e))
|
||||
|
||||
|
||||
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.add_from_file("editor_ui.glade")
|
||||
main_window = builder.get_object("main_window")
|
||||
global status_bar
|
||||
status_bar = builder.get_object("status_bar")
|
||||
builder.connect_signals(handlers)
|
||||
global __status_bar
|
||||
__status_bar = builder.get_object("status_bar")
|
||||
builder.connect_signals(get_handlers())
|
||||
main_window.show_all()
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user