チケット #342 (closed 不具合: fixed)

登録: 15 年

最終更新: 15 年

横断検索ツールで日本語フレーズで検索してGalaxyへ送信するとGalaxy側でエラーが発生する

報告者: t-hatakeyama 担当者: t-hatakeyama
優先度: 現マイルストーンで作業の停滞を招く マイルストーン: 平成22年度開発
コンポーネント: Galaxy バージョン:
キーワード: 関係者:
GanttChart表示: OFF 依存TaskNo:
開始予定日: YYYY/MM/DD 終了予定日: YYYY/MM/DD

説明 (最終更新者: t-hatakeyama) (diff)

** 現象

横断検索ツールで日本語フレーズで検索した結果をGalaxyへ送信しようとすると、Galaxy側のツールの実行時に下記のエラーが発生する。

Traceback (most recent call last):
  File "/home/thata/c/dbcls/dbsearch_env/galaxy-central/lib/galaxy/jobs/runners/local.py", line 55, in run_job
    job_wrapper.prepare()
  File "/home/thata/c/dbcls/dbsearch_env/galaxy-central/lib/galaxy/jobs/__init__.py", line 337, in prepare
    self.tool.exec_before_job( self.queue.app, inp_data, out_data, param_dict )
  File "/home/thata/c/dbcls/dbsearch_env/galaxy-central/lib/galaxy/tools/__init__.py", line 1731, in exec_before_job
    print >> out, '%s\t%s' % ( key, value )
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal not in range(128)

** 原因

外部検索ツールから渡されたパラメータをファイルへと書き出す際、パラメータのkeyとvalueのうちのvalueに日本語が含まれる場合、Python文字列なvalueを文字コードasciiでUnicode文字列へ変換しようとしてエラーが発生したもの。

** 対策

keyの値がUnicode文字列でなければvalueのUnicodeへの変換は行わないで済んだので、keyの値がUnicode文字列の場合はPython文字列へ変換することで問題に対応した。

チケットの履歴

更新者: t-hatakeyama (15 年 前)

  • ステータスnew から assigned に変更されました。

更新者: t-hatakeyama (15 年 前)

  • ステータスassigned から closed に変更されました。
  • 解決方法fixed に設定されました。
  • 説明 が変更されました (diff)
Note: チケットについてのヘルプは TracTickets を参照 して下さい。