Mercurial > hg
changeset 32889:a7310a477966
i18n: drop a py25 conditional
I'm not sure how to test this one. `make update-pot` spews all kinds of
warnings, though it did before this change too.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 16 Jun 2017 20:55:34 -0400 |
parents | 04fa5520d167 |
children | 20fc5d39d0c1 |
files | i18n/polib.py |
diffstat | 1 files changed, 3 insertions(+), 97 deletions(-) [+] |
line wrap: on
line diff
--- a/i18n/polib.py Fri Jun 16 20:49:32 2017 -0400 +++ b/i18n/polib.py Fri Jun 16 20:55:34 2017 -0400 @@ -804,7 +804,7 @@ real_wrapwidth = wrapwidth - flength + specialchars_count if wrapwidth > 0 and len(field) > real_wrapwidth: # Wrap the line but take field name into account - lines = [''] + [unescape(item) for item in wrap( + lines = [''] + [unescape(item) for item in textwrap.wrap( escaped_field, wrapwidth - 2, # 2 for quotes "" drop_whitespace=False, @@ -879,7 +879,7 @@ if val: for comment in val.split('\n'): if wrapwidth > 0 and len(comment) + len(c[1]) > wrapwidth: - ret += wrap( + ret += textwrap.wrap( comment, wrapwidth, initial_indent=c[1], @@ -903,7 +903,7 @@ # what we want for filenames, so the dirty hack is to # temporally replace hyphens with a char that a file cannot # contain, like "*" - ret += [l.replace('*', '-') for l in wrap( + ret += [l.replace('*', '-') for l in textwrap.wrap( filestr.replace('-', '*'), wrapwidth, initial_indent='#: ', @@ -1552,97 +1552,3 @@ return tup # }}} -# class TextWrapper {{{ - -class TextWrapper(textwrap.TextWrapper): - """ - Subclass of textwrap.TextWrapper that backport the - drop_whitespace option. - """ - def __init__(self, *args, **kwargs): - drop_whitespace = kwargs.pop('drop_whitespace', True) - textwrap.TextWrapper.__init__(self, *args, **kwargs) - self.drop_whitespace = drop_whitespace - - def _wrap_chunks(self, chunks): - """_wrap_chunks(chunks : [string]) -> [string] - - Wrap a sequence of text chunks and return a list of lines of - length 'self.width' or less. (If 'break_long_words' is false, - some lines may be longer than this.) Chunks correspond roughly - to words and the whitespace between them: each chunk is - indivisible (modulo 'break_long_words'), but a line break can - come between any two chunks. Chunks should not have internal - whitespace; ie. a chunk is either all whitespace or a "word". - Whitespace chunks will be removed from the beginning and end of - lines, but apart from that whitespace is preserved. - """ - lines = [] - if self.width <= 0: - raise ValueError("invalid width %r (must be > 0)" % self.width) - - # Arrange in reverse order so items can be efficiently popped - # from a stack of chucks. - chunks.reverse() - - while chunks: - - # Start the list of chunks that will make up the current line. - # cur_len is just the length of all the chunks in cur_line. - cur_line = [] - cur_len = 0 - - # Figure out which static string will prefix this line. - if lines: - indent = self.subsequent_indent - else: - indent = self.initial_indent - - # Maximum width for this line. - width = self.width - len(indent) - - # First chunk on line is whitespace -- drop it, unless this - # is the very beginning of the text (ie. no lines started yet). - if self.drop_whitespace and chunks[-1].strip() == '' and lines: - del chunks[-1] - - while chunks: - l = len(chunks[-1]) - - # Can at least squeeze this chunk onto the current line. - if cur_len + l <= width: - cur_line.append(chunks.pop()) - cur_len += l - - # Nope, this line is full. - else: - break - - # The current line is full, and the next chunk is too big to - # fit on *any* line (not just this one). - if chunks and len(chunks[-1]) > width: - self._handle_long_word(chunks, cur_line, cur_len, width) - - # If the last chunk on this line is all whitespace, drop it. - if self.drop_whitespace and cur_line and cur_line[-1].strip() == '': - del cur_line[-1] - - # Convert current line back to a string and store it in list - # of all lines (return value). - if cur_line: - lines.append(indent + ''.join(cur_line)) - - return lines - -# }}} -# function wrap() {{{ - -def wrap(text, width=70, **kwargs): - """ - Wrap a single paragraph of text, returning a list of wrapped lines. - """ - if sys.version_info < (2, 6): - return TextWrapper(width=width, **kwargs).wrap(text) - return textwrap.wrap(text, width=width, **kwargs) - -#}}}