Skip duplicate language entries

pull/3/head
remittor 3 years ago
parent 5ea54d0c5a
commit 0d483f0d9f

@ -36,6 +36,7 @@ if action == 'install':
fname = fn_dir + filename fname = fn_dir + filename
print('Convert file "{}" to LMO ...'.format(fname)) print('Convert file "{}" to LMO ...'.format(fname))
lmo = po2lmo.Lmo() lmo = po2lmo.Lmo()
lmo.skip_dup = True
lmo.load_from_text(fname) lmo.load_from_text(fname)
lmo_fname = os.path.splitext(filename)[0] + '.lmo' lmo_fname = os.path.splitext(filename)[0] + '.lmo'
lmo.save_to_bin(fn_dir + lmo_fname) lmo.save_to_bin(fn_dir + lmo_fname)

@ -102,10 +102,15 @@ class Lmo:
def __init__(self, verbose = 0): def __init__(self, verbose = 0):
self.verbose = verbose self.verbose = verbose
self.skip_dup = False
self.entries = [] self.entries = []
self.msg = Msg() self.msg = Msg()
def add_entry(self, key_id, val_id, val): def add_entry(self, key_id, val_id, val):
if self.skip_dup:
ent = next((ent for ent in self.entries if ent.key_id == key_id), None)
if ent:
return False # skip duplicate
entry = LmoEntry() entry = LmoEntry()
entry.key_id = key_id entry.key_id = key_id
entry.val_id = val_id entry.val_id = val_id
@ -113,6 +118,7 @@ class Lmo:
entry.length = len(val) entry.length = len(val)
entry.val = val entry.val = val
self.entries.append(entry) self.entries.append(entry)
return True
def print_msg(self): def print_msg(self):
msg = self.msg msg = self.msg

Loading…
Cancel
Save