Subversion ホストのプロキシ入力を確認する
Subversion の servers 設定を、グローバル値とホストグループの規則とともにまとめて読み取ります。
通常の Unix ユーザーの ~/.subversion/servers について、この確認は保存済みパスワードを出力せずに、選択したプロキシ入力とホストグループの対応を一覧します:
from configparser import ConfigParser
from pathlib import Path
settings = ConfigParser(interpolation=None)
settings.read(Path.home() / '.subversion' / 'servers')
for key in ('http-proxy-host', 'http-proxy-port',
'http-proxy-exceptions'):
print(key, settings.get('global', key, fallback=''))
if settings.has_section('groups'):
for group, patterns in settings.items('groups'):
print('group', group, patterns)この出力と一緒にリポジトリのホスト名を保持してください。スクリプトが報告するのはファイルの内容であり、Subversion が最終的に選んだ経路ではありません。
global に加えて、一致するグループの名前付きセクションも確認します。groups セクションは名前をサーバーパターンに対応付けます。一致するグループのホストとポートの値は既定値を上書きできます。また例外は、別の方法で設定されたプロキシを迂回できます。
次に、システムレベルとプラットフォーム固有の情報源、独自の設定ディレクトリ、コマンドラインでの上書きを考慮します。別のユーザーのホームディレクトリではなく、実際のアカウントや呼び出しのファイルに問い合わせてください。
ビューアは値を情報源と適用範囲ごとにラベル付けすべきです。修飾のないシステムプロキシという文字列ひとつでは、ホスト固有の判断も、ユーザーファイルの入力とシステムポリシーの区別も失われます。