diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-23 17:20:19 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:25 +0100 |
commit | c08aa787649110f20eb3e161edf3c8783aece5d0 (patch) | |
tree | b2da706ec9b29a840f022cfcabb149020cc97d67 /ishtar_common | |
parent | bbb5ebef84ae4050e02a70119d395d9befc8199d (diff) | |
download | Ishtar-c08aa787649110f20eb3e161edf3c8783aece5d0.tar.bz2 Ishtar-c08aa787649110f20eb3e161edf3c8783aece5d0.zip |
splitpart filer: add a merge_end option
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/tests.py | 2 | ||||
-rw-r--r-- | ishtar_common/utils_secretary.py | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index b5de13fe1..20f87b3bc 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -2882,6 +2882,8 @@ class JinjaFilterTest(TestCase): self.assertEqual(utils_secretary.splitpart("1,2,3", 10), "") self.assertEqual(utils_secretary.splitpart("", 10), "") self.assertEqual(utils_secretary.splitpart("1;2;3", 2, ";"), "3") + self.assertEqual(utils_secretary.splitpart( + "1;2;3;4", 1, ";", True), "2;3;4") def test_human_date(self): self.assertEqual(utils_secretary.human_date_filter("NODATE"), "") diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py index ce93158f5..b3f55de4f 100644 --- a/ishtar_common/utils_secretary.py +++ b/ishtar_common/utils_secretary.py @@ -72,13 +72,15 @@ def human_date_filter(value): return value.strftime(settings.DATE_FORMAT) -def splitpart(value, index, char=','): +def splitpart(value, index, char=',', merge_end=False): if not value or not index: return "" splited = value.split(char) - if len(splited) > index: + if len(splited) <= index: + return "" + if not merge_end: return splited[index] - return "" + return char.join(splited[index:]) class IshtarSecretaryRenderer(Renderer): |