From 3284818ed46194764b7be57e518fa16477e1e854 Mon Sep 17 00:00:00 2001 From: roger Date: Tue, 16 Jun 2020 19:36:37 +0800 Subject: [PATCH 1/2] Adds function to get name of requested level --- DataProcessingTools/levels.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/DataProcessingTools/levels.py b/DataProcessingTools/levels.py index 86ebe49..beb8907 100644 --- a/DataProcessingTools/levels.py +++ b/DataProcessingTools/levels.py @@ -57,3 +57,22 @@ def get_level_dirs(target_level, cwd=None): patterns = level_patterns_s[this_idx+1:target_idx+1] dirs = glob.glob(os.path.join(cwd, *patterns)) return dirs + + +def get_level_name(target_level, cwd=None): + """ + Return the name of the requested level + """ + if cwd is None: + cwd = os.getwd() + + this_level = level(cwd) + this_idx = levels.index(this_level) + target_idx = levels.index(target_level) + i = this_idx + cw = cwd + pp = "" + while i >= target_idx: + cw, pp = os.path.split(cw) + i -= 1 + return pp From 6b1c9a24d707b83492a1061d94bb9c76ebf9e07d Mon Sep 17 00:00:00 2001 From: roger Date: Tue, 16 Jun 2020 19:36:50 +0800 Subject: [PATCH 2/2] Adds test --- tests/test_levels.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_levels.py b/tests/test_levels.py index 32878a8..72dd2e6 100644 --- a/tests/test_levels.py +++ b/tests/test_levels.py @@ -30,3 +30,7 @@ def test_level(): assert dirs[0] == "Pancake/20130923/session01/array02/./../array02" os.chdir(cwd) + + dir1 = "Pancake/20130923/session01/array02/channel33" + ln = DPT.levels.get_level_name("session", dir1) + assert ln == "session01"