2016-06-16 2 views
-1

私はcursesを使ってプログラムを開発しましたが、これまでのところすべてがクールですが、私のプログラムのさまざまなビュー/パネルを私のメインループから呼び出し可能な小さなチャンクに分割する良いパターンがあるかどうかは疑問でした。Python curses interface

さらに情報:

このプログラムは、オンプレミスのインストールを必要とする顧客のための私たちのアプリケーションを容易にすることを目指してかなり小さいの自動化ツール/ウィザードです。

このウィザードは、3段階の1つで、選択したアーキテクチャに応じて、お客様のインストールニーズから情報を取得するために使用されます。

最初の手順では、お客様に、契約番号、会社名、ライセンス番号、優先連絡先などの識別情報をGoogleに要求するよう要求しています。

2番目の手順では、スタンドアロンインストール(オールインワンインストール)またはN層インストールと、要求されたカスタムSSL VHostNameまたはTiers IP /資格情報。

3番目と最後のステップでは、お客様に、進捗バーと必要なサービス(MySQL/HTTPd/HAProxy/PHP-FPM)とアプリケーションの情報を示しています。

私は、特にそのようなプログラムにはcursesライブラリを使用する必要はありませんが、私たちのUXチームはソリューションの顧客経験の一部としてそれをリクエストしたことを知っています。

+0

これは、プログラムの性質に完全に依存します。プログラムの性質に依存しますが、多くの情報が含まれていないため判断できません。 – Carcigenicate

+0

このプログラムは比較的短期間のウィザードで、顧客にアプリケーションのインストール方法に関する情報を要求しています。私は基本的に、スタンドアローンのインストールまたはN層のインストールが必要かどうかを尋ねます。 Nティアを選択したら、ホストのユーザー名/ pwd/IP(またはfqdn)を求めます。これらの情報がすべて集められたら、必要なサービスと最後に私たちのアプリをインストールします。最後のアシスタントビューには、インストーラの進捗状況が表示されます。 –

+0

1.その情報を元の質問に編集します。 2.最初の場所でcursesが必要なようには聞こえません.3を除いて別のウィンドウを使用して、進行中のバーを表示できます。メインウィンドウには、実際にインストールされているファイルが表示されます。それはちょうど肉汁になるだろう。進行状況を出力している場合は、プログレスバーは必要ありません。 – Carcigenicate

答えて

0

このようなやり方は実際には普通ではありません。たとえば、WebUIのようなフレームワークが利用可能であるとは思わないでください。

私は自分自身の "Framework/factory"を作成し、Webアプリケーションで使用されるものと似た論理で、アプリケーションのあらゆる側面を分割できるように決めました。

ソースコードは汚れていて実際にはpythonicではありませんが、これまでのところうまく動作しており、維持管理が簡単です。

あなたの回答とアイデアはありがとうございます。

0

あなたはForms library.を見ることができます。あなたのような入力フォームをよりよく管理できるncursesの素晴らしい拡張です。フィールドの読み込み、プロパティの変更など、さまざまなフィールドタイプ(regexp-validatedフィールドを含む)の簡単な関数インターフェイスを提供します。あなたの場合は、単に3つのフォームを作成し、それを連続してポスト/ポストすることができます。

+0

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 – Matthew

関連する問題