уведомления об изменении couchdb-python

Я пытаюсь использовать couchdb.py для создания и обновления баз данных. Я хочу внести изменения в уведомления, желательно в непрерывном режиме. Запустив тестовый код, опубликованный ниже, я не вижу, как схема изменений работает в python.

class SomeDocument(Document):

#############################################################################

#    def __init__ (self):

    intField  = IntegerField()#for now - this should to be an integer
    textField = TextField()

couch = couchdb.Server('http://127.0.0.1:5984')
databasename = 'testnotifications'

if databasename in couch:
    print 'Deleting then creating database ' + databasename + ' from server'
    del couch[databasename]
    db = couch.create(databasename)
else:
    print 'Creating database ' + databasename + ' on server'
    db = couch.create(databasename)

for iii in range(5):

    doc = SomeDocument(intField=iii,textField='somestring'+str(iii))
    doc.store(db)
    print doc.id + '\t' + doc.rev

something = db.changes(feed='continuous',since=4,heartbeat=1000)

for iii in range(5,10):

    doc = SomeDocument(intField=iii,textField='somestring'+str(iii))
    doc.store(db)
    time.sleep(1)
    print something
    print db.changes(since=iii-1)

Значение

db.changes(since=iii-1) 

возвращает интересующую информацию, но в формате, из которого я не понял, как извлечь порядковые номера или номера редакций, или информацию о документе:

{u'last_seq': 6, u'results': [{u'changes': [{u'rev': u'1-9c1e4df5ceacada059512a8180ead70e'}], u'id': u'7d0cb1ccbfd9675b4b6c1076f40049a8', u'seq': 5}, {u'changes': [{u'rev': u'1-bbe2953a5ef9835a0f8d548fa4c33b42'}], u'id': u'7d0cb1ccbfd9675b4b6c1076f400560d', u'seq': 6}]}

Между тем, код I ' m действительно заинтересован в использовании:

db.changes(feed='continuous',since=4,heartbeat=1000)

Возвращает объект-генератор и, похоже, не предоставляет уведомления по мере их поступления, как предлагает руководство CouchDB ....

Кто-нибудь использовал изменения в couchdb -python успешно?

8
задан radpotato 20 October 2011 в 18:23
поделиться