2011年10月14日金曜日

WSH Panel ModからPythonを利用する

な~に、いつものStdinプロパチーの利用でっせ

 

参考

WSH Panel Modとコンソールアプリケーションとの通信(その壱) - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-27.html

WSH Panel Modとコンソールアプリケーションとの通信(その弐) - PNNブログCEOの趣味悠々自適生活
http://pnnceo.blog.fc2.com/blog-entry-28.html

 

WSH側のスクリプト

   1:  Set objShell = CreateObject("WScript.Shell")
   2:  function on_playback_new_track(metadb)
   3:      Set objExec = objShell.Exec("cmd")
   4:      objExec.StdIn.Writeline("cd python")
   5:      objExec.StdIn.Writeline("python md5.py "+fb.TitleFormat("%_path%").Eval(true))
   6:      objExec.StdIn.Writeline("exit")
   7:      Do Until objExec.StdOut.AtEndOfStream
   8:          strLine = objExec.StdOut.ReadLine
   9:          If InStr(strLine,"result:")<>0 Then
  10:              col = Instr(strLine,":")
  11:              md5 = Mid(strLine,col+1)  
  12:          end if
  13:      loop
  14:      fb.trace("再生中の楽曲のフルパスのMD5:"+md5)
  15:      set objExec = Nothing
  16:  end function

 

Pythonスクリプト(md5.pyと名前を付けて保存後、Foobarの実行ファイルのあるディレクトリにpythonというディレクトリを作りそこに放り投げる。別にわざわざ作ってやる必要もないが、後々スクリプトが増えてくるとディレクトリが汚くなるのが嫌なので)

   1:  import sys
   2:  import hashlib
   3:   
   4:  rawtext=sys.argv[1]
   5:  print('result:'+hashlib.md5(rawtext.encode()).hexdigest())

 

実行画面(例)

 

当然PythonがPCにインストールされている必要がある。

インストールの仕方やその辺は外部のサイトが詳しいのでそちらを参考に

Pythonインストールと環境設定
http://www.pythonweb.jp/install/

ちなみに当方のPythonのバージョンは最新版の3.2なので、最新版をインストールしてください。

上のサイトのPythonのバージョンはちょっと古いです。けどまあ、インストールや設定の要領はあんまり変わりないです。

 

勘の良い人はわかるとは思うがPowerShellも同じ要領で利用できる。てなことで次回はPSで遊んでみる。



0 件のコメント:

コメントを投稿