cleanup, add sort method
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
This commit is contained in:
parent
b4fc05ba09
commit
3873aefcf5
1 changed files with 10 additions and 4 deletions
|
@ -32,6 +32,8 @@ class FileList(collections.MutableSequence):
|
|||
def __init__(self, path, initial=None):
|
||||
self._path = path
|
||||
if initial:
|
||||
# delete existing file
|
||||
os.unlink(self._path)
|
||||
for i in initial:
|
||||
self.append(i)
|
||||
|
||||
|
@ -40,7 +42,7 @@ class FileList(collections.MutableSequence):
|
|||
try:
|
||||
with open(self._path) as fd:
|
||||
for line in fd:
|
||||
lines.append(line.strip())
|
||||
lines.append(line.rstrip('\n'))
|
||||
except EnvironmentError as e:
|
||||
# error ignored
|
||||
pass
|
||||
|
@ -50,7 +52,7 @@ class FileList(collections.MutableSequence):
|
|||
try:
|
||||
with open(self._path, 'w') as fd:
|
||||
for line in lines:
|
||||
fd.write(line + '\n')
|
||||
fd.write(str(line) + '\n')
|
||||
except EnvironmentError as e:
|
||||
# error ignored
|
||||
raise
|
||||
|
@ -80,6 +82,10 @@ class FileList(collections.MutableSequence):
|
|||
lines.insert(index, value)
|
||||
self.__write(lines)
|
||||
|
||||
def sort(self):
|
||||
lines = sorted(self)
|
||||
self.__write(lines)
|
||||
|
||||
|
||||
class DirectoryDict(collections.MutableMapping):
|
||||
"""A dict that stores it's state in a directory.
|
||||
|
@ -98,13 +104,13 @@ class DirectoryDict(collections.MutableMapping):
|
|||
def __getitem__(self, key):
|
||||
try:
|
||||
with open(os.path.join(self._path, key), "r") as fd:
|
||||
return fd.read()
|
||||
return fd.read().rstrip('\n')
|
||||
except EnvironmentError:
|
||||
raise KeyError(key)
|
||||
|
||||
def __setitem__(self, key, value):
|
||||
with open(os.path.join(self._path, key), "w") as fd:
|
||||
fd.write(value)
|
||||
fd.write(str(value))
|
||||
|
||||
def __delitem__(self, key):
|
||||
os.remove(os.path.join(self._path, key))
|
||||
|
|
Loading…
Reference in a new issue