PythonでHTMLメール用にCSSをインラインにする方法


Python2.7を使っています。

HTML HEAD内のCSSファイルやStyle定義を、BODY内のタグにStyleとして埋め込みたい。変換してくれるモジュールを探しています。

変換前

[code]

    <html><head><style>h1{font-size:20px;}</style></head>
    <body><h1>タイトル</h1><div>文章</div>
    
[/code]

変換後

[code]

    <html><head></head>
    <body><h1 style="font-size:20px">タイトル</h1><div>文章</div>
    
[/code]

Pythonでこのよな処理が可能なモジュールなどはありませんか？  
HTMLメールを出す際に必要となっています。




[inlinestyler](http://inlinestyler.torchboxapps.com/) を使うと出来る様です。

**BEFORE**

[code]

    <html>
        <head>
            <title>Example</title>
            <link rel="stylesheet" href="http://inlinestyler.torchboxapps.com/static/css/example.css" />
        </head>
        <body>
            <style type="text/css">
                h1{
                    color:yellow
                }
            </style>
            <h1>An example title</h1>
            <p>Paragraph 1</p>
            <p class="p2">Paragraph 2</p>
        </body>
    </html>
    
[/code]

**AFTER**

[code]

    <html>
      <head>
        <title>Example</title>
      </head>
      <body>
            <h1 style="color: yellow">An example title</h1>
            <p style="margin: 0;padding: 0 0 10px 0">Paragraph 1</p>
            <p class="p2" style="margin: 0;padding: 0 0 10px 0">Paragraph 2</p>
        </body>
    </html>
    
[/code]




[inlinestyler](http://inlinestyler.torchboxapps.com/) を使うと出来る様です。

**BEFORE**

[code]

    <html>
        <head>
            <title>Example</title>
            <link rel="stylesheet" href="http://inlinestyler.torchboxapps.com/static/css/example.css" />
        </head>
        <body>
            <style type="text/css">
                h1{
                    color:yellow
                }
            </style>
            <h1>An example title</h1>
            <p>Paragraph 1</p>
            <p class="p2">Paragraph 2</p>
        </body>
    </html>
    
[/code]

**AFTER**

[code]

    <html>
      <head>
        <title>Example</title>
      </head>
      <body>
            <h1 style="color: yellow">An example title</h1>
            <p style="margin: 0;padding: 0 0 10px 0">Paragraph 1</p>
            <p class="p2" style="margin: 0;padding: 0 0 10px 0">Paragraph 2</p>
        </body>
    </html>
    
[/code]

