1

Python で (PyQt を使用して) 記述された既存のアプリケーションに Git サポートを追加しています。Git コマンドを直接操作してsubprocess.Popen、さまざまなコマンドの結果を解析することにしました (実装したいいくつかのことについて、完全なサードパーティ ライブラリをインポートするのは適切ではないように思われるため)。

これまでのところ、 and の組み込みに成功しましたがgit branchgit remoteまだローカル リポジトリ内にいるため、多かれ少なかれ機能していました。
今、私は取り組みgit fetch、困難に直面しています。

最初に、stderr の gnome-keyring から「警告」を受け取りました。これは私のインストールの問題によるものですが、もちろん、そのような理由で電話を切るべきではありません。したがって、この警告は単に無視します。おそらくそれはハックですが、今のところ、問題が報告された場合は、そのような回避策を追加しても問題ないと思います。

しかし、シェルが(再びstderrで)SSHパスフレーズを入力するように要求するという問題があります。これは、特定のコンピューターにインストールした場合の問題でもありますが、ユーザーがパスワードを個人的に入力することを好む場合は、これを受け入れる必要があります。だから私は状況を処理しなければなりません。


したがって、長い紹介の後、質問はかなり簡潔になります。

git fetchPython からのようなシェル コマンドを実行しsubprocess.Popen、このシェル プログラムがユーザー フィードバックを求めた場合、Python からどのように操作できますか?
基本的に、標準エラー出力をユーザーに表示し、ユーザーがパスワードを入力できるようにしたいと考えています。(もちろん、このパスワードをアプリケーションに保存するオプションを実装します。)

4

2 に答える 2