Pentru fișierul ~/.subversion/servers obișnuit al unui utilizator Unix, această inspecție listează intrări de proxy selectate și mapări ale grupurilor de gazde fără a tipări parolele salvate:

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)

Păstrați numele gazdei depozitului lângă această ieșire. Scriptul raportează conținutul fișierului, nu ruta pe care Subversion a ales-o în final.

Verificați secțiunea numită a grupului potrivit, pe lângă global. Secțiunea groups asociază nume cu modele de server; valorile de gazdă și port ale unui grup potrivit pot suprascrie valorile implicite, iar excepțiile pot ocoli un proxy configurat altfel.

Apoi luați în calcul sursele la nivel de sistem și cele specifice platformei, un director de configurare personalizat și suprascrierile din linia de comandă. Întrebați fișierele contului sau invocării reale, nu directorul home al altui utilizator.

Un vizualizator ar trebui să eticheteze valorile după sursă și domeniu. Un singur șir necalificat despre proxy de sistem pierde atât decizia specifică gazdei, cât și distincția dintre intrările din fișierul utilizatorului și politica sistemului.

Articole similare