5261563507
Update sos to the 3.1 upstream release and add post-release patches from the development tree.
147 lines
4.7 KiB
Diff
147 lines
4.7 KiB
Diff
From 6b3b56ee17e14a0f0de8a16a6a52b3708d01146b Mon Sep 17 00:00:00 2001
|
|
From: "Bryn M. Reeves" <bmr@redhat.com>
|
|
Date: Wed, 26 Mar 2014 12:24:33 +0000
|
|
Subject: [PATCH 41/61] Dead code removal: DirTree
|
|
|
|
The DirTree class has remained unused since it was implemented.
|
|
Remove the definition and associated test cases.
|
|
|
|
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
|
|
---
|
|
sos/utilities.py | 89 ------------------------------------------------
|
|
tests/utilities_tests.py | 11 +-----
|
|
2 files changed, 1 insertion(+), 99 deletions(-)
|
|
|
|
diff --git a/sos/utilities.py b/sos/utilities.py
|
|
index a9aca74..8602a52 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 04c5241..da0987f 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):
|
|
--
|
|
1.7.11.7
|
|
|