mirror of https://github.com/caronc/apprise
				
				
				
			fix: conversion html_to_text hr tags rstrip non string object (#1162)
Co-authored-by: Fabio Lucattini <f.lucattini@desys.it>pull/1168/head
							parent
							
								
									ddb5b52d17
								
							
						
					
					
						commit
						e30adb4dee
					
				| 
						 | 
				
			
			@ -180,8 +180,10 @@ class HTMLConverter(HTMLParser, object):
 | 
			
		|||
            self._result.append('\n')
 | 
			
		||||
 | 
			
		||||
        elif tag == 'hr':
 | 
			
		||||
            if self._result:
 | 
			
		||||
            if self._result and isinstance(self._result[-1], str):
 | 
			
		||||
                self._result[-1] = self._result[-1].rstrip(' ')
 | 
			
		||||
            else:
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
            self._result.append('\n---\n')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -127,6 +127,70 @@ def test_conversion_html_to_text():
 | 
			
		|||
    # If you give nothing, you get nothing in return
 | 
			
		||||
    assert to_html("") == ""
 | 
			
		||||
 | 
			
		||||
    # Special case on HR tag
 | 
			
		||||
    assert to_html("""
 | 
			
		||||
        <html>
 | 
			
		||||
            <head></head>
 | 
			
		||||
            <body>
 | 
			
		||||
                <p><b>FROM: </b>apprise-test@mydomain.yyy
 | 
			
		||||
                <apprise-test@mydomain.yyy></p>
 | 
			
		||||
                Hi!<br/>
 | 
			
		||||
                How are you?<br/>
 | 
			
		||||
<font color=3D"#FF0000">red font</font>
 | 
			
		||||
<a href=3D"http://www.python.org">link</a> you wanted.<br/>
 | 
			
		||||
            </body>
 | 
			
		||||
        </html>
 | 
			
		||||
        """) == "FROM: apprise-test@mydomain.yyy\nHi!\n How are you?\n \
 | 
			
		||||
red font link you wanted."
 | 
			
		||||
 | 
			
		||||
    assert to_html("""
 | 
			
		||||
        <html>
 | 
			
		||||
            <head></head>
 | 
			
		||||
            <body>
 | 
			
		||||
                <p><b>FROM: </b>apprise-test@mydomain.yyy
 | 
			
		||||
                    <apprise-test@mydomain.yyy><hr></p>
 | 
			
		||||
                Hi!<br/>
 | 
			
		||||
                How are you?<br/>
 | 
			
		||||
<font color=3D"#FF0000">red font</font>
 | 
			
		||||
<a href=3D"http://www.python.org">link</a> you wanted.<br/>
 | 
			
		||||
            </body>
 | 
			
		||||
        </html>
 | 
			
		||||
        """) == "FROM: apprise-test@mydomain.yyy\n---\nHi!\n \
 | 
			
		||||
How are you?\n red font link you wanted."
 | 
			
		||||
 | 
			
		||||
    # Special case on HR if text is sorrunded by HR tags
 | 
			
		||||
    # its created a dict element
 | 
			
		||||
    assert to_html("""
 | 
			
		||||
        <html>
 | 
			
		||||
            <head></head>
 | 
			
		||||
            <body>
 | 
			
		||||
                <p><hr><b>FROM: </b>apprise-test@mydomain.yyy
 | 
			
		||||
                    <apprise-test@mydomain.yyy><hr></p>
 | 
			
		||||
                Hi!<br/>
 | 
			
		||||
                How are you?<br/>
 | 
			
		||||
<font color=3D"#FF0000">red font</font>
 | 
			
		||||
<a href=3D"http://www.python.org">link</a> you wanted.<br/>
 | 
			
		||||
            </body>
 | 
			
		||||
        </html>
 | 
			
		||||
        """) == "---\nFROM: apprise-test@mydomain.yyy\n---\nHi!\n \
 | 
			
		||||
How are you?\n red font link you wanted."
 | 
			
		||||
 | 
			
		||||
    assert to_html("""
 | 
			
		||||
        <html>
 | 
			
		||||
            <head></head>
 | 
			
		||||
            <body>
 | 
			
		||||
                <p>
 | 
			
		||||
                    <hr><b>TEST</b><hr>
 | 
			
		||||
                </p>
 | 
			
		||||
                Hi!<br/>
 | 
			
		||||
                How are you?<br/>
 | 
			
		||||
<font color=3D"#FF0000">red font</font>
 | 
			
		||||
<a href=3D"http://www.python.org">link</a> you wanted.<br/>
 | 
			
		||||
            </body>
 | 
			
		||||
            </html>
 | 
			
		||||
        """) == "---\nTEST\n---\nHi!\n How are you?\n red font link you \
 | 
			
		||||
wanted."
 | 
			
		||||
 | 
			
		||||
    with pytest.raises(TypeError):
 | 
			
		||||
        # Invalid input
 | 
			
		||||
        assert to_html(None)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue