scripts/import_static.py
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.6.0-development+timestamp.2013.08.06.12.37.47
|
Version 2.6.0-development+timestamp.2013.08.06.17.14.00
|
||||||
|
|||||||
+15
-11
@@ -4,7 +4,7 @@ import glob
|
|||||||
import shutil
|
import shutil
|
||||||
import re
|
import re
|
||||||
|
|
||||||
regex_link = re.compile("""(href|src)\s=\s("|')(.+?)("|')""")
|
regex_link = re.compile("""(href|src)\s*=\s*("|')(.+?)("|')""")
|
||||||
|
|
||||||
def getname(filename):
|
def getname(filename):
|
||||||
return re.compile('\W').sub('',filename.split('/')[-1].rsplit('.',1)[0])
|
return re.compile('\W').sub('',filename.split('/')[-1].rsplit('.',1)[0])
|
||||||
@@ -18,23 +18,27 @@ def make_controller(html_files):
|
|||||||
|
|
||||||
def fix_links(html,prefix):
|
def fix_links(html,prefix):
|
||||||
def fix(match):
|
def fix(match):
|
||||||
href,link = match.group(1), match.group(2)
|
href,link = match.group(1), match.group(3)
|
||||||
if not link.contains('://'):
|
if not '://' in link:
|
||||||
if links.startswith('./'):
|
if link.lower().endswith('.html') and not '/' in link:
|
||||||
link = "{{=URL('static','%s','%s')}}" % (prefix,link[2:])
|
link = "{{=URL('%s','%s')}}" % (prefix, getname(link))
|
||||||
if link.startswith('/'):
|
elif link.startswith('./'):
|
||||||
link = "{{=URL('static','%s','%s')}}" % (prefix,link[1:])
|
link = "{{=URL('static','%s/%s')}}" % (prefix,link[2:])
|
||||||
|
elif link.startswith('/'):
|
||||||
|
link = "{{=URL('static','%s/%s')}}" % (prefix,link[1:])
|
||||||
else:
|
else:
|
||||||
link = "{{=URL('static','%s','%s')}}" % (prefix,link)
|
link = "{{=URL('static','%s/%s')}}" % (prefix,link)
|
||||||
return '%s="%s"' % (href,link)
|
return '%s="%s"' % (href,link)
|
||||||
return regex_link.sub(fix,html)
|
return regex_link.sub(fix,html)
|
||||||
|
|
||||||
def make_views(html_files,prefix):
|
def make_views(html_files,prefix):
|
||||||
views = {}
|
views = {}
|
||||||
|
layout_name = os.path.join(prefix,'layout.html')
|
||||||
|
extend = "{{extend '%s'}}" % layout_name
|
||||||
for filename in html_files:
|
for filename in html_files:
|
||||||
html = open(filename).read()
|
html = open(filename).read()
|
||||||
name = getname(filename)
|
name = getname(filename)
|
||||||
views[prefix+'/'+name+'.html'] = fix_links(html,prefix)
|
views[os.path.join(prefix,name+'.html')] = fix_links(html,prefix)
|
||||||
start = stop = None
|
start = stop = None
|
||||||
k = 0
|
k = 0
|
||||||
while start is None or stop is None:
|
while start is None or stop is None:
|
||||||
@@ -56,9 +60,9 @@ def make_views(html_files,prefix):
|
|||||||
html = views[name]
|
html = views[name]
|
||||||
n = len(html)
|
n = len(html)
|
||||||
header, views[name], footer = \
|
header, views[name], footer = \
|
||||||
html[:start], html[start:n-stop], html[n-stop:]
|
html[:start], extend+html[start:n-stop], html[n-stop:]
|
||||||
layout_html = header+'{{include}}'+footer
|
layout_html = header+'{{include}}'+footer
|
||||||
views['layout.html'] = layout_html
|
views[layout_name] = layout_html
|
||||||
return views
|
return views
|
||||||
|
|
||||||
def recursive_overwrite(src, dest, ignore=None):
|
def recursive_overwrite(src, dest, ignore=None):
|
||||||
|
|||||||
Reference in New Issue
Block a user