summaryrefslogtreecommitdiff
path: root/ishtar_common/utils_secretary.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/utils_secretary.py')
-rw-r--r--ishtar_common/utils_secretary.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/ishtar_common/utils_secretary.py b/ishtar_common/utils_secretary.py
index 062b43913..eea688ea1 100644
--- a/ishtar_common/utils_secretary.py
+++ b/ishtar_common/utils_secretary.py
@@ -71,15 +71,31 @@ def human_date_filter(value):
return value.strftime(settings.DATE_FORMAT)
-def splitpart(value, index, char=",", merge_end=False):
- if not value or not index:
+def splitpart(value, index, index_end=None, char=",", merge_character=None):
+ if index_end:
+ try:
+ index_end = int(index_end)
+ if not merge_character: # merge is assumed
+ merge_character = char
+ except ValueError:
+ # old filter use - manage compatibility
+ merge_character = char
+ char = index_end
+ index_end = None
+ if not value or (not index and index != 0):
return ""
+ if merge_character is True: # old filter use
+ merge_character = char
splited = value.split(char)
if len(splited) <= index:
return ""
- if not merge_end:
+ if not merge_character:
return splited[index]
- return char.join(splited[index:])
+ if index_end:
+ splited = splited[index:index_end]
+ else:
+ splited = splited[index:]
+ return merge_character.join(splited)
class IshtarSecretaryRenderer(Renderer):