[Checkins] SVN: hurry.zoperesource/trunk/ Drop the zope.app.component dependency, use zope.site instead.
Vincent Fretin
vincent.fretin at gmail.com
Tue Jul 20 12:11:35 EDT 2010
Log message for revision 114879:
Drop the zope.app.component dependency, use zope.site instead.
Pep8 cleanup
Changed:
U hurry.zoperesource/trunk/CHANGES.txt
U hurry.zoperesource/trunk/setup.py
U hurry.zoperesource/trunk/src/hurry/zoperesource/tests/__init__.py
U hurry.zoperesource/trunk/src/hurry/zoperesource/tests/tests.py
U hurry.zoperesource/trunk/src/hurry/zoperesource/tests/view.py
U hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py
-=-
Modified: hurry.zoperesource/trunk/CHANGES.txt
===================================================================
--- hurry.zoperesource/trunk/CHANGES.txt 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/CHANGES.txt 2010-07-20 16:11:35 UTC (rev 114879)
@@ -4,6 +4,8 @@
0.5 (unreleased)
================
+* Drop the zope.app.component dependency, use zope.site instead.
+
* Register the ILibraryUrl adapter for ILibrary instead of Library,
to be less specific for the adapter lookup.
Modified: hurry.zoperesource/trunk/setup.py
===================================================================
--- hurry.zoperesource/trunk/setup.py 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/setup.py 2010-07-20 16:11:35 UTC (rev 114879)
@@ -33,13 +33,13 @@
'grokcore.component',
'hurry.resource >= 0.4',
'z3c.autoinclude',
- 'zope.app.component',
'zope.app.publication',
'zope.component',
'zope.interface',
'zope.publisher',
'zope.security',
'zope.securitypolicy',
+ 'zope.site',
'zope.traversing',
],
extras_require = {
Modified: hurry.zoperesource/trunk/src/hurry/zoperesource/tests/__init__.py
===================================================================
--- hurry.zoperesource/trunk/src/hurry/zoperesource/tests/__init__.py 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/src/hurry/zoperesource/tests/__init__.py 2010-07-20 16:11:35 UTC (rev 114879)
@@ -1,2 +1 @@
#
-
Modified: hurry.zoperesource/trunk/src/hurry/zoperesource/tests/tests.py
===================================================================
--- hurry.zoperesource/trunk/src/hurry/zoperesource/tests/tests.py 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/src/hurry/zoperesource/tests/tests.py 2010-07-20 16:11:35 UTC (rev 114879)
@@ -9,19 +9,20 @@
os.path.join(os.path.split(__file__)[0], 'ftesting.zcml'),
__name__, 'FunctionalLayer')
+
def test_suite():
optionflags = doctest.NORMALIZE_WHITESPACE | doctest.ELLIPSIS
globs = {}
-
+
suite = unittest.TestSuite()
-
+
readme = FunctionalDocFileSuite(
'../README.txt',
optionflags=optionflags,
globs=globs)
readme.layer = FunctionalLayer
-
+
suite.addTest(readme)
return suite
Modified: hurry.zoperesource/trunk/src/hurry/zoperesource/tests/view.py
===================================================================
--- hurry.zoperesource/trunk/src/hurry/zoperesource/tests/view.py 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/src/hurry/zoperesource/tests/view.py 2010-07-20 16:11:35 UTC (rev 114879)
@@ -1,26 +1,27 @@
-from zope import component
-from hurry.resource.interfaces import ICurrentNeededInclusions
from hurry.resource import Library, ResourceInclusion, bottom
+
foo = Library("foo")
a = ResourceInclusion(foo, "a.js")
b = ResourceInclusion(foo, "b.js", depends=[a])
+
class TestSingle(object):
def widget(self):
a.need()
return "the widget HTML itself"
+
class TestMultiple(object):
def widget(self):
b.need()
return "the widget HTML itself"
+
class TestBottom(object):
def widget(self):
b.need()
bottom(force=True)
return "the widget HTML itself"
-
Modified: hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py
===================================================================
--- hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py 2010-07-20 16:11:13 UTC (rev 114878)
+++ hurry.zoperesource/trunk/src/hurry/zoperesource/zopesupport.py 2010-07-20 16:11:35 UTC (rev 114879)
@@ -5,7 +5,7 @@
from zope import component
import zope.security.management
from zope.publisher.interfaces import IRequest
-from zope.app.component.hooks import getSite
+from zope.site.hooks import getSite
from zope.traversing.browser.interfaces import IAbsoluteURL
from zope.publisher.browser import BrowserRequest, BrowserResponse, isHTML
from zope.app.publication.interfaces import IBrowserRequestFactory
@@ -14,10 +14,11 @@
from hurry.resource.interfaces import (
ICurrentNeededInclusions, ILibrary, ILibraryUrl)
+
class CurrentNeededInclusions(grok.GlobalUtility):
grok.implements(ICurrentNeededInclusions)
grok.provides(ICurrentNeededInclusions)
-
+
def __call__(self):
try:
request = getRequest()
@@ -28,11 +29,12 @@
# silently assume that this is all right and return
# an empty NeededInclusions
return NeededInclusions()
-
+
if not hasattr(request, 'hurry_resource_needed'):
request.hurry_resource_needed = NeededInclusions()
return request.hurry_resource_needed
+
@grok.adapter(ILibrary)
@grok.implementer(ILibraryUrl)
def library_url(library):
@@ -40,12 +42,14 @@
return str(component.getMultiAdapter((getSite(), request),
IAbsoluteURL)) + '/@@/' + library.name
+
class Request(BrowserRequest):
interface.classProvides(IBrowserRequestFactory)
def _createResponse(self):
return Response()
+
class Response(BrowserResponse):
def _implicitResult(self, body):
content_type = self.getHeader('content-type')
@@ -56,7 +60,7 @@
content_type = 'text/plain'
self.setHeader('x-content-type-warning', 'guessed from content')
self.setHeader('content-type', content_type)
-
+
# check the content type disregarding parameters and case
if content_type and content_type.split(';', 1)[0].lower() in (
'text/html', 'text/xml'):
@@ -65,12 +69,14 @@
return super(Response, self)._implicitResult(body)
+
class NoRequestError(Exception):
pass
+
def getRequest():
try:
- i = zope.security.management.getInteraction() # raises NoInteraction
+ i = zope.security.management.getInteraction() # raises NoInteraction
except zope.security.interfaces.NoInteraction:
raise NoRequestError()
More information about the checkins
mailing list