mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-02-25 16:11:36 +01:00
added service type
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@
|
||||
<!-- Generated with glade 3.18.3 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.12"/>
|
||||
<object class="GtkAccelGroup" id="accelgroup1"/>
|
||||
<object class="GtkAction" id="action2"/>
|
||||
<object class="GtkListStore" id="fav_liststore"/>
|
||||
<object class="GtkImage" id="image1">
|
||||
@@ -9,6 +10,16 @@
|
||||
<property name="can_focus">False</property>
|
||||
<property name="stock">gtk-edit</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">go-bottom</property>
|
||||
</object>
|
||||
<object class="GtkImage" id="image3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">go-top</property>
|
||||
</object>
|
||||
<object class="GtkTreeViewColumn" id="package_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
@@ -25,6 +36,8 @@
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name package -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name service_type -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name ssid -->
|
||||
<column type="gchararray"/>
|
||||
<!-- column-name freq -->
|
||||
@@ -81,22 +94,26 @@
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem2">
|
||||
<property name="label">gtk-connect</property>
|
||||
<object class="GtkImageMenuItem" id="menuitem">
|
||||
<property name="label">Download</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Download data from receiver</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="image">image2</property>
|
||||
<property name="use_stock">False</property>
|
||||
<signal name="activate" handler="on_download" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkImageMenuItem" id="imagemenuitem3">
|
||||
<property name="label">gtk-disconnect</property>
|
||||
<object class="GtkImageMenuItem" id="upload_menu_item">
|
||||
<property name="label">Upload</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Upload data into receiver</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="image">image3</property>
|
||||
<property name="use_stock">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
@@ -242,13 +259,38 @@
|
||||
<object class="GtkToolbar" id="toolbar1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="open_tool_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Open</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-open</property>
|
||||
<signal name="clicked" handler="on_data_open" object="services_liststore" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorToolItem" id="separatortoolitem1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="download_tool_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Download data from receiver</property>
|
||||
<property name="label" translatable="yes">Download</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-connect</property>
|
||||
<property name="stock_id">gtk-goto-bottom</property>
|
||||
<signal name="clicked" handler="on_download" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
@@ -256,6 +298,20 @@
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="upload_tool_button">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Upload data into receiver</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-goto-top</property>
|
||||
<signal name="clicked" handler="on_upload" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorToolItem" id="toolbutton2">
|
||||
<property name="visible">True</property>
|
||||
@@ -315,16 +371,6 @@
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparatorToolItem" id="separatortoolitem1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="cat_tool_button">
|
||||
<property name="visible">True</property>
|
||||
@@ -464,7 +510,7 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Service</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext1"/>
|
||||
<object class="GtkCellRendererText" id="service_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">0</attribute>
|
||||
</attributes>
|
||||
@@ -477,22 +523,33 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Package</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext2"/>
|
||||
<object class="GtkCellRendererText" id="package_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">1</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="service_type_column">
|
||||
<property name="title" translatable="yes">Type</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="type_cellrenderertex"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkTreeViewColumn" id="ssid_column">
|
||||
<property name="resizable">True</property>
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Ssid</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext5"/>
|
||||
<object class="GtkCellRendererText" id="ssid_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">2</attribute>
|
||||
<attribute name="text">3</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -503,9 +560,9 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Freq</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext6"/>
|
||||
<object class="GtkCellRendererText" id="freq_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">3</attribute>
|
||||
<attribute name="text">4</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -516,9 +573,9 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Rate</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext7"/>
|
||||
<object class="GtkCellRendererText" id="rate_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">4</attribute>
|
||||
<attribute name="text">5</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -529,9 +586,9 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">Pol</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext8"/>
|
||||
<object class="GtkCellRendererText" id="pol_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">5</attribute>
|
||||
<attribute name="text">6</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -542,9 +599,9 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">FEC</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext9"/>
|
||||
<object class="GtkCellRendererText" id="fec_cellrenderertext"/>
|
||||
<attributes>
|
||||
<attribute name="text">6</attribute>
|
||||
<attribute name="text">7</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
@@ -555,9 +612,9 @@
|
||||
<property name="sizing">autosize</property>
|
||||
<property name="title" translatable="yes">System</property>
|
||||
<child>
|
||||
<object class="GtkCellRendererText" id="cellrenderertext10"/>
|
||||
<object class="GtkCellRendererText" id="system_cellrenderertex"/>
|
||||
<attributes>
|
||||
<attribute name="text">7</attribute>
|
||||
<attribute name="text">8</attribute>
|
||||
</attributes>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
"""
|
||||
This module used for parsing lamedb file
|
||||
""" This module used for parsing lamedb file
|
||||
|
||||
Currently implemented only for satellite channels!!!
|
||||
Description of format taken from here: http://www.satsupreme.com/showthread.php/194074-Lamedb-format-explained
|
||||
Currently implemented only for satellite channels!!!
|
||||
Description of format taken from here: http://www.satsupreme.com/showthread.php/194074-Lamedb-format-explained
|
||||
"""
|
||||
from collections import namedtuple
|
||||
from enum import Enum
|
||||
|
||||
Channel = namedtuple("Channel", ["service", "package", "ssid", "freq", "rate", "pol", "fec", "system"])
|
||||
Channel = namedtuple("Channel", ["service", "package", "service_type", "ssid", "freq", "rate", "pol", "fec", "system"])
|
||||
|
||||
_HEADER = "eDVB services /4/"
|
||||
_FILE_PATH = "../data/lamedb_example"
|
||||
@@ -34,7 +33,11 @@ FEC = {0: "None", 1: "Auto", 2: "1/2",
|
||||
6: "7/8", 7: "3/5", 8: "4/5",
|
||||
9: "8/9", 10: "9/10"}
|
||||
|
||||
System = {0: "DVB-S", 1: "DVB_S2"}
|
||||
SYSTEM = {0: "DVB-S", 1: "DVB_S2"}
|
||||
|
||||
SERVICE_TYPE = {-2: "Unknown", 1: "TV", 2: "Radio", 3: "Data",
|
||||
10: "Radio", 12: "Data", 22: "TV", 25: "HD TV",
|
||||
136: "Data", 139: "Data"}
|
||||
|
||||
|
||||
def parse(path):
|
||||
@@ -43,6 +46,7 @@ def parse(path):
|
||||
data = str(file.read())
|
||||
transponders, sep, services = data.partition("transponders") # 1 step
|
||||
transponders, sep, services = services.partition("services") # 2 step
|
||||
services, sep, _ = services.partition("end") # 3 step
|
||||
|
||||
return get_channels(services.split("\n"), transponders.split("/"))
|
||||
|
||||
@@ -74,9 +78,9 @@ def get_channels(*args):
|
||||
if transponder is not None:
|
||||
tr = str(transponder)[2:].split(_SEP) # Removing type of DVB transponders (s , t, c) and split
|
||||
pack = pack[2:pack.find(",")]
|
||||
channels.append(Channel(ch[1], pack, data[0], tr[0],
|
||||
channels.append(Channel(ch[1], pack, SERVICE_TYPE.get(int(data[4]), SERVICE_TYPE[-2]), data[0], tr[0],
|
||||
tr[1], Polarization(int(tr[2])).name,
|
||||
FEC[int(tr[3])], System[int(tr[6])]))
|
||||
FEC[int(tr[3])], SYSTEM[int(tr[6])]))
|
||||
|
||||
return channels
|
||||
|
||||
|
||||
16
main/ui.py
16
main/ui.py
@@ -26,6 +26,7 @@ def get_handlers():
|
||||
"on_about_app": on_about_app,
|
||||
"on_preferences": on_preferences,
|
||||
"on_download": on_download,
|
||||
"on_upload": on_upload,
|
||||
"on_data_dir_field_icon_press": on_path_open,
|
||||
"on_data_open": on_data_open,
|
||||
"on_tree_view_key_release": on_tree_view_key_release
|
||||
@@ -99,18 +100,25 @@ def on_tree_view_key_release(widget, event):
|
||||
print(widget.get_name())
|
||||
|
||||
|
||||
def on_upload(item):
|
||||
connect(__options, False)
|
||||
|
||||
|
||||
def on_download(item):
|
||||
connect(__options)
|
||||
|
||||
|
||||
def connect(properties):
|
||||
def connect(properties, download=True):
|
||||
assert isinstance(properties, dict)
|
||||
try:
|
||||
with FTP(properties["host"]) as ftp:
|
||||
ftp.login(user=properties["user"], passwd=properties["password"])
|
||||
__status_bar.push(1, ftp.voidcmd("NOOP"))
|
||||
ftp.cwd(properties["services_path"])
|
||||
ftp.retrlines("LIST")
|
||||
if download:
|
||||
__status_bar.push(1, ftp.voidcmd("NOOP"))
|
||||
ftp.cwd(properties["services_path"])
|
||||
ftp.retrlines("LIST")
|
||||
else:
|
||||
pass
|
||||
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))
|
||||
|
||||
Reference in New Issue
Block a user