From 3873aefcf55ed2c0953b164e14ef46546bd912b5 Mon Sep 17 00:00:00 2001 From: Steven Armstrong Date: Fri, 7 Oct 2011 00:46:59 +0200 Subject: [PATCH] cleanup, add sort method Signed-off-by: Steven Armstrong --- lib/cdist/core/property.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/cdist/core/property.py b/lib/cdist/core/property.py index 790ff802..359cf32c 100644 --- a/lib/cdist/core/property.py +++ b/lib/cdist/core/property.py @@ -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))