X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_lib%2Fflad%2Fflad.py;h=8ca1093607a4b3d1f7b5fa5ca77ed07d5d93b637;hb=7f8cd12c390d9c7dacdec849982d7ca28f0a44e2;hp=b2446d824bfa8cdeac042995405c0e4ca6f4a159;hpb=fea5b1d068bc94adce899a804a643bf24b8a9777;p=m_lib.git diff --git a/m_lib/flad/flad.py b/m_lib/flad/flad.py index b2446d8..8ca1093 100644 --- a/m_lib/flad/flad.py +++ b/m_lib/flad/flad.py @@ -4,18 +4,15 @@ """ -import string -from UserList import UserList - - # Flad restriction error -checking_error = "flad.checking_error" +class checking_error(Exception): + pass # Default key/value separator def_keysep = ": " -class Flad(UserList): +class Flad(list): """ Class to represent memory database. FLAD database is a list of records, @@ -27,7 +24,7 @@ class Flad(UserList): # field_sep = rec_sep = '\n' def __init__(self, check_record_func = None, key_sep = def_keysep): - UserList.__init__(self) + list.__init__(self) self.check_record_func = check_record_func self.key_sep = key_sep @@ -53,38 +50,38 @@ class Flad(UserList): if not self.check_record(item): self.checking_error() else: - UserList.__setitem__(self, i, item) + list.__setitem__(self, i, item) - def __setslice__(self, i, j, list): - if list: - copy_list = list[:] - for item in list: + def __setslice__(self, i, j, v_list): + if v_list: + copy_list = v_list[:] + for item in v_list: if not self.check_record(item): self.checking_error() del copy_list[copy_list.index(item)] - UserList.__setslice__(self, i, j, copy_list) + list.__setslice__(self, i, j, copy_list) def append(self, item): if not self.check_record(item): self.checking_error() else: - UserList.append(self, item) + list.append(self, item) def insert(self, i, item): if not self.check_record(item): self.checking_error() else: - UserList.insert(self, i, item) + list.insert(self, i, item) def split_key(self, line): """ Split input line to key/value pair and add the pair to dictionary """ - ###line = string.lstrip(line) # Do not rstrip - if empty value, this will remove space from key + ###line = line.lstrip() # Do not rstrip - if empty value, this will remove space from key if line[-1] == '\n': line = line[:-1] # Chop @@ -119,12 +116,12 @@ class Flad(UserList): def feed(self, record, line): # Method can be overriden in subclasses if line: if self.wait_comment: - if string.strip(line) == '': + if line.strip() == '': self.comment = self.comment + '\n' self.wait_string = 0 return 0 - elif string.lstrip(line)[0] == '#': + elif line.lstrip()[0] == '#': self.comment = self.comment + line return 0 @@ -228,7 +225,7 @@ class Flad(UserList): flush_record = 1 # Set flag for all but 1st record if copy_rec: - for key in copy_rec.keys(): + for key in list(copy_rec.keys()): outfile.write(key + self.key_sep + copy_rec[key] + '\n') del copy_rec[key]