From kupu-checkins at codespeak.net Thu Sep 9 22:08:48 2010
From: kupu-checkins at codespeak.net (kupu-checkins at codespeak.net)
Date: Thu, 09 Sep 2010 20:08:48 -0000
Subject: kupu-checkins@codespeak.net V|AGRA ® Official 37% OFF
Message-ID: <20100909200843.52565282B9C@codespeak.net>
Since the time when men faced erectile dysfunction they have been trying to find the treatment!
Buy Your ED Pills Online
NoPRESCRIPTION REQUIRED
Safe, Easy and Discreet Delivery! Order Now!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://codespeak.net/pipermail/kupu-checkins/attachments/20100909/135b32e2/attachment.htm
From mihxil at codespeak.net Fri Sep 24 16:31:49 2010
From: mihxil at codespeak.net (mihxil at codespeak.net)
Date: Fri, 24 Sep 2010 16:31:49 +0200 (CEST)
Subject: [kupu-checkins] r77345 - kupu/trunk/kupu/mmbase
Message-ID: <20100924143149.DC8AA282BD4@codespeak.net>
Author: mihxil
Date: Fri Sep 24 16:31:48 2010
New Revision: 77345
Modified:
kupu/trunk/kupu/mmbase/mmbase.js
Log:
made it work in chrome
Modified: kupu/trunk/kupu/mmbase/mmbase.js
==============================================================================
--- kupu/trunk/kupu/mmbase/mmbase.js (original)
+++ kupu/trunk/kupu/mmbase/mmbase.js Fri Sep 24 16:31:48 2010
@@ -61,7 +61,8 @@
// let's register saveOnPart(), to ask the user if he wants to save when
// leaving after editing
- if (kupu.getBrowserName() == 'IE') {
+ var browser = kupu.getBrowserName();
+ if (browser == 'IE') {
// IE supports onbeforeunload, so let's use that
addEventHandler(window, 'beforeunload', saveOnPart);
} else {
@@ -69,7 +70,7 @@
// so let's try to register and if it fails fall back on onunload
var re = /rv:([0-9\.]+)/;
var match = re.exec(navigator.userAgent);
- if (match[1] && parseFloat(match[1]) > 1.6) {
+ if (match != null && match[1] && parseFloat(match[1]) > 1.6) {
addEventHandler(window, 'beforeunload', saveOnPart);
} else {
addEventHandler(window, 'unload', saveOnPart);
@@ -78,6 +79,7 @@
// and now we can initialize...
kupu.initialize();
+
if (window.kuputoolcollapser) {
var collapser = new window.kuputoolcollapser.Collapser('kupu-toolboxes');
if (kupu.getBrowserName() != 'IE') {
From mihxil at codespeak.net Fri Sep 24 16:35:45 2010
From: mihxil at codespeak.net (mihxil at codespeak.net)
Date: Fri, 24 Sep 2010 16:35:45 +0200 (CEST)
Subject: [kupu-checkins] r77346 - kupu/trunk/kupu/mmbase
Message-ID: <20100924143545.A9ED6282B9E@codespeak.net>
Author: mihxil
Date: Fri Sep 24 16:35:44 2010
New Revision: 77346
Modified:
kupu/trunk/kupu/mmbase/Makefile
Log:
repo location on mmbase machine has been changed
Modified: kupu/trunk/kupu/mmbase/Makefile
==============================================================================
--- kupu/trunk/kupu/mmbase/Makefile (original)
+++ kupu/trunk/kupu/mmbase/Makefile Fri Sep 24 16:35:44 2010
@@ -17,6 +17,8 @@
REPO=$(shell if [ "$(VERSIONEXTRA)" == "-SNAPSHOT" ] ; then echo snapshots ; else echo maven2 ; fi)
REPOID=$(shell if [ "$(VERSIONEXTRA)" == "-SNAPSHOT" ] ; then echo mmbase-snapshots ; else echo mmbase ; fi)
+DEPLOY=scp://mmbase.org/home/tomcat/downloads/
+
#type in i18n: msginit -l -i messages.po
@@ -83,8 +85,8 @@
deploy.jars: $(I18N) mmbase-kupu-i18n.jar
mvn install:install-file -DgeneratePom.description='Resource bundle with translations of kupu-generic texts' -DgroupId=org.oscom -DartifactId=kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=$(I18N)
mvn install:install-file -DgeneratePom.description='Resource bundle with translations specific to kupu/mmbase' -DgroupId=org.oscom -DartifactId=mmbase-kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=mmbase-kupu-i18n.jar
- mvn deploy:deploy-file -DgeneratePom.description='Resource bundle with translations of kupu-generic texts' -DgroupId=org.oscom -DartifactId=kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=$(I18N) -Durl=scp://mmbase.org/home/mmweb/web/$(REPO) -DrepositoryId=$(REPOID) -DuniqueVersion=false
- mvn deploy:deploy-file -DgeneratePom.description='Resource bundle with translations specific to kupu/mmbase' -DgroupId=org.oscom -DartifactId=mmbase-kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=mmbase-kupu-i18n.jar -Durl=scp://mmbase.org/home/mmweb/web/$(REPO) -DrepositoryId=$(REPOID) -DuniqueVersion=false
+ mvn deploy:deploy-file -DgeneratePom.description='Resource bundle with translations of kupu-generic texts' -DgroupId=org.oscom -DartifactId=kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=$(I18N) -Durl=$(DEPLOY)$(REPO) -DrepositoryId=$(REPOID) -DuniqueVersion=false
+ mvn deploy:deploy-file -DgeneratePom.description='Resource bundle with translations specific to kupu/mmbase' -DgroupId=org.oscom -DartifactId=mmbase-kupu-i18n -Dversion=$(VERSION) -Dpackaging=jar -Dfile=mmbase-kupu-i18n.jar -Durl=$(DEPLOY)$(REPO) -DrepositoryId=$(REPOID) -DuniqueVersion=false
deploy: mmbase-kupu.war
From davisagli at codespeak.net Sat Sep 25 22:31:15 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sat, 25 Sep 2010 22:31:15 +0200 (CEST)
Subject: [kupu-checkins] r77367 - kupu/branch/plone-plip9938-output-filters
Message-ID: <20100925203115.8FDEA282BAD@codespeak.net>
Author: davisagli
Date: Sat Sep 25 22:31:12 2010
New Revision: 77367
Added:
kupu/branch/plone-plip9938-output-filters/
- copied from r77366, kupu/trunk/
Log:
branch for Plone plip 9938
From davisagli at codespeak.net Sun Sep 26 00:01:04 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 00:01:04 +0200 (CEST)
Subject: [kupu-checkins] r77368 -
kupu/branch/plone-plip9938-output-filters/Products.kupu/Products
Message-ID: <20100925220104.06ACC282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 00:01:03 2010
New Revision: 77368
Modified:
kupu/branch/plone-plip9938-output-filters/Products.kupu/Products/ (props changed)
kupu/branch/plone-plip9938-output-filters/Products.kupu/Products/EXTERNALS.txt
Log:
update external
Modified: kupu/branch/plone-plip9938-output-filters/Products.kupu/Products/EXTERNALS.txt
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/Products.kupu/Products/EXTERNALS.txt (original)
+++ kupu/branch/plone-plip9938-output-filters/Products.kupu/Products/EXTERNALS.txt Sun Sep 26 00:01:03 2010
@@ -1 +1 @@
-kupu https://codespeak.net/svn/kupu/trunk/kupu
+kupu https://codespeak.net/svn/kupu/branch/plone-plip9938-output-filters/kupu
From davisagli at codespeak.net Sun Sep 26 00:02:32 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 00:02:32 +0200 (CEST)
Subject: [kupu-checkins] r77369 - in
kupu/branch/plone-plip9938-output-filters/kupu: Extensions
plone plone/profiles/default
Message-ID: <20100925220232.19A6A282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 00:02:30 2010
New Revision: 77369
Modified:
kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml
kupu/branch/plone-plip9938-output-filters/kupu/plone/html2captioned.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/plonelibrarytool.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/profiles/default/metadata.xml
kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py
Log:
start updating to use plone.outputfilters
Modified: kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py Sun Sep 26 00:02:30 2010
@@ -27,6 +27,8 @@
from Products.kupu.config import TOOLNAME, PROJECTNAME, TOOLTITLE
from zExceptions import BadRequest
+from plone.outputfilters.setuphandlers import install_mimetype_and_transforms
+
try:
from Products.MimetypesRegistry import MimeTypeItem
except ImportError:
@@ -55,6 +57,7 @@
print >>out, "Added 'Kupu' to available editors in Plone."
install_libraries(self, out)
install_configlet(self, out)
+ uninstall_transform(self, out)
install_transform(self, out)
install_resources(self, out)
install_customisation(self, out)
@@ -197,11 +200,7 @@
pass # Get KeyError when registering duplicate configlet.
def install_transform(self, out):
- try:
- util.install_transform(self)
- util.remove_transform(self) # Transform is installed but disabled by default.
- except (NameError,AttributeError):
- print >>out, "Transform not installed."
+ install_mimetype_and_transforms(self)
def install_customisation(self, out):
"""Default settings may be stored in a customisation policy script so
@@ -244,10 +243,8 @@
return out.getvalue()
def uninstall_transform(self, out):
- transform_tool = getToolByName(self, 'portal_transforms')
try:
util.remove_transform(self)
- transform_tool.manage_delObjects(['html-to-captioned', 'captioned-to-html'])
except:
print >>out, "Transform not removed"
pass
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml Sun Sep 26 00:02:30 2010
@@ -5,6 +5,9 @@
+
+
+
" % (atag, d['tag'])
-
- result = template(**d)
- if isinstance(result, str):
- result = result.decode('utf8')
-
- return result
-
- return match.group(0) # No change
-
- if isinstance(data, str):
- # Transform for end user output should avoid erroring
- # if it can, so use 'replace' on decode.
- data = data.decode('utf8', 'replace')
- html = IMAGE_PATTERN.sub(replaceImage, data)
-
- # Replace urls that use UIDs with human friendly urls.
- def replaceUids(match):
- tag = match.group('tag')
- uid = match.group('uid')
- target = self.resolveuid(context, rc, uid)
- if target is not None:
- if getattr(aq_base(target), 'getRemoteUrl', None) is not None:
- url = target.getRemoteUrl()
- else:
- url = target.absolute_url_path()
- return tag + url
- return match.group(0)
-
- html = UID_PATTERN.sub(replaceUids, html)
- if isinstance(html, unicode):
- html = html.encode('utf8') # Indexing requires a string result.
- idata.setData(html)
- return idata
-
- # No context to use for replacements, so don't bother trying.
- idata.setData(data)
- return idata
+ res = apply_filters(filters, orig)
+ data.setData(res)
+ return data
def register():
return HTMLToCaptioned()
-def initialize():
- engine = getToolByName(portal, 'portal_transforms')
- engine.registerTransform(register())
+
+class ImageCaptioningEnabler(object):
+ implements(IImageCaptioningEnabler)
+
+ @property
+ def available(self):
+ kupu = getToolByName(self.context, 'kupu_library_tool')
+ return kupu.getLinkbyuid()
+
+
+class ResolveUidsEnabler(object):
+ implements(IResolveUidsEnabler)
+
+ @property
+ def available(self):
+ kupu = getToolByName(self.context, 'kupu_library_tool')
+ return kupu.getCaptioning()
+
ATTR_HREF = ATTR_VALUE % 'href'
LINK_PATTERN = re.compile(
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/plonelibrarytool.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/plonelibrarytool.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/plonelibrarytool.py Sun Sep 26 00:02:30 2010
@@ -866,11 +866,6 @@
if captioning is not None:
self.captioning = bool(captioning)
- if self.linkbyuid or self.getCaptioning():
- util.install_transform(self)
- else:
- util.remove_transform(self)
-
if REQUEST:
REQUEST.RESPONSE.redirect(self.absolute_url() + '/kupu_config')
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/profiles/default/metadata.xml
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/profiles/default/metadata.xml (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/profiles/default/metadata.xml Sun Sep 26 00:02:30 2010
@@ -1,4 +1,7 @@
- 1.4.16
+ 2
+
+ profile-plone.outputfilters:default
+
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py Sun Sep 26 00:02:30 2010
@@ -3,7 +3,6 @@
from App.Common import package_home
from Products.CMFCore.utils import minimalpath
from Products.CMFCore.DirectoryView import createDirectoryView
-from Products.MimetypesRegistry import MimeTypeItem
from Products.kupu import kupu_globals
try:
from App.class_init import InitializeClass
@@ -12,6 +11,10 @@
kupu_package_dir = package_home(kupu_globals)
+from plone.outputfilters.setuphandlers import unregister_mimetype
+from plone.outputfilters.setuphandlers import unregister_transform
+from plone.outputfilters.setuphandlers import unregister_transform_policy
+
# trying to get rid of some deprecation warnings in a
# backwards compatible way
from Products.CMFCore.utils import getToolByName
@@ -83,57 +86,16 @@
MT_CAPTIONED = 'text/x-html-captioned'
def install_transform(self):
- """Install the uid transform and set up the policy chain to include it when going from html to safe html"""
- mimetypes_tool = getToolByName(self, 'mimetypes_registry')
- if not mimetypes_tool.lookup(MT_CAPTIONED):
- newtype = MimeTypeItem.MimeTypeItem('HTML with captioned images',
- (MT_CAPTIONED,), ('html-captioned',), 0)
- mimetypes_tool.register(newtype)
-
- transform_tool = getToolByName(self, 'portal_transforms')
- if not hasattr(transform_tool, UID_TRANSFORM):
- transform_tool.manage_addTransform(UID_TRANSFORM, 'Products.kupu.plone.html2captioned')
-
- if not hasattr(transform_tool, INVERSE_TRANSFORM):
- transform_tool.manage_addTransform(INVERSE_TRANSFORM, 'Products.PortalTransforms.transforms.identity')
- # Need to commit a subtransaction here, otherwise setting the
- # parameters will cause an exception when the transaction is
- # finally comitted.
- try:
- import transaction
- transaction.savepoint(optimistic=True)
- except ImportError:
- get_transaction().commit(1)
-
- inverse = transform_tool[INVERSE_TRANSFORM]
- if inverse.get_parameter_value('inputs') != [MT_CAPTIONED] or inverse.get_parameter_value('output') != 'text/html':
- inverse.set_parameters(inputs=[MT_CAPTIONED], output='text/html')
-
- # Set policy
- policies = [ (mimetype, required) for (mimetype, required) in transform_tool.listPolicies()
- if mimetype==MT_SAFE ]
- required = [UID_TRANSFORM]
- if policies:
- if not UID_TRANSFORM in required:
- required.append(UID_TRANSFORM)
-
- transform_tool.manage_delPolicies([MT_SAFE])
- transform_tool.manage_addPolicy(MT_SAFE, required)
+ """ Deprecated -- we now use the transforms from plone.outputfilters instead. """
+ # XXX deprecation warning
def remove_transform(self):
- """Disable the UID transform: remove the policy but leave everything else intact."""
- transform_tool = getToolByName(self, 'portal_transforms', None)
- if transform_tool is None:
- return
- policies = [ (mimetype, required) for (mimetype, required) in transform_tool.listPolicies() if mimetype==MT_SAFE ]
- if not policies:
- return
- required = list(policies[0][1])
- if UID_TRANSFORM in required:
- required.remove(UID_TRANSFORM)
- transform_tool.manage_delPolicies([MT_SAFE])
- if required:
- transform_tool.manage_addPolicy(MT_SAFE, required)
+ """Remove outdated transforms."""
+ unregister_transform(self, UID_TRANSFORM)
+ unregister_transform(self, INVERSE_TRANSFORM)
+ unregister_mimetype(self, MT_CAPTIONED)
+ unregister_transform_policy(self, MT_SAFE)
+
try:
from zope.i18nmessageid import Message
From davisagli at codespeak.net Sun Sep 26 00:35:13 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 00:35:13 +0200 (CEST)
Subject: [kupu-checkins] r77370 - in kupu/trunk/kupu/plone: . tests
Message-ID: <20100925223513.D4BA0282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 00:35:12 2010
New Revision: 77370
Modified:
kupu/trunk/kupu/plone/librarytool.py
kupu/trunk/kupu/plone/tests/test_librarymanager.py
kupu/trunk/kupu/plone/util.py
Log:
fix tests that were broken in r68485
Modified: kupu/trunk/kupu/plone/librarytool.py
==============================================================================
--- kupu/trunk/kupu/plone/librarytool.py (original)
+++ kupu/trunk/kupu/plone/librarytool.py Sun Sep 26 00:35:12 2010
@@ -18,6 +18,7 @@
from Products.CMFCore.Expression import Expression, createExprContext
from Products.PageTemplates.Expressions import getEngine, SecureModuleImporter
from Products.kupu.plone.interfaces import IKupuLibraryTool
+from Products.kupu.plone.util import Message, translate
from Products.CMFCore.utils import getToolByName
from zope.interface import implements
@@ -82,7 +83,7 @@
lib[key] = library[key](expr_context)
if key == 'title':
# translate title in the "kupu" domain
- lib[key] = self.translate(lib[key], domain='kupu')
+ lib[key] = translate(Message(lib[key], domain='kupu'), self.REQUEST)
libraries.append(lib)
return tuple(libraries)
Modified: kupu/trunk/kupu/plone/tests/test_librarymanager.py
==============================================================================
--- kupu/trunk/kupu/plone/tests/test_librarymanager.py (original)
+++ kupu/trunk/kupu/plone/tests/test_librarymanager.py Sun Sep 26 00:35:12 2010
@@ -45,7 +45,7 @@
def makeLibraries(self):
# need to use Plone specific tool for Acquisition. Sucks.
libs = PloneKupuLibraryTool()
- self.portal = FakePortal()
+ self.portal = Acquisition.ImplicitAcquisitionWrapper(FakePortal(), self.app.REQUEST)
context = FakeContextObject()
libs = libs.__of__(self.portal)
self.context = context.__of__(self.portal)
Modified: kupu/trunk/kupu/plone/util.py
==============================================================================
--- kupu/trunk/kupu/plone/util.py (original)
+++ kupu/trunk/kupu/plone/util.py Sun Sep 26 00:35:12 2010
@@ -143,6 +143,8 @@
return i18n_translate(label, context=context)
return label
except ImportError:
+ def Message(msg, *args, **kw):
+ return msg
def translate(label, context):
return label
From davisagli at codespeak.net Sun Sep 26 00:37:07 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 00:37:07 +0200 (CEST)
Subject: [kupu-checkins] r77371 - in
kupu/branch/plone-plip9938-output-filters/kupu: . plone plone/tests
Message-ID: <20100925223707.2B8E5282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 00:37:05 2010
New Revision: 77371
Modified:
kupu/branch/plone-plip9938-output-filters/kupu/ (props changed)
kupu/branch/plone-plip9938-output-filters/kupu/plone/librarytool.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_librarymanager.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py
Log:
merge test fix from trunk
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/librarytool.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/librarytool.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/librarytool.py Sun Sep 26 00:37:05 2010
@@ -18,6 +18,7 @@
from Products.CMFCore.Expression import Expression, createExprContext
from Products.PageTemplates.Expressions import getEngine, SecureModuleImporter
from Products.kupu.plone.interfaces import IKupuLibraryTool
+from Products.kupu.plone.util import Message, translate
from Products.CMFCore.utils import getToolByName
from zope.interface import implements
@@ -82,7 +83,7 @@
lib[key] = library[key](expr_context)
if key == 'title':
# translate title in the "kupu" domain
- lib[key] = self.translate(lib[key], domain='kupu')
+ lib[key] = translate(Message(lib[key], domain='kupu'), self.REQUEST)
libraries.append(lib)
return tuple(libraries)
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_librarymanager.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_librarymanager.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_librarymanager.py Sun Sep 26 00:37:05 2010
@@ -45,7 +45,7 @@
def makeLibraries(self):
# need to use Plone specific tool for Acquisition. Sucks.
libs = PloneKupuLibraryTool()
- self.portal = FakePortal()
+ self.portal = Acquisition.ImplicitAcquisitionWrapper(FakePortal(), self.app.REQUEST)
context = FakeContextObject()
libs = libs.__of__(self.portal)
self.context = context.__of__(self.portal)
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/util.py Sun Sep 26 00:37:05 2010
@@ -105,6 +105,8 @@
return i18n_translate(label, context=context)
return label
except ImportError:
+ def Message(msg, *args, **kw):
+ return msg
def translate(label, context):
return label
From davisagli at codespeak.net Sun Sep 26 06:44:24 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 06:44:24 +0200 (CEST)
Subject: [kupu-checkins] r77372 -
kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer
Message-ID: <20100926044424.BAB3D282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 06:44:22 2010
New Revision: 77372
Removed:
kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/kupu_captioned_image.pt
Log:
remove kupu_captioned_image so the template in plone.outputfilters is used instead
Deleted: /kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/kupu_captioned_image.pt
==============================================================================
--- /kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/kupu_captioned_image.pt Sun Sep 26 06:44:22 2010
+++ (empty file)
@@ -1,9 +0,0 @@
-
-- [image goes here]
- -
-
-
From davisagli at codespeak.net Sun Sep 26 06:49:18 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Sun, 26 Sep 2010 06:49:18 +0200 (CEST)
Subject: [kupu-checkins] r77373 - in
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests: .
input output
Message-ID: <20100926044918.49BA4282BAD@codespeak.net>
Author: davisagli
Date: Sun Sep 26 06:49:16 2010
New Revision: 77373
Removed:
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/input/
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/output/
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_html2captioned.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/umlauts-testdata.txt
Modified:
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py
Log:
remove tests that got moved to plone.outputfilters
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py Sun Sep 26 06:49:16 2010
@@ -85,7 +85,7 @@
obj.setText('Sample document text')
for k, v in kwds.items():
field = obj.getField(k)
- mutator = field.getMutator(obj)(v)
+ field.getMutator(obj)(v)
obj.reindexObject()
@@ -115,27 +115,13 @@
# The image needs a fixed uid for the transform tests.
f.gamma._setUID('104ede98d4c7c8eaeaa3b984f7395979')
- self.create('umlauts', 'Image', f)
- umlauts = f.umlauts
- umlauts.setImage(open(join(PREFIX,'image.jpg'),'rb').read())
- title, description = open(join(PREFIX, 'umlauts-testdata.txt')).read().strip().split(';')
- umlauts.setTitle(title)
- umlauts.setDescription(description)
- # The image needs a fixed uid for the transform tests.
- f.umlauts._setUID('215fef98e5d7c9ebebb4c984f7395979')
-
- f.reindexObject()
-
sub1 = self.create('sub1', 'Folder', f)
sub1.setSubject(['aspidistra'])
sub1.reindexObject()
sub2 = self.create('sub2', 'Folder', f)
self.create('delta', 'Folder', sub2)
- portal = self.portal
tool = self.portal.kupu_library_tool
- types = tool.zmi_get_resourcetypes()
- #tool.deleteResource([ t.name for t in types])
for k,v in RESOURCES.items():
tool.addResourceType(k, [MapType(t) for t in v])
Deleted: /kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_html2captioned.py
==============================================================================
--- /kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_html2captioned.py Sun Sep 26 06:49:16 2010
+++ (empty file)
@@ -1,131 +0,0 @@
-import os, sys
-if __name__ == '__main__':
- execfile(os.path.join(sys.path[0], 'framework.py'))
-
-from kuputestcase import *
-
-from unittest import TestCase, TestSuite, main, makeSuite
-from os.path import join, abspath, dirname
-
-from Products.PortalTransforms.tests.test_transforms import *
-try:
- from Products.PortalTransforms.z3.interfaces import IDataStream
-except ImportError:
- IDataStream = None
-from Products.PortalTransforms.tests.utils import normalize_html
-from Products.kupu import kupu_globals
-
-PREFIX = abspath(dirname(__file__))
-
-def input_file_path(file):
- return join(PREFIX, 'input', file)
-
-def output_file_path(file):
- return join(PREFIX, 'output', file)
-
-tests =(
-('Products.kupu.plone.html2captioned', "minimal.in", "minimal.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "simple.in", "simple.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "baduid.in", "baduid.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "notquoted.in", "notquoted.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "notcaptioned.in", "notcaptioned.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "linked.in", "linked.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "umlauts.in", "umlauts.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "umlauts2.in", "umlauts2.out", normalize_html, 0),
-('Products.kupu.plone.html2captioned', "imagemap.in", "imagemap.out", normalize_html, 0),
- )
-
-class TransformTest(KupuTestCase):
- def do_convert(self, filename=None):
- if filename is None and exists(self.output + '.nofilename'):
- output = self.output + '.nofilename'
- else:
- output = self.output
- input = open(self.input)
- orig = input.read()
- input.close()
- data = datastream(self.transform.name())
- res_data = self.transform.convert(orig, data, filename=filename, context=self.portal)
- if IDataStream is not None:
- self.assert_(IDataStream.providedBy(res_data))
- got = res_data.getData()
- try:
- output = open(output)
- except IOError:
- import sys
- print >>sys.stderr, 'No output file found.'
- print >>sys.stderr, 'File %s created, check it !' % self.output
- output = open(output, 'w')
- output.write(got)
- output.close()
- self.assert_(0)
- expected = output.read()
- raw_got, raw_expected = got, expected
- if self.normalize is not None:
- expected = self.normalize(expected)
- got = self.normalize(got)
- output.close()
-
- self.assertEquals(got, expected,
- 'Got:\n[%s]\n\n!=\n\nExpected:\n[%s]\n\nIN %s(%s)' % (
- got, expected, self.transform.name(), self.input))
- self.assertEquals(self.subobjects, len(res_data.getSubObjects()),
- 'Subobjects:\n%s\n\n!=\n\nLength: %s\n\nIN %s(%s)' % (
- self.subobjects, len(res_data.getSubObjects()), self.transform.name(), self.input))
-
- def testSame(self):
- self.setup_content()
- self.do_convert(filename=self.input)
-
- def testSameNoFilename(self):
- self.setup_content()
- self.do_convert()
-
- def __repr__(self):
- return self.transform.name()
-
-TR_NAMES = None
-
-def make_tests(test_descr):
- """generate tests classes from test info
-
- return the list of generated test classes
- """
- tests = []
- for _transform, tr_input, tr_output, _normalize, _subobjects in test_descr:
- # load transform if necessary
- if type(_transform) is type(''):
- try:
- _transform = load(_transform).register()
- except:
- import traceback
- traceback.print_exc()
- continue
- #
- if TR_NAMES is not None and not _transform.name() in TR_NAMES:
- print 'skip test for', _transform.name()
- continue
-
- class TransformTestSubclass(TransformTest):
- input = input_file_path(tr_input)
- output = output_file_path(tr_output)
- transform = _transform
- normalize = lambda x, y: _normalize(y)
- subobjects = _subobjects
-
- tests.append(TransformTestSubclass)
-
- return tests
-
-def test_suite():
- t = [ (_transform,
- input_file_path(tr_input),
- output_file_path(tr_output),
- _normalize,
- _subobjects)
- for _transform, tr_input, tr_output, _normalize, _subobjects in tests ]
-
- return TestSuite([makeSuite(test) for test in make_tests(t)])
-
-if __name__=='__main__':
- main(defaultTest='test_suite')
Deleted: /kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/umlauts-testdata.txt
==============================================================================
--- /kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/umlauts-testdata.txt Sun Sep 26 06:49:16 2010
+++ (empty file)
@@ -1 +0,0 @@
-Kupu Test Image ???;Test image caption ???
From davisagli at codespeak.net Mon Sep 27 01:53:04 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Mon, 27 Sep 2010 01:53:04 +0200 (CEST)
Subject: [kupu-checkins] r77398 -
kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer
Message-ID: <20100926235304.4A12E282BAD@codespeak.net>
Author: davisagli
Date: Mon Sep 27 01:53:01 2010
New Revision: 77398
Removed:
kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/resolveuid.py
Log:
remove resolveuid script; it's now a browser view in plone.outputfilters
Deleted: /kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/resolveuid.py
==============================================================================
--- /kupu/branch/plone-plip9938-output-filters/kupu/plone/kupu_plone_layer/resolveuid.py Mon Sep 27 01:53:01 2010
+++ (empty file)
@@ -1,39 +0,0 @@
-## Script (Python) "resolveuid"
-##title=Retrieve an object using its UID
-##bind container=container
-##bind context=context
-##bind namespace=
-##bind script=script
-##bind subpath=traverse_subpath
-##parameters=
-# (reference_url is supposed to do the same thing, but is broken)
-from Products.CMFCore.utils import getToolByName
-from Products.PythonScripts.standard import html_quote
-from AccessControl import Unauthorized
-
-request = context.REQUEST
-response = request.RESPONSE
-
-try:
- uuid = traverse_subpath.pop(0)
-except:
- raise Unauthorized, context
-
-reference_tool = getToolByName(context, 'reference_catalog')
-obj = reference_tool.lookupObject(uuid)
-if not obj:
- hook = getattr(context, 'kupu_resolveuid_hook', None)
- if hook:
- obj = hook(uuid)
- if not obj:
- return response.notFoundError('''The link you followed appears to be broken''')
-
-if traverse_subpath:
- traverse_subpath.insert(0, obj.absolute_url())
- target = '/'.join(traverse_subpath)
-else:
- target = obj.absolute_url()
-
-if request.QUERY_STRING:
- target += '?' + request.QUERY_STRING
-return response.redirect(target, status=301)
From davisagli at codespeak.net Thu Sep 30 05:54:34 2010
From: davisagli at codespeak.net (davisagli at codespeak.net)
Date: Thu, 30 Sep 2010 05:54:34 +0200 (CEST)
Subject: [kupu-checkins] r77481 - in
kupu/branch/plone-plip9938-output-filters/kupu: . Extensions
plone plone/tests
Message-ID: <20100930035434.86BFE282B9E@codespeak.net>
Author: davisagli
Date: Thu Sep 30 05:54:31 2010
New Revision: 77481
Added:
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_outputfilters.py
Modified:
kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py
kupu/branch/plone-plip9938-output-filters/kupu/configure.zcml
kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml
kupu/branch/plone-plip9938-output-filters/kupu/plone/html2captioned.py
kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py
Log:
integration test for outputfilters use; actually load the ZCML that was added a long time ago
Modified: kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/Extensions/Install.py Thu Sep 30 05:54:31 2010
@@ -29,11 +29,6 @@
from plone.outputfilters.setuphandlers import install_mimetype_and_transforms
-try:
- from Products.MimetypesRegistry import MimeTypeItem
-except ImportError:
- pass # Plone not available
-
kupu_package_dir = package_home(kupu_globals)
def install_plone(self, out):
Modified: kupu/branch/plone-plip9938-output-filters/kupu/configure.zcml
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/configure.zcml (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/configure.zcml Thu Sep 30 05:54:31 2010
@@ -5,4 +5,6 @@
Zope3 specific stuff -->
+
+
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/configure.zcml Thu Sep 30 05:54:31 2010
@@ -3,17 +3,22 @@
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:zcml="http://namespaces.zope.org/zcml">
-
+
+
+
+
+
+
+
+
-
-
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/html2captioned.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/html2captioned.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/html2captioned.py Thu Sep 30 05:54:31 2010
@@ -139,7 +139,7 @@
@property
def available(self):
- kupu = getToolByName(self.context, 'kupu_library_tool')
+ kupu = getToolByName(getSite(), 'kupu_library_tool')
return kupu.getLinkbyuid()
@@ -148,7 +148,7 @@
@property
def available(self):
- kupu = getToolByName(self.context, 'kupu_library_tool')
+ kupu = getToolByName(getSite(), 'kupu_library_tool')
return kupu.getCaptioning()
Modified: kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py
==============================================================================
--- kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py (original)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/kuputestcase.py Thu Sep 30 05:54:31 2010
@@ -14,10 +14,18 @@
execfile(os.path.join(sys.path[0], 'framework.py'))
from Products.PloneTestCase import PloneTestCase
+from Products.PloneTestCase.layer import onsetup
from Products.PloneTestCase.ptc import portal_owner
+from Products.Five import zcml
PloneTestCase.setupPloneSite(products=['ATContentTypes', 'kupu'])
+ at onsetup
+def setup_product():
+ import Products.kupu.plone
+ zcml.load_config('configure.zcml', Products.kupu.plone)
+setup_product()
+
from AccessControl.SecurityManagement import newSecurityManager
try:
from Products.ATContentTypes.lib import constraintypes
@@ -98,22 +106,12 @@
f = self.create('folder', 'Folder')
self.create('alpha', 'Document', f, subject=['aspidistra'])
- alpha = f.alpha
- # The dcoument needs a fixed uid for the transform tests.
- alpha._setUID('828cfdd7e4ee51e223d0ae0672412633')
-
self.create('beta', 'Document', f, subject=['aspidistra'])
- beta = f.beta
- # The dcoument needs a fixed uid for the transform tests.
- beta._setUID('f0249e0f3f2ff915d707e9d64a3e3621')
-
self.create('gamma', 'Image', f)
gamma = f.gamma
gamma.setImage(open(join(PREFIX,'image.jpg'),'rb').read())
- gamma.setTitle('Kupu Test Image')
- gamma.setDescription('Test image caption')
- # The image needs a fixed uid for the transform tests.
- f.gamma._setUID('104ede98d4c7c8eaeaa3b984f7395979')
+ gamma.setTitle('Image')
+ gamma.setDescription('My caption')
sub1 = self.create('sub1', 'Folder', f)
sub1.setSubject(['aspidistra'])
Added: kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_outputfilters.py
==============================================================================
--- (empty file)
+++ kupu/branch/plone-plip9938-output-filters/kupu/plone/tests/test_outputfilters.py Thu Sep 30 05:54:31 2010
@@ -0,0 +1,47 @@
+from Products.kupu.plone.tests.kuputestcase import KupuTestCase
+
+class OutputFiltersIntegrationTestCase(KupuTestCase):
+
+ def testFilters(self):
+ self.setup_content()
+
+ # Let's transform some text/html to text/x-html-safe, which should
+ # trigger the filters.
+ text = """
+
+
+
+ 
+ This is line 1
+ This is line 2
+
+""" % self.portal.folder.gamma.UID()
+ transformed_text = self.portal.portal_transforms.convertTo(
+ 'text/x-html-safe', text, mimetype='text/html', context=self.portal)
+ self.assertEqual("""
+
+
+ - My alt text
+
+
+
+
+ - My caption
+
+
+ This is line 1
+ This is line 2
+ """, str(transformed_text))
+
+ # now turn off the settings and make sure the filters are not applied
+ self.kupu.configure_kupu(captioning=True, linkbyuid=True)
+ transformed_text_2 = self.portal.portal_transforms.convertTo(
+ 'text/x-html-safe', text, mimetype='text/html', context=self.portal)
+ self.assertNotEqual(transformed_text_2, transformed_text)
+
+
+from unittest import TestSuite, makeSuite
+def test_suite():
+ suite = TestSuite()
+ suite.addTest(makeSuite(OutputFiltersIntegrationTestCase))
+ return suite