[Checkins] SVN: Sandbox/luciano/kirbi/ added ObjectModified event
to index books updated via XML-RPC
Luciano Ramalho
luciano at ramalho.org
Sat Aug 11 15:17:43 EDT 2007
Log message for revision 78749:
added ObjectModified event to index books updated via XML-RPC
Changed:
_U Sandbox/luciano/kirbi/
U Sandbox/luciano/kirbi/src/kirbi/demo/collection.py
U Sandbox/luciano/kirbi/src/kirbi/pac.py
-=-
Property changes on: Sandbox/luciano/kirbi
___________________________________________________________________
Name: svn:ignore
- develop-eggs
eggs
bin
parts
.installed.cfg
+ *.kpf
develop-eggs
eggs
bin
parts
.installed.cfg
Modified: Sandbox/luciano/kirbi/src/kirbi/demo/collection.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/demo/collection.py 2007-08-11 17:45:17 UTC (rev 78748)
+++ Sandbox/luciano/kirbi/src/kirbi/demo/collection.py 2007-08-11 19:17:42 UTC (rev 78749)
@@ -1,3 +1,4 @@
+#!/usr/bin/env python
# -*- coding: utf-8 -*-
collection = [
@@ -1736,3 +1737,20 @@
'publisher': u'Addison-Wesley Professional',
'title': u'UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition'}
]
+
+if __name__=='__main__':
+
+ from sys import argv
+ if len(argv) == 1:
+ print 'usage:'
+ print ' %s <field1> [<field2> [<field3>...]]' % argv[0]
+ print
+ print ' where <fieldN> is one of:'
+ print ' ' + ' '.join(sorted(collection[0].keys()))
+ else:
+ if len(argv) > 2: # if more than 1 field, print field names
+ print '#',
+ print '\t'.join([field for field in argv[1:]])
+ for book in collection:
+ fields = []
+ print '\t'.join([book[field] for field in argv[1:]])
Modified: Sandbox/luciano/kirbi/src/kirbi/pac.py
===================================================================
--- Sandbox/luciano/kirbi/src/kirbi/pac.py 2007-08-11 17:45:17 UTC (rev 78748)
+++ Sandbox/luciano/kirbi/src/kirbi/pac.py 2007-08-11 19:17:42 UTC (rev 78749)
@@ -1,8 +1,9 @@
import grok
-from book import Book
+from book import Book, IBook
from zope.app.container.contained import NameChooser as BaseNameChooser
from zope.app.container.interfaces import INameChooser
from zope.interface import implements
+from zope import event, lifecycleevent
from zope import schema
from operator import attrgetter
from isbn import isValidISBN, isValidISBN10, convertISBN10toISBN13, filterDigits
@@ -70,6 +71,7 @@
book = self[isbn13]
book.update(**book_dict)
del self.pending_isbns[isbn13]
+ event.notify(lifecycleevent.ObjectModifiedEvent(book, IBook))
updated += 1
return updated
More information about the Checkins
mailing list