3. Anàlisi d’un URI

Un identificador uniforme de recursos (URI en anglès) és un text amb la sintaxi (simplificada) següent:

URI = esquema "://" autoritat
autoritat = [usuari "@"] servidor [":" port]

El text entre cometes és fix, les parts entre claudàtors es poden ometre i els noms poden variar. Per exemple, a l’URI https://anna@lloc.coop:137 té l’esquema https, l’usuari anna, els servidor lloc.coop i el port 137.

Dissenya la funció següent i desa-la al mòdul uris (fitxer uris.py).

uris.extreu_esquema_autoritat(uri)

Retorna l’esquema, l’usuari, el servidor i el port extrets de la uri.

Si l’usuari s’ha omès a l”uri, el valor de l’usuari retornat serà l’string buit o nul.

Si el port s’ha omès a l”uri, el valor del port retornat serà -1.

L’esquema, l’usuari i el servidor són de tipus str i el port és int.

Per exemple:


>>> e, u, s, p = extreu_esquema_autoritat('https://anna@lloc.coop:137')
>>> e, u, s, p
('https', 'anna', 'lloc.coop', 137)

>>> e, u, s, p = extreu_esquema_autoritat('dns://192.168.1.1:853')
>>> e, u, s, p
('dns', '', '192.168.1.1', 853)

>>> e, u, s, p = extreu_esquema_autoritat('ftp://ftp.upc.edu')
>>> e, u, s, p
('ftp', '', 'ftp.upc.edu', -1)

Trobaràs més tests al fitxer test-uris.txt