From f200c0efc2728a83ce0cab0fd08e453b5753d303 Mon Sep 17 00:00:00 2001 From: "Martin A. Brown" Date: Fri, 19 Feb 2016 00:54:16 -0800 Subject: [PATCH] add function stem_and_ext to the utils --- tests/test_utils.py | 15 ++++++++++++++- tldp/utils.py | 5 +++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/test_utils.py b/tests/test_utils.py index e6c141d..6c985f1 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -10,7 +10,7 @@ from tldptesttools import TestToolsFilesystem # -- SUT from tldp.utils import makefh, which, execute -from tldp.utils import statfiles +from tldp.utils import statfiles, stem_and_ext class Test_execute(TestToolsFilesystem): @@ -105,6 +105,19 @@ class Test_statfiles(unittest.TestCase): self.assertEquals(0, len(statinfo)) +class Test_stem_and_ext(unittest.TestCase): + + def test_stem_and_ext_final_slash(self): + r0 = stem_and_ext('/h/q/t/z/Frobnitz-HOWTO') + r1 = stem_and_ext('/h/q/t/z/Frobnitz-HOWTO/') + self.assertEqual(r0, r1) + + def test_stem_and_ext_rel_abs(self): + r0 = stem_and_ext('/h/q/t/z/Frobnitz-HOWTO') + r1 = stem_and_ext('Frobnitz-HOWTO/') + self.assertEqual(r0, r1) + + class Test_att_statinfo(unittest.TestCase): def test_max_mtime(self): diff --git a/tldp/utils.py b/tldp/utils.py index 99dddf8..11fd162 100644 --- a/tldp/utils.py +++ b/tldp/utils.py @@ -25,6 +25,11 @@ def getLogger(**opts): logger = getLogger() +def stem_and_ext(name): + '''return (stem, ext) for any relative or absolute filename''' + return os.path.splitext(os.path.basename(os.path.normpath(name))) + + def execute(cmd, stdin=None, stdout=None, stderr=None, logdir=None, env=os.environ): '''(yet another) wrapper around subprocess.Popen()