PageRenderTime 374ms CodeModel.GetById 121ms app.highlight 3ms RepoModel.GetById 249ms app.codeStats 0ms

/Tools/framer/framer/util.py

http://unladen-swallow.googlecode.com/
Python | 35 lines | 21 code | 4 blank | 10 comment | 9 complexity | b58f42ffe15ed1b4bf81574e8ea02a83 MD5 | raw file
 1def cstring(s, width=70):
 2    """Return C string representation of a Python string.
 3
 4    width specifies the maximum width of any line of the C string.
 5    """
 6    L = []
 7    for l in s.split("\n"):
 8        if len(l) < width:
 9            L.append(r'"%s\n"' % l)
10
11    return "\n".join(L)
12
13def unindent(s, skipfirst=True):
14    """Return an unindented version of a docstring.
15
16    Removes indentation on lines following the first one, using the
17    leading whitespace of the first indented line that is not blank
18    to determine the indentation.
19    """
20
21    lines = s.split("\n")
22    if skipfirst:
23        first = lines.pop(0)
24        L = [first]
25    else:
26        L = []
27    indent = None
28    for l in lines:
29        ls = l.strip()
30        if ls:
31            indent = len(l) - len(ls)
32            break
33    L += [l[indent:] for l in lines]
34
35    return "\n".join(L)