25 lines
645 B
Python
25 lines
645 B
Python
# make href attributes absolute, using base argument passed in
|
|
|
|
import sys
|
|
try:
|
|
base = sys.argv[sys.argv.index('--base')+1]
|
|
except:
|
|
sys.stderr.write('Missing required argument: base\n')
|
|
sys.exit()
|
|
|
|
from xml.dom import minidom, Node
|
|
from urlparse import urljoin
|
|
|
|
def rebase(node, newbase):
|
|
if node.hasAttribute('href'):
|
|
href=node.getAttribute('href')
|
|
if href != urljoin(base,href):
|
|
node.setAttribute('href', urljoin(base,href))
|
|
for child in node.childNodes:
|
|
if child.nodeType == Node.ELEMENT_NODE:
|
|
rebase(child, newbase)
|
|
|
|
doc = minidom.parse(sys.stdin)
|
|
rebase(doc.documentElement, base)
|
|
print doc.toxml('utf-8')
|