16 |
16 |
17 It includes several TALES extensions which can be used to include resources from a Chameleon |
17 It includes several TALES extensions which can be used to include resources from a Chameleon |
18 template, or to get path of a given resources from a template. |
18 template, or to get path of a given resources from a template. |
19 """ |
19 """ |
20 |
20 |
21 __docformat__ = 'restructuredtext' |
|
22 |
|
23 from fanstatic import Resource |
21 from fanstatic import Resource |
24 from fanstatic.core import NeededResources, render_css, set_resource_file_existence_checking |
22 from fanstatic.core import NeededResources, render_css, set_resource_file_existence_checking |
25 from pyramid.path import DottedNameResolver |
23 from pyramid.path import DottedNameResolver |
26 from zope.interface import Interface |
24 from zope.interface import Interface |
27 |
25 |
28 from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config |
26 from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config |
29 from pyams_utils.interfaces.tales import ITALESExtension |
27 from pyams_utils.interfaces.tales import ITALESExtension |
|
28 |
|
29 |
|
30 __docformat__ = 'restructuredtext' |
30 |
31 |
31 |
32 |
32 def render_js(url, defer=False): |
33 def render_js(url, defer=False): |
33 """Render tag to include Javascript resource""" |
34 """Render tag to include Javascript resource""" |
34 return '<script type="text/javascript" src="%s" %s></script>' % (url, 'defer' if defer else '') |
35 return '<script type="text/javascript" src="%s" %s></script>' % (url, 'defer' if defer else '') |
57 |
58 |
58 def render(self, library_url): |
59 def render(self, library_url): |
59 """Render resource tag""" |
60 """Render resource tag""" |
60 if self.resource_type == 'css': |
61 if self.resource_type == 'css': |
61 return render_css(self.relpath) |
62 return render_css(self.relpath) |
62 elif self.resource_type == 'js': |
63 if self.resource_type == 'js': |
63 return render_js(self.relpath, self.defer) |
64 return render_js(self.relpath, self.defer) |
64 else: |
65 return '' |
65 return '' |
|
66 |
66 |
67 |
67 |
68 def get_resource_path(resource, signature='--static--', versioning=True): |
68 def get_resource_path(resource, signature='--static--', versioning=True): |
69 """Get path for given resource""" |
69 """Get path for given resource""" |
70 res = NeededResources(publisher_signature=signature, versioning=versioning) |
70 res = NeededResources(publisher_signature=signature, versioning=versioning) |