[Checkins] SVN: lovely.tag/trunk/src/lovely/tag/ Prepared the
adapters to allow subclasses to provide a name for the tagging
Jürgen Kartnaller
juergen at kartnaller.at
Tue Sep 26 04:44:48 EDT 2006
Log message for revision 70381:
Prepared the adapters to allow subclasses to provide a name for the tagging
engine.
Updated sampledata to the latest version of z3c.sampledata .
Changed:
U lovely.tag/trunk/src/lovely/tag/README.txt
U lovely.tag/trunk/src/lovely/tag/browser/README.txt
U lovely.tag/trunk/src/lovely/tag/ftesting.zcml
U lovely.tag/trunk/src/lovely/tag/sampledata.py
U lovely.tag/trunk/src/lovely/tag/tagging.py
-=-
Modified: lovely.tag/trunk/src/lovely/tag/README.txt
===================================================================
--- lovely.tag/trunk/src/lovely/tag/README.txt 2006-09-26 05:09:39 UTC (rev 70380)
+++ lovely.tag/trunk/src/lovely/tag/README.txt 2006-09-26 08:44:45 UTC (rev 70381)
@@ -291,6 +291,36 @@
>>> sorted(tagging.getUsers(tags=(u'USA',)))
[u'jodok', u'srichter']
+Using Named Tagging Engines
+---------------------------
+
+ >>> namedEngine = tag.TaggingEngine()
+ >>> zope.component.provideUtility(namedEngine, tag.interfaces.ITaggingEngine,
+ ... name='IAmNamed')
+
+ >>> class INamedTagging(tag.interfaces.ITagging):
+ ... pass
+ >>> class NamedTagging(tag.Tagging):
+ ... zope.interface.implements(INamedTagging)
+ ... zope.component.adapts(tag.interfaces.ITaggable)
+ ... engineName = 'IAmNamed'
+ >>> zope.component.provideAdapter(NamedTagging,
+ ... (tag.interfaces.ITaggable,),
+ ... INamedTagging)
+ >>> namedTagging = INamedTagging(image)
+ >>> namedTagging.tags = ['named1', 'named2']
+ >>> sorted(namedTagging.getTags())
+ []
+ >>> namedTagging.update(u'jukart', [u'works', u'hard'])
+ >>> sorted(namedTagging.getTags())
+ [u'hard', u'works']
+
+The new tags are not in the unnamed tagging engine.
+
+ >>> sorted(tagging.getTags())
+ [u'USA', u'home', u'vacation']
+
+
IUserTagging
------------
Modified: lovely.tag/trunk/src/lovely/tag/browser/README.txt
===================================================================
--- lovely.tag/trunk/src/lovely/tag/browser/README.txt 2006-09-26 05:09:39 UTC (rev 70380)
+++ lovely.tag/trunk/src/lovely/tag/browser/README.txt 2006-09-26 08:44:45 UTC (rev 70381)
@@ -22,7 +22,7 @@
>>> browser.open('http://localhost/tags/@@tagCloud')
>>> print browser.contents
<div class="tagCloud">
- <span class="tag1">1970s(1)</span>
+ <span class="tag1">adam(1)</span>
...
</div>
@@ -32,10 +32,9 @@
Shows a tag cloud of all related tags of a tag.
- >>> browser.open('http://localhost/tags/@@relatedTagCloud?tagname=1970s')
+ >>> browser.open('http://localhost/tags/@@relatedTagCloud?tagname=adam')
>>> print browser.contents
<div class="tagCloud">
- <span class="tag1">city(1)</span>
- ...
+ <span class="tag1">mysteries(1)</span>
</div>
Modified: lovely.tag/trunk/src/lovely/tag/ftesting.zcml
===================================================================
--- lovely.tag/trunk/src/lovely/tag/ftesting.zcml 2006-09-26 05:09:39 UTC (rev 70380)
+++ lovely.tag/trunk/src/lovely/tag/ftesting.zcml 2006-09-26 08:44:45 UTC (rev 70381)
@@ -64,7 +64,6 @@
<include package="zope.formlib"/>
<include package="z3c.sampledata"/>
- <include package="z3c.sampledata" file="site.zcml"/>
<include package="lovely.tag"/>
<include package="lovely.tag" file="sampledata.zcml"/>
Modified: lovely.tag/trunk/src/lovely/tag/sampledata.py
===================================================================
--- lovely.tag/trunk/src/lovely/tag/sampledata.py 2006-09-26 05:09:39 UTC (rev 70380)
+++ lovely.tag/trunk/src/lovely/tag/sampledata.py 2006-09-26 08:44:45 UTC (rev 70381)
@@ -63,7 +63,7 @@
dependencies = []
schema = None
- def generate(self, context, param={}, seed=None):
+ def generate(self, context, param={}, dataSource=None, seed=None):
hooks.setSite(context)
engine = component.queryUtility(tag.interfaces.ITaggingEngine)
@@ -82,7 +82,7 @@
dependencies = []
schema = None
- def generate(self, context, param={}, seed=None):
+ def generate(self, context, param={}, dataSource=None, seed=None):
engine = component.getUtility(tag.interfaces.ITaggingEngine)
return generate(20, engine, seed)
Modified: lovely.tag/trunk/src/lovely/tag/tagging.py
===================================================================
--- lovely.tag/trunk/src/lovely/tag/tagging.py 2006-09-26 05:09:39 UTC (rev 70380)
+++ lovely.tag/trunk/src/lovely/tag/tagging.py 2006-09-26 08:44:45 UTC (rev 70381)
@@ -22,10 +22,13 @@
from zope.security.management import getInteraction
from lovely.tag import interfaces
+
class Tagging(object):
zope.interface.implements(interfaces.ITagging)
zope.component.adapts(interfaces.ITaggable)
+ engineName = ''
+
def __init__(self, context):
self.context = context
@@ -35,7 +38,8 @@
ids.register(self.context)
self._id = ids.getId(self.context)
- self._engine = zope.component.getUtility(interfaces.ITaggingEngine)
+ self._engine = zope.component.getUtility(interfaces.ITaggingEngine,
+ name=self.engineName)
def update(self, user, tags):
"""See interfaces.ITagging"""
@@ -49,11 +53,13 @@
"""See interfaces.ITagging"""
return self._engine.getUsers(items=(self._id,), tags=tags)
+
class UserTagging(object):
-
zope.interface.implements(interfaces.IUserTagging)
zope.component.adapts(interfaces.ITaggable)
+ engineName = ''
+
def __init__(self, context):
self.context = context
ids = zope.component.getUtility(intid.interfaces.IIntIds)
@@ -61,7 +67,8 @@
if self._id is None:
ids.register(self.context)
self._id = ids.getId(self.context)
- self._engine = zope.component.getUtility(interfaces.ITaggingEngine)
+ self._engine = zope.component.getUtility(interfaces.ITaggingEngine,
+ name=self.engineName)
@property
def _pid(self):
@@ -70,7 +77,7 @@
return participations[0].principal.id
else:
raise ValueError, "User not found"
-
+
@apply
def tags():
def fget(self):
More information about the Checkins
mailing list