diff options
-rw-r--r-- | sos/utilities.py | 89 | ||||
-rw-r--r-- | tests/utilities_tests.py | 11 |
2 files changed, 1 insertions, 99 deletions
diff --git a/sos/utilities.py b/sos/utilities.py index a9aca74b..8602a529 100644 --- a/sos/utilities.py +++ b/sos/utilities.py @@ -185,95 +185,6 @@ def shell_out(cmd): Does not handle exceptions.""" return sos_get_command_output(cmd)[1] -class DirTree(object): - """Builds an ascii representation of a directory structure""" - - def __init__(self, top_directory): - self.directory_count = 0 - self.file_count = 0 - self.buffer = [] - self.top_directory = top_directory - self._build_tree() - - def buf(self, s): - self.buffer.append(s) - - def printtree(self): - print (six.u(self)) - - def as_string(self): - return self.__str__() - - def __str__(self): - return "\n".join(self.buffer) - - def _build_tree(self): - self.buf(os.path.abspath(self.top_directory)) - self.tree_i(self.top_directory, first=True) - - def _get_user(self, stats): - try: - import pwd - return pwd.getpwuid(stats.st_uid)[0] - except: - return six.u(stats.st_uid) - - def _get_group(self, stats): - try: - import grp - return grp.getgrgid(stats.st_gid)[0] - except: - return six.u(stats.st_uid) - - def _format(self, path): - """Conditionally adds detail to paths""" - stats = os.stat(path) - details = { - "filename": os.path.basename(path), - "user": self._get_user(stats), - "group": self._get_group(stats), - "filesize": convert_bytes(stats.st_size), - } - return ("[%(user)s %(group)s %(filesize)s] " % details, "%(filename)s" % details) - - def tree_i(self, dir_, padding='', first=False, fmt="%-30s %s%s%s"): - if not first: - details, filename = self._format(os.path.abspath(dir_)) - line = fmt % (details, padding[:-1], "+-- ", filename) - self.buf(line) - padding += ' ' - - count = 0 - files = os.listdir(dir_) - files.sort(key=str.lower) - for f in files: - count += 1 - path = os.path.join(dir_, f) - - if f.startswith("."): - pass - elif os.path.isfile(path): - self.file_count += 1 - details, filename = self._format(path) - line = fmt % (details, padding, "+-- ", filename) - self.buf(line) - elif os.path.islink(path): - self.buf(padding + - '+-- ' + - f + - ' -> ' + os.path.basename(os.path.realpath(path))) - if os.path.isdir(path): - self.directory_count += 1 - else: - self.file_count += 1 - elif os.path.isdir(path): - self.directory_count += 1 - if count == len(files): - self.tree_i(path, padding + ' ') - else: - self.tree_i(path, padding + '|') - - class ImporterHelper(object): """Provides a list of modules that can be imported in a package. Importable modules are located along the module __path__ list and modules diff --git a/tests/utilities_tests.py b/tests/utilities_tests.py index 04c52412..da0987ff 100644 --- a/tests/utilities_tests.py +++ b/tests/utilities_tests.py @@ -5,7 +5,7 @@ import unittest import six from six import StringIO -from sos.utilities import grep, DirTree, checksum, get_hash_name, is_executable, sos_get_command_output, find, tail, shell_out +from sos.utilities import grep, checksum, get_hash_name, is_executable, sos_get_command_output, find, tail, shell_out import sos TEST_DIR = os.path.dirname(__file__) @@ -43,15 +43,6 @@ class TailTest(unittest.TestCase): self.assertEquals(t, six.b(expected)) -class DirTreeTest(unittest.TestCase): - - def test_makes_tree(self): - # I'll admit, this a pretty lame test, but it will at least sniff out - # some syntax issues - t = DirTree(os.path.dirname(sos.__file__)).as_string() - self.assertTrue('sos' in t) - - class ChecksumTest(unittest.TestCase): def test_simple_hash(self): |