Home | Trees | Indices | Help |
|
---|
|
Some text manipulation utility functions. :author: Logilab :copyright: 2003-2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved. :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr :license: General Public License version 2 - http://www.gnu.org/licenses :group text formatting: normalize_text, normalize_paragraph, pretty_match,unquote, colorize_ansi :group text manipulation: searchall, get_csv :sort: text formatting, text manipulation :type ANSI_STYLES: dict(str) :var ANSI_STYLES: dictionary mapping style identifier to ANSI terminal code :type ANSI_COLORS: dict(str) :var ANSI_COLORS: dictionary mapping color identifier to ANSI terminal code :type ANSI_PREFIX: str :var ANSI_PREFIX: ANSI terminal code notifing the start of an ANSI escape sequence :type ANSI_END: str :var ANSI_END: ANSI terminal code notifing the end of an ANSI escape sequence :type ANSI_RESET: str :var ANSI_RESET: ANSI terminal code reseting format defined by a previous ANSI escape sequence
Functions | |||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Variables | |
linesep = '\n'
|
|
MANUAL_UNICODE_MAP = {u'\xa1': u'!', u'\u0142': u'l', u'\u2044
|
|
BYTE_UNITS = {"B": 1, "KB": 1024, "MB": 1024** 2, "GB": 1024**
|
|
TIME_UNITS = {"ms": 0.0001, "s": 1, "min": 60, "h": 60* 60, "d
|
|
ANSI_PREFIX = '\033['
|
|
ANSI_END = 'm'
|
|
ANSI_RESET = '\033[0m'
|
|
ANSI_STYLES = {'reset': "0", 'bold': "1", 'italic': "3", 'unde
|
|
ANSI_COLORS = {'reset': "0", 'black': "30", 'red': "31", 'gree
|
Function Details |
replace diacritical characters with their corresponding ascii characters |
remove optional quotes (simple or double) from the string :type string: str or unicode :param string: an optionaly quoted string :rtype: str or unicode :return: the unquoted string (or the input string if it wasn't quoted) |
normalize a text to display it with a maximum line size and optionally arbitrary indentation. Line jumps are normalized but blank lines are kept. The indentation string may be used to insert a comment (#) or a quoting (>) mark for instance. :type text: str or unicode :param text: the input text to normalize :type line_len: int :param line_len: expected maximum line's length, default to 80 :type indent: str or unicode :param indent: optional string to use as indentation :rtype: str or unicode :return: the input text normalized to fit on lines with a maximized size inferior to `line_len`, and optionally prefixed by an indentation string |
normalize a text to display it with a maximum line size and optionaly arbitrary indentation. Line jumps are normalized. The indentation string may be used top insert a comment mark for instance. :type text: str or unicode :param text: the input text to normalize :type line_len: int :param line_len: expected maximum line's length, default to 80 :type indent: str or unicode :param indent: optional string to use as indentation :rtype: str or unicode :return: the input text normalized to fit on lines with a maximized size inferior to `line_len`, and optionally prefixed by an indentation string |
normalize a ReST text to display it with a maximum line size and optionaly arbitrary indentation. Line jumps are normalized. The indentation string may be used top insert a comment mark for instance. :type text: str or unicode :param text: the input text to normalize :type line_len: int :param line_len: expected maximum line's length, default to 80 :type indent: str or unicode :param indent: optional string to use as indentation :rtype: str or unicode :return: the input text normalized to fit on lines with a maximized size inferior to `line_len`, and optionally prefixed by an indentation string |
split the given text on space according to the given max line size return a 2-uple: * a line <= line_len if possible * the rest of the text which has to be reported on another line |
return a list of string in from a csv formatted line >>> get_csv('a, b, c , 4') ['a', 'b', 'c', '4'] >>> get_csv('a') ['a'] >>> :type string: str or unicode :param string: a csv line :type sep: str or unicode :param sep: field separator, default to the comma (',') :rtype: str or unicode :return: the unquoted string (or the input string if it wasn't quoted) |
Parse the string applying the units defined in units (eg: "1.5m",{'m',60} -> 80). :type string: str or unicode :param string: the string to parse :type units: dict (or any object with __getitem__ using basestring key) :param units: a dict mapping a unit string repr to its value :type inter: type :param inter: used to parse every intermediate value (need __sum__) :type blank_reg: regexp :param blank_reg: should match eveyr blank char to ignore. :type value_reg: regexp with "value" and optional "unit" group :param value_reg: match a value and it's unit into the |
return a string with the match location underlined: >>> import re >>> print pretty_match(re.search('mange', 'il mange du bacon'), 'il mange du bacon') il mange du bacon ^^^^^ >>> :type match: _sre.SRE_match :param match: object returned by re.match, re.search or re.finditer :type string: str or unicode :param string: the string on which the regular expression has been applied to obtain the `match` object :type underline_char: str or unicode :param underline_char: character to use to underline the matched section, default to the carret '^' :rtype: str or unicode :return: the original string with an inserted line to underline the match location |
colorize message by wrapping it with ansi escape codes :type msg: str or unicode :param msg: the message string to colorize :type color: str or None :param color: the color identifier (see `ANSI_COLORS` for available values) :type style: str or None :param style: style string (see `ANSI_COLORS` for available values). To get several style effects at the same time, use a coma as separator. :raise KeyError: if an unexistant color or style identifier is given :rtype: str or unicode :return: the ansi escaped string |
Variables Details |
MANUAL_UNICODE_MAP
|
BYTE_UNITS
|
TIME_UNITS
|
ANSI_STYLES
|
ANSI_COLORS
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Thu Jun 4 19:39:02 2009 | http://epydoc.sourceforge.net |