selinux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] gui: remove html_util.py
@ 2018-11-11 20:50 Nicolas Iooss
  2018-11-21 13:50 ` Petr Lautrbach
  0 siblings, 1 reply; 3+ messages in thread
From: Nicolas Iooss @ 2018-11-11 20:50 UTC (permalink / raw)
  To: selinux

This file is not used anywhere.

Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
---
 gui/Makefile     |   1 -
 gui/html_util.py | 175 -----------------------------------------------
 2 files changed, 176 deletions(-)
 delete mode 100644 gui/html_util.py

diff --git a/gui/Makefile b/gui/Makefile
index a72e58cee9b4..d42348b5f7fe 100644
--- a/gui/Makefile
+++ b/gui/Makefile
@@ -9,7 +9,6 @@ TARGETS= \
 booleansPage.py \
 domainsPage.py \
 fcontextPage.py \
-html_util.py \
 loginsPage.py \
 modulesPage.py \
 polgen.ui \
diff --git a/gui/html_util.py b/gui/html_util.py
deleted file mode 100644
index 420f6b967114..000000000000
--- a/gui/html_util.py
+++ /dev/null
@@ -1,175 +0,0 @@
-# Authors: John Dennis <jdennis@redhat.com>
-#
-# Copyright (C) 2007 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-
-
-__all__ = [
-    'escape_html',
-    'unescape_html',
-    'html_to_text',
-
-    'html_document',
-]
-
-import htmllib
-import formatter as Formatter
-import string
-from types import *
-try:
-    from io import StringIO
-except ImportError:
-    from StringIO import StringIO
-
-#------------------------------------------------------------------------------
-
-
-class TextWriter(Formatter.DumbWriter):
-
-    def __init__(self, file=None, maxcol=80, indent_width=4):
-        Formatter.DumbWriter.__init__(self, file, maxcol)
-        self.indent_level = 0
-        self.indent_width = indent_width
-        self._set_indent()
-
-    def _set_indent(self):
-        self.indent_col = self.indent_level * self.indent_width
-        self.indent = ' ' * self.indent_col
-
-    def new_margin(self, margin, level):
-        self.indent_level = level
-        self._set_indent()
-
-    def send_label_data(self, data):
-        data = data + ' '
-        if len(data) > self.indent_col:
-            self.send_literal_data(data)
-        else:
-            offset = self.indent_col - len(data)
-            self.send_literal_data(' ' * offset + data)
-
-    def send_flowing_data(self, data):
-        if not data:
-            return
-        atbreak = self.atbreak or data[0] in string.whitespace
-        col = self.col
-        maxcol = self.maxcol
-        write = self.file.write
-        col = self.col
-        if col == 0:
-            write(self.indent)
-            col = self.indent_col
-        for word in data.split():
-            if atbreak:
-                if col + len(word) >= maxcol:
-                    write('\n' + self.indent)
-                    col = self.indent_col
-                else:
-                    write(' ')
-                    col = col + 1
-            write(word)
-            col = col + len(word)
-            atbreak = 1
-        self.col = col
-        self.atbreak = data[-1] in string.whitespace
-
-
-class HTMLParserAnchor(htmllib.HTMLParser):
-
-    def __init__(self, formatter, verbose=0):
-        htmllib.HTMLParser.__init__(self, formatter, verbose)
-
-    def anchor_bgn(self, href, name, type):
-        self.anchor = href
-
-    def anchor_end(self):
-        if self.anchor:
-            self.handle_data(' (%s) ' % self.anchor)
-            self.anchor = None
-
-#------------------------------------------------------------------------------
-
-
-def escape_html(s):
-    if s is None:
-        return None
-    s = s.replace("&", "&amp;")  # Must be done first!
-    s = s.replace("<", "&lt;")
-    s = s.replace(">", "&gt;")
-    s = s.replace("'", "&apos;")
-    s = s.replace('"', "&quot;")
-    return s
-
-
-def unescape_html(s):
-    if s is None:
-        return None
-    if '&' not in s:
-        return s
-    s = s.replace("&lt;", "<")
-    s = s.replace("&gt;", ">")
-    s = s.replace("&apos;", "'")
-    s = s.replace("&quot;", '"')
-    s = s.replace("&amp;", "&")  # Must be last
-    return s
-
-
-def html_to_text(html, maxcol=80):
-    try:
-        buffer = StringIO()
-        formatter = Formatter.AbstractFormatter(TextWriter(buffer, maxcol))
-        parser = HTMLParserAnchor(formatter)
-        parser.feed(html)
-        parser.close()
-        text = buffer.getvalue()
-        buffer.close()
-        return text
-    except Exception as e:
-        log_program.error('cannot convert html to text: %s' % e)
-        return None
-
-
-def html_document(*body_components):
-    '''Wrap the body components in a HTML document structure with a valid header.
-    Accepts a variable number of arguments of which can be:
-    * string
-    * a sequences of strings (tuple or list).
-    * a callable object taking no parameters and returning a string or sequence of strings.
-    '''
-    head = '<html>\n  <head>\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n  </head>\n  <body>\n'
-    tail = '\n  </body>\n</html>'
-
-    doc = head
-
-    for body_component in body_components:
-        if type(body_component) is StringTypes:
-            doc += body_component
-        elif type(body_component) in [TupleType, ListType]:
-            for item in body_component:
-                doc += item
-        elif callable(body_component):
-            result = body_component()
-            if type(result) in [TupleType, ListType]:
-                for item in result:
-                    doc += item
-            else:
-                doc += result
-        else:
-            doc += body_component
-
-    doc += tail
-    return doc
-- 
2.19.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] gui: remove html_util.py
  2018-11-11 20:50 [PATCH 1/1] gui: remove html_util.py Nicolas Iooss
@ 2018-11-21 13:50 ` Petr Lautrbach
  2018-11-22  9:46   ` Petr Lautrbach
  0 siblings, 1 reply; 3+ messages in thread
From: Petr Lautrbach @ 2018-11-21 13:50 UTC (permalink / raw)
  To: selinux; +Cc: Nicolas Iooss

Nicolas Iooss <nicolas.iooss@m4x.org> writes:

> This file is not used anywhere.
>
> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>

Acked-by: Petr Lautrbach <plautrba@redhat.com>


>  gui/Makefile     |   1 -
>  gui/html_util.py | 175 -----------------------------------------------
>  2 files changed, 176 deletions(-)
>  delete mode 100644 gui/html_util.py
>
> diff --git a/gui/Makefile b/gui/Makefile
> index a72e58cee9b4..d42348b5f7fe 100644
> --- a/gui/Makefile
> +++ b/gui/Makefile
> @@ -9,7 +9,6 @@ TARGETS= \
>  booleansPage.py \
>  domainsPage.py \
>  fcontextPage.py \
> -html_util.py \
>  loginsPage.py \
>  modulesPage.py \
>  polgen.ui \
> diff --git a/gui/html_util.py b/gui/html_util.py
> deleted file mode 100644
> index 420f6b967114..000000000000
> --- a/gui/html_util.py
> +++ /dev/null
> @@ -1,175 +0,0 @@
> -# Authors: John Dennis <jdennis@redhat.com>
> -#
> -# Copyright (C) 2007 Red Hat, Inc.
> -#
> -# This program is free software; you can redistribute it and/or modify
> -# it under the terms of the GNU General Public License as published by
> -# the Free Software Foundation; either version 2 of the License, or
> -# (at your option) any later version.
> -#
> -# This program is distributed in the hope that it will be useful,
> -# but WITHOUT ANY WARRANTY; without even the implied warranty of
> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> -# GNU General Public License for more details.
> -#
> -# You should have received a copy of the GNU General Public License
> -# along with this program; if not, write to the Free Software
> -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> -#
> -
> -
> -__all__ = [
> -    'escape_html',
> -    'unescape_html',
> -    'html_to_text',
> -
> -    'html_document',
> -]
> -
> -import htmllib
> -import formatter as Formatter
> -import string
> -from types import *
> -try:
> -    from io import StringIO
> -except ImportError:
> -    from StringIO import StringIO
> -
> -#------------------------------------------------------------------------------
> -
> -
> -class TextWriter(Formatter.DumbWriter):
> -
> -    def __init__(self, file=None, maxcol=80, indent_width=4):
> -        Formatter.DumbWriter.__init__(self, file, maxcol)
> -        self.indent_level = 0
> -        self.indent_width = indent_width
> -        self._set_indent()
> -
> -    def _set_indent(self):
> -        self.indent_col = self.indent_level * self.indent_width
> -        self.indent = ' ' * self.indent_col
> -
> -    def new_margin(self, margin, level):
> -        self.indent_level = level
> -        self._set_indent()
> -
> -    def send_label_data(self, data):
> -        data = data + ' '
> -        if len(data) > self.indent_col:
> -            self.send_literal_data(data)
> -        else:
> -            offset = self.indent_col - len(data)
> -            self.send_literal_data(' ' * offset + data)
> -
> -    def send_flowing_data(self, data):
> -        if not data:
> -            return
> -        atbreak = self.atbreak or data[0] in string.whitespace
> -        col = self.col
> -        maxcol = self.maxcol
> -        write = self.file.write
> -        col = self.col
> -        if col == 0:
> -            write(self.indent)
> -            col = self.indent_col
> -        for word in data.split():
> -            if atbreak:
> -                if col + len(word) >= maxcol:
> -                    write('\n' + self.indent)
> -                    col = self.indent_col
> -                else:
> -                    write(' ')
> -                    col = col + 1
> -            write(word)
> -            col = col + len(word)
> -            atbreak = 1
> -        self.col = col
> -        self.atbreak = data[-1] in string.whitespace
> -
> -
> -class HTMLParserAnchor(htmllib.HTMLParser):
> -
> -    def __init__(self, formatter, verbose=0):
> -        htmllib.HTMLParser.__init__(self, formatter, verbose)
> -
> -    def anchor_bgn(self, href, name, type):
> -        self.anchor = href
> -
> -    def anchor_end(self):
> -        if self.anchor:
> -            self.handle_data(' (%s) ' % self.anchor)
> -            self.anchor = None
> -
> -#------------------------------------------------------------------------------
> -
> -
> -def escape_html(s):
> -    if s is None:
> -        return None
> -    s = s.replace("&", "&amp;")  # Must be done first!
> -    s = s.replace("<", "&lt;")
> -    s = s.replace(">", "&gt;")
> -    s = s.replace("'", "&apos;")
> -    s = s.replace('"', "&quot;")
> -    return s
> -
> -
> -def unescape_html(s):
> -    if s is None:
> -        return None
> -    if '&' not in s:
> -        return s
> -    s = s.replace("&lt;", "<")
> -    s = s.replace("&gt;", ">")
> -    s = s.replace("&apos;", "'")
> -    s = s.replace("&quot;", '"')
> -    s = s.replace("&amp;", "&")  # Must be last
> -    return s
> -
> -
> -def html_to_text(html, maxcol=80):
> -    try:
> -        buffer = StringIO()
> -        formatter = Formatter.AbstractFormatter(TextWriter(buffer, maxcol))
> -        parser = HTMLParserAnchor(formatter)
> -        parser.feed(html)
> -        parser.close()
> -        text = buffer.getvalue()
> -        buffer.close()
> -        return text
> -    except Exception as e:
> -        log_program.error('cannot convert html to text: %s' % e)
> -        return None
> -
> -
> -def html_document(*body_components):
> -    '''Wrap the body components in a HTML document structure with a valid header.
> -    Accepts a variable number of arguments of which can be:
> -    * string
> -    * a sequences of strings (tuple or list).
> -    * a callable object taking no parameters and returning a string or sequence of strings.
> -    '''
> -    head = '<html>\n  <head>\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n  </head>\n  <body>\n'
> -    tail = '\n  </body>\n</html>'
> -
> -    doc = head
> -
> -    for body_component in body_components:
> -        if type(body_component) is StringTypes:
> -            doc += body_component
> -        elif type(body_component) in [TupleType, ListType]:
> -            for item in body_component:
> -                doc += item
> -        elif callable(body_component):
> -            result = body_component()
> -            if type(result) in [TupleType, ListType]:
> -                for item in result:
> -                    doc += item
> -            else:
> -                doc += result
> -        else:
> -            doc += body_component
> -
> -    doc += tail
> -    return doc

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] gui: remove html_util.py
  2018-11-21 13:50 ` Petr Lautrbach
@ 2018-11-22  9:46   ` Petr Lautrbach
  0 siblings, 0 replies; 3+ messages in thread
From: Petr Lautrbach @ 2018-11-22  9:46 UTC (permalink / raw)
  To: selinux; +Cc: Nicolas Iooss

> Nicolas Iooss <nicolas.iooss@m4x.org> writes:
>
>> This file is not used anywhere.
>>
>> Signed-off-by: Nicolas Iooss <nicolas.iooss@m4x.org>
>
> Acked-by: Petr Lautrbach <plautrba@redhat.com>


Merged.


>
>
>>  gui/Makefile     |   1 -
>>  gui/html_util.py | 175 -----------------------------------------------
>>  2 files changed, 176 deletions(-)
>>  delete mode 100644 gui/html_util.py
>>
>> diff --git a/gui/Makefile b/gui/Makefile
>> index a72e58cee9b4..d42348b5f7fe 100644
>> --- a/gui/Makefile
>> +++ b/gui/Makefile
>> @@ -9,7 +9,6 @@ TARGETS= \
>>  booleansPage.py \
>>  domainsPage.py \
>>  fcontextPage.py \
>> -html_util.py \
>>  loginsPage.py \
>>  modulesPage.py \
>>  polgen.ui \
>> diff --git a/gui/html_util.py b/gui/html_util.py
>> deleted file mode 100644
>> index 420f6b967114..000000000000
>> --- a/gui/html_util.py
>> +++ /dev/null
>> @@ -1,175 +0,0 @@
>> -# Authors: John Dennis <jdennis@redhat.com>
>> -#
>> -# Copyright (C) 2007 Red Hat, Inc.
>> -#
>> -# This program is free software; you can redistribute it and/or modify
>> -# it under the terms of the GNU General Public License as published by
>> -# the Free Software Foundation; either version 2 of the License, or
>> -# (at your option) any later version.
>> -#
>> -# This program is distributed in the hope that it will be useful,
>> -# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> -# GNU General Public License for more details.
>> -#
>> -# You should have received a copy of the GNU General Public License
>> -# along with this program; if not, write to the Free Software
>> -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
>> -#
>> -
>> -
>> -__all__ = [
>> -    'escape_html',
>> -    'unescape_html',
>> -    'html_to_text',
>> -
>> -    'html_document',
>> -]
>> -
>> -import htmllib
>> -import formatter as Formatter
>> -import string
>> -from types import *
>> -try:
>> -    from io import StringIO
>> -except ImportError:
>> -    from StringIO import StringIO
>> -
>> -#------------------------------------------------------------------------------
>> -
>> -
>> -class TextWriter(Formatter.DumbWriter):
>> -
>> -    def __init__(self, file=None, maxcol=80, indent_width=4):
>> -        Formatter.DumbWriter.__init__(self, file, maxcol)
>> -        self.indent_level = 0
>> -        self.indent_width = indent_width
>> -        self._set_indent()
>> -
>> -    def _set_indent(self):
>> -        self.indent_col = self.indent_level * self.indent_width
>> -        self.indent = ' ' * self.indent_col
>> -
>> -    def new_margin(self, margin, level):
>> -        self.indent_level = level
>> -        self._set_indent()
>> -
>> -    def send_label_data(self, data):
>> -        data = data + ' '
>> -        if len(data) > self.indent_col:
>> -            self.send_literal_data(data)
>> -        else:
>> -            offset = self.indent_col - len(data)
>> -            self.send_literal_data(' ' * offset + data)
>> -
>> -    def send_flowing_data(self, data):
>> -        if not data:
>> -            return
>> -        atbreak = self.atbreak or data[0] in string.whitespace
>> -        col = self.col
>> -        maxcol = self.maxcol
>> -        write = self.file.write
>> -        col = self.col
>> -        if col == 0:
>> -            write(self.indent)
>> -            col = self.indent_col
>> -        for word in data.split():
>> -            if atbreak:
>> -                if col + len(word) >= maxcol:
>> -                    write('\n' + self.indent)
>> -                    col = self.indent_col
>> -                else:
>> -                    write(' ')
>> -                    col = col + 1
>> -            write(word)
>> -            col = col + len(word)
>> -            atbreak = 1
>> -        self.col = col
>> -        self.atbreak = data[-1] in string.whitespace
>> -
>> -
>> -class HTMLParserAnchor(htmllib.HTMLParser):
>> -
>> -    def __init__(self, formatter, verbose=0):
>> -        htmllib.HTMLParser.__init__(self, formatter, verbose)
>> -
>> -    def anchor_bgn(self, href, name, type):
>> -        self.anchor = href
>> -
>> -    def anchor_end(self):
>> -        if self.anchor:
>> -            self.handle_data(' (%s) ' % self.anchor)
>> -            self.anchor = None
>> -
>> -#------------------------------------------------------------------------------
>> -
>> -
>> -def escape_html(s):
>> -    if s is None:
>> -        return None
>> -    s = s.replace("&", "&amp;")  # Must be done first!
>> -    s = s.replace("<", "&lt;")
>> -    s = s.replace(">", "&gt;")
>> -    s = s.replace("'", "&apos;")
>> -    s = s.replace('"', "&quot;")
>> -    return s
>> -
>> -
>> -def unescape_html(s):
>> -    if s is None:
>> -        return None
>> -    if '&' not in s:
>> -        return s
>> -    s = s.replace("&lt;", "<")
>> -    s = s.replace("&gt;", ">")
>> -    s = s.replace("&apos;", "'")
>> -    s = s.replace("&quot;", '"')
>> -    s = s.replace("&amp;", "&")  # Must be last
>> -    return s
>> -
>> -
>> -def html_to_text(html, maxcol=80):
>> -    try:
>> -        buffer = StringIO()
>> -        formatter = Formatter.AbstractFormatter(TextWriter(buffer, maxcol))
>> -        parser = HTMLParserAnchor(formatter)
>> -        parser.feed(html)
>> -        parser.close()
>> -        text = buffer.getvalue()
>> -        buffer.close()
>> -        return text
>> -    except Exception as e:
>> -        log_program.error('cannot convert html to text: %s' % e)
>> -        return None
>> -
>> -
>> -def html_document(*body_components):
>> -    '''Wrap the body components in a HTML document structure with a valid header.
>> -    Accepts a variable number of arguments of which can be:
>> -    * string
>> -    * a sequences of strings (tuple or list).
>> -    * a callable object taking no parameters and returning a string or sequence of strings.
>> -    '''
>> -    head = '<html>\n  <head>\n    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>\n  </head>\n  <body>\n'
>> -    tail = '\n  </body>\n</html>'
>> -
>> -    doc = head
>> -
>> -    for body_component in body_components:
>> -        if type(body_component) is StringTypes:
>> -            doc += body_component
>> -        elif type(body_component) in [TupleType, ListType]:
>> -            for item in body_component:
>> -                doc += item
>> -        elif callable(body_component):
>> -            result = body_component()
>> -            if type(result) in [TupleType, ListType]:
>> -                for item in result:
>> -                    doc += item
>> -            else:
>> -                doc += result
>> -        else:
>> -            doc += body_component
>> -
>> -    doc += tail
>> -    return doc

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-22  9:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-11 20:50 [PATCH 1/1] gui: remove html_util.py Nicolas Iooss
2018-11-21 13:50 ` Petr Lautrbach
2018-11-22  9:46   ` Petr Lautrbach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).