[python] alternativa textwrap.fill(), která by zarovnávala po česku?

Matěj Cepl mcepl na cepl.eu
Čtvrtek Květen 11 01:12:37 CEST 2017


On 2017-05-10, 22:28 GMT, Vláďa Macek wrote:
> print textwrap.fill(instr, width=65).replace(u'~', 
> unichr(160))

No, udělal jsem v podstatě to:

    diff --git a/reflow.py b/reflow.py
    index 22b08cf..757077c 100644
    --- a/reflow.py
    +++ b/reflow.py
    @@ -133,12 +133,18 @@ class ReflowPluginWindowActivatable(GObject.Object, Gedit.WindowActivatable):
             if isinstance(text, str):
                 text = unicode(text, 'utf8')
     
    +        # we don't want to break on the non-breaking space
    +        # FIXME not sure whether there isn’t better replacement character
    +        text = text.replace(unichr(0xA0), '~')
    +
             text = textwrap.fill(text,
                                  width=self.get_gedit_margin(),
                                  initial_indent=first_prefix,
                                  subsequent_indent=prefix,
                                  break_on_hyphens=False,
                                  drop_whitespace=True)
    +        text = text.replace('~', unichr(0xA0))
    +
             return text
     
         def _get_line(self, index):

Ale nejsem na to hrdej. Navíc přemýšlím, jestli někdy nebudu 
chtít mít ~ znak v textu. Ale snad ne.

Hezký den,

Matěj

-- 
https://matej.ceplovi.cz/blog/, Jabber: mcepl na ceplovi.cz
GPG Finger: 3C76 A027 CA45 AD70 98B5  BC1D 7920 5802 880B C9D8
 
Of course I'm respectable. I'm old. Politicians, ugly buildings,
and whores all get respectable if they last long enough.
      --John Huston in "Chinatown."



Další informace o konferenci Python