ローカルの flask から ubuntu server の pacsdb にアクセスして、ある条件で検索して以下のような一覧を得たとします。

このテーブルをクリックすると dicom ファイルがダウンロードされて閲覧できるというイメージです。
ただ、ここではテーブルをクリックしたときに python の関数を呼び出せるかどうかだけをテーマにしています。
これだけでもなかなかに難しいと思います。
テーマとして 2 つあり、1つは python からシェルスクリプトが動かせるのかということ。
もう 1 つは flask から python を呼び出せるのかということです。
python からシェルスクリプトを実行
これはとても簡単です。
import os
os.system('javaws /var/www/html/weasis/weasisStart.jnlp')
これで weasis が起動します。
flask から外部の python の関数を使う
まずは weasis を起動する python を関数化する必要があるようです。
startWeasis.py
import os
def weasis():
os.system('javaws /var/www/html/weasis/weasisStart.jnlp')
if __name__ == '__main__':
weasis()
実際に動くことを確認します。
python startWeasis.py
メインのプログラムである dcm01.py を書き換えます。
dcm01.py
from flask import Flask, render_template, redirect
import startWeasis
.....
@app.route('/weasis/')
def detail():
return redirect('/'), startWeasis.weasis()
つまり、自作の python をインポートしてその関数である weasis を呼び出しています。
そして、jquery で動的にルーティングします。
layout.html
$(function(){
$('td').click(function() {
location.href = "/weasis/" ;
});
});
シェルスクリプトに変数を渡す
ここでは jquery からいきなり weasis を起動しましたが、本来はその前に dicom ファイルを ftp ダウンロードするプログラムに変数を渡して、それに該当する dicom ファイルをローカルにダウンロードする必要があります。
あともう少しでしょうか。