続いて、XML文字列を定義している部分。ここがちょっと引っかかるんですよね。
[116-119行目]
_post_xml = """<entry xmlns="http://purl.org/atom/ns#">
<link type="text/html" rel="related" href="%s" />
<summary type="text/plain">%s</summary>
</entry>"""
Pythonでは,クオーテーション3つで囲んで改行を含んだ文字列を定義することができる。が,インデントを崩してしまってきたない,というのはご指摘の通り。
インデントを保ちたいなら,たとえばこうするんだろうか。
_post_xml = ("""<entry xmlns="http://purl.org/atom/ns#">\n""" """<link type="text/html" rel="related" href="%s" />\n""" """<summary type="text/plain">%s</summary>\n""" """</entry>\n""")
括弧で囲む,ダブルクオーテーションを改行で繋げる,というのがポイント。行末に「+」は不要(つけてもいい)。改行コードはエスケープシーケンスで埋め込まないとならない。
Pythonは,括弧内のスペースやタブ,改行などの「空白文字列」には割と肝要。関数やメソッドにたくさん引数を渡したいときなど,うまく使うとコードを見やすく書ける。
some_function("who", "defines", "such", "many", "arguments", "?")
まあそんなところで。