[etwist] Generates apache's mod_concat-like urls for js and css
Uses the lists of js, css and ie_css included in order to generate
urls compatible with Apache mod_concat (ie: http://test.fr/??file1.js,file2.js).
Css files may use `media` option or may be for IE only ; this patch
does not concatenate css filenames for different media types or
different IE specs.
It concatenates only files served under cubicweb's `data` urls
and keeps original include order.
The generated urls are added to the HTML header as usual.
HOW-TO:
- calling HTMLHead(datadir_url) will enable the url concatenation
- calling HTMLHead() will not benefit of url concatenation
IMPORTANT NOTE:
- fckeditor can no more be served under `/data/` segment
"""This module compare the Schema on the file system to the one in the database"""
from cStringIO import StringIO
from cubicweb.web.schemaviewer import SchemaViewer
from logilab.common.ureports import TextWriter
import difflib
viewer = SchemaViewer()
layout_db = viewer.visit_schema(schema, display_relations=True)
layout_fs = viewer.visit_schema(fsschema, display_relations=True)
writer = TextWriter()
stream_db = StringIO()
stream_fs = StringIO()
writer.format(layout_db, stream=stream_db)
writer.format(layout_fs, stream=stream_fs)
stream_db.seek(0)
stream_fs.seek(0)
db = stream_db.getvalue().splitlines()
fs = stream_fs.getvalue().splitlines()
open('db_schema.txt', 'w').write(stream_db.getvalue())
open('fs_schema.txt', 'w').write(stream_fs.getvalue())
#for diff in difflib.ndiff(fs, db):
# print diff