Include module for desktop build
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# Copyright (c) 2002-2010 Zooko Wilcox-O'Hearn
|
||||
# This file is part of pyutil; see README.rst for licensing terms.
|
||||
|
||||
def commonprefix(l):
|
||||
cp = []
|
||||
for i in range(min(map(len, l))):
|
||||
c = l[0][i]
|
||||
for s in l[1:]:
|
||||
if s[i] != c:
|
||||
return ''.join(cp)
|
||||
cp.append(c)
|
||||
return ''.join(cp)
|
||||
|
||||
def commonsuffix(l):
|
||||
cp = []
|
||||
for i in range(min(map(len, l))):
|
||||
c = l[0][-i-1]
|
||||
for s in l[1:]:
|
||||
if s[-i-1] != c:
|
||||
cp.reverse()
|
||||
return ''.join(cp)
|
||||
cp.append(c)
|
||||
cp.reverse()
|
||||
return ''.join(cp)
|
||||
|
||||
def split_on_newlines(s):
|
||||
"""
|
||||
Splits s on all of the three newline sequences: "\r\n", "\r", or "\n".
|
||||
"""
|
||||
res = []
|
||||
for x in s.split('\r\n'):
|
||||
for y in x.split('\r'):
|
||||
res.extend(y.split('\n'))
|
||||
return res
|
||||
|
||||
def pop_trailing_newlines(s):
|
||||
"""
|
||||
@return a copy of s minus any trailing "\n"'s or "\r"'s
|
||||
"""
|
||||
i = len(s)-1
|
||||
if i < 0:
|
||||
return ''
|
||||
while s[i] in ('\n', '\r',):
|
||||
i = i - 1
|
||||
if i < 0:
|
||||
return ''
|
||||
return s[:i+1]
|
||||
|
||||
Reference in New Issue
Block a user