[pyar] Consulta: paths relativos

Roberto Alsina ralsina en netmanagers.com.ar
Mar Abr 10 13:03:50 ART 2012


Esta función estuve tratando de escribirla anoche y no me está
quedando linda, así que me pareció interesante para pedir ayuda :-)

Supongamos que tengo dos paths:

A = "/foo/bar/baz/index.html"
B = "/foo/index.html"

Y quiero hacer un link desde el primero al segundo. Obviamente puedo 
hacer href="/foo/index.html". Como sería una función que me convierta
eso en "../../index.html"?

Esa funcion debería darse cuenta de cosas como que si B es 
"../index.html" o "http://google.com" no hay que hacer nada, pero que si
B es "http://misitio.com/foo/index.html" entonces es lo mismo que si
fuera "/foo/index.html".

Resumiendo, quiero una funcion rel_link que se comporte así:

 >>> rel_link("/foo/bar/baz/index.html", "/foo/index.html")
... "../../index.html"

 >>> rel_link("/foo/bar/baz/index.html", "/foo/")
... "../../"

 >>> rel_link("/foo/bar/baz/index.html", "/foo")
... "../.."

 >>> rel_link("/foo/bar/baz/index.html", "http://google.com")
... "http://google.com"

 >>> rel_link("/foo/bar/baz/index.html", "../index.html")
... "../index.html"

Algua idea?



More information about the pyar mailing list