From 60b44c4e5854ee6e66a9e26ecb39ecaf5115756b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= Date: Sun, 23 Aug 2009 04:00:51 +0000 Subject: [PATCH] Add suffix and remove_suffix functions similar to prefix and remove_prefix --- pisi/util.py | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/pisi/util.py b/pisi/util.py index 1b1251f9..baff56a2 100644 --- a/pisi/util.py +++ b/pisi/util.py @@ -91,18 +91,32 @@ def same(l): def prefix(a, b): """Check if sequence a is a prefix of sequence b.""" - if len(a)>len(b): + if len(a) > len(b): return False - for i in range(0,len(a)): - if a[i]!=b[i]: + for i in range(0, len(a)): + if a[i] != b[i]: return False return True -def remove_prefix(a,b): +def remove_prefix(a, b): """Remove prefix a from sequence b.""" - assert prefix(a,b) + assert prefix(a, b) return b[len(a):] +def suffix(a, b): + """Check if sequence a is a suffix of sequence b.""" + if len(a) > len(b): + return False + for i in range(1, len(a) + 1): + if a[-i] != b[-i]: + return False + return True + +def remove_suffix(a, b): + """Remove suffix a from sequence b.""" + assert suffix(a, b) + return b[:-len(a)] + def human_readable_size(size = 0): symbols, depth = [' B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], 0