mirror of
https://github.com/DYefremov/DemonEditor.git
synced 2026-05-09 00:36:56 +02:00
parsing lamedb for services
This commit is contained in:
@@ -1,19 +1,46 @@
|
||||
from collections import namedtuple
|
||||
|
||||
Channel = namedtuple("Channel", ["name", "service", "freq", "fec"])
|
||||
Channel = namedtuple("Channel", ["service", "package", "freq", "fec"])
|
||||
|
||||
FILE_PATH = "files/lamedb_example"
|
||||
|
||||
with open(FILE_PATH) as file:
|
||||
lines = file.readlines()
|
||||
FILE_PATH = "../data/lamedb_example"
|
||||
|
||||
|
||||
for l in lines:
|
||||
l.split()
|
||||
def parse(path):
|
||||
with open(path, "r") as file:
|
||||
data = str(file.read())
|
||||
services, sep, transponders = data.partition("services") # 1 step
|
||||
transponders, sep, services = transponders.partition("transponders") # 2 step
|
||||
transponders, sep, services = services.partition("end") # 3 step
|
||||
services = services.split("\n")
|
||||
|
||||
print(lines)
|
||||
while len(services) % 3 == 0:
|
||||
services.append("\n")
|
||||
|
||||
srv = []
|
||||
tmp = []
|
||||
for i, line in enumerate(services):
|
||||
tmp.append(line)
|
||||
if i % 3 == 0:
|
||||
srv.append(tuple(tmp))
|
||||
tmp.clear()
|
||||
|
||||
if srv[0][0] == "": # remove first empty element
|
||||
srv.remove(srv[0])
|
||||
|
||||
if srv[0][0] == "services": # building one element from first and last if necessary!
|
||||
first = srv.pop(0)
|
||||
last = srv.pop()
|
||||
srv.insert(0, (last[0], first[1], first[2]))
|
||||
|
||||
channels = []
|
||||
for ch in srv:
|
||||
pack = str(ch[0])
|
||||
pack = pack[2:pack.find(",")]
|
||||
channels.append(Channel(ch[2], pack, None, None))
|
||||
|
||||
for ch in channels:
|
||||
print(ch)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
parse(FILE_PATH)
|
||||
|
||||
Reference in New Issue
Block a user