1

生成された HTML をクリーンアップするためのスクリプトがいくつかあります。BeautifulSoup を使った Python スクリプトと Ruby スクリプトです。これらは、不要なタグと属性を削除し、シンボルを html エンコーディングに変換し、余分な改行文字を取り除き、ファイルが有効な UTF-8 でエンコードされていることを確認します。

これら 2 つのスクリプトをコマンド ラインから実行すると、期待どおりに動作します。コマンド ラインからこのシェル スクリプトで実行できます。

#!/bin/bash
HTMLPath=$1

echo $HTMLPath 2>&1 >> /Users/me/Desktop/log.txt
/usr/bin/python /Users/me/DevProj/script/cleanHTML.py "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt
/Users/me/.rvm/rubies/ruby-1.9.3-p374/bin/ruby /Users/me/DevProj/script/cleanupHtml.rb "$HTMLPath" 2>&1 >> /Users/me/DevProj/logs/log.txt

これにより、期待される結果も得られます。

ただし、処理する html ファイルのリストをフィードする Automator から実行すると、python スクリプト−がファイルから html エンコーディング (マイナス記号の HTML エンコーディング-) を削除し、代わりに空白が表示されます。問題は、できればマイナス記号を残す−必要があり、Automator から実行する必要があることです。

Automator シェルが使用していた python のバージョンに関係があるのではないかと考えたので、シェル スクリプトを作成して、コマンド ラインで使用するのと同じ bash シェル /bin/bash を確実に使用するようにしました。

他の誰かがこの問題に遭遇しましたか? Automator から何か間違ったことをしていますか?

私が追加したスクリプトではpython --version >> log.txt、python のバージョンをログに出力しません... Automator が独自の古い python ライブラリを使用しているという疑いがあります。

注:−入力ファイルに文字列がある場合にのみ、この問題が発生しました。それ以外の場合は、Automator から正常に実行されます。Automator が問題を引き起こしています。

4

0 に答える 0