2016-10-09 5 views
0

私は、ファイルのデータベースに対して何らかの処理を行うPythonスクリプトを用意しています。このスクリプトは、分析の結果としていくつかのプロットと他の関連する数値を生成します。私はMeteor Appをビルドしています。私が望むのは、Pythonスクリプトの結果をMeteorテンプレートの中に表示することです。PythonはMeteorとリンクする方法を処理します

私がwnatは全体のアプリは、次のように動作することです:

1)Pythonスクリプト 3)ショーで、ファイルの処理を開始するために行われたデータベース() 2)ボタンにファイルをアップロード流星のアプリの中の結果

これまでのところ私はthisに従っていますが、私は流星のボタンからスクリプトを実行することができますが、どのように(いくつかのプロットと関連数字を含む)スクリプトによって生成されたデータを使用することができます流星のテンプレートを埋める?あなたの答えのStackOverflowのため

感謝:)

答えて

1

流星の方法では、次のコードを使用します。ここでは

'methodName':function(){ 
     new Fiber(function(){ 
      console.log('test python file'); 
      var file_path = process.env.PWD + "/path_to_file/hello.py"; 

      exec("python " + file_path, function (error, stdout, stderr) { 
       if (error) console.log('error'+error); 
       if (stdout) console.log('stdout'+stdout); 
       if (stderr) console.log('stderr'+stderr); 
      }); 
     }).run(); 
    } 

stdout Pythonコードの出力が含まれています。 Pythonから生成されたプロットを直接使用することはできませんが、統合するのが難しいですが、流星にデータを送り、流星を使ってd3jsやplot.lyのようなライブラリを使ってクライアント側でプロットを生成することができます。

出力データは、マトリックスまたはJSONであっても、ファイルであっても、その後流星が読み込んで操作します。

EDIT 1:例は、HTMLで

'helper1': function(){ 
return Meteor.call('methodName'); 
} 

//ヘルパー

'methodName':function(){ 
      new Fiber(function(){ 
       console.log('test python file'); 
       var file_path = process.env.PWD + "/path_to_file/hello.py"; 

       exec("python " + file_path, function (error, stdout, stderr) { 
        if (error) console.log('error'+error); 
        else if (stdout) return stdout; 
        else if (stderr) console.log('stderr'+stderr); 
       }); 
      }).run(); 
     } 

//テンプレートに

{{heplper1}} 
+0

おかげでそれを使用するために、私はそれを試してみるとします何が起こるか見る。 – RolandDeschain

+0

こんにちは@Ankit、私はそれを動作させる..しかし、私はまだ流星のテンプレートでstdoutのデータを使用することはできません知っている。何か案が?ありがとう – RolandDeschain

+0

こんにちは@RolandDeschain、私は例で答えを編集しました。 – Ankit

関連する問題