diff options
Diffstat (limited to 'websdk/mercurial/strutil.py')
-rw-r--r--[l---------] | websdk/mercurial/strutil.py | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/websdk/mercurial/strutil.py b/websdk/mercurial/strutil.py index b93316c..b33fb6b 120000..100644 --- a/websdk/mercurial/strutil.py +++ b/websdk/mercurial/strutil.py @@ -1 +1,34 @@ -/usr/share/pyshared/mercurial/strutil.py
\ No newline at end of file +# strutil.py - string utilities for Mercurial +# +# Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com> +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. + +def findall(haystack, needle, start=0, end=None): + if end is None: + end = len(haystack) + if end < 0: + end += len(haystack) + if start < 0: + start += len(haystack) + while start < end: + c = haystack.find(needle, start, end) + if c == -1: + break + yield c + start = c + 1 + +def rfindall(haystack, needle, start=0, end=None): + if end is None: + end = len(haystack) + if end < 0: + end += len(haystack) + if start < 0: + start += len(haystack) + while end >= 0: + c = haystack.rfind(needle, start, end) + if c == -1: + break + yield c + end = c - 1 |