Package coprs :: Module whoosheers
[hide private]
[frames] | no frames]

Source Code for Module coprs.whoosheers

 1  import whoosh 
 2   
 3  from flask.ext.whooshee import AbstractWhoosheer 
 4   
 5  from coprs import models 
 6  from coprs import whooshee 
7 8 9 @whooshee.register_whoosheer 10 -class CoprUserWhoosheer(AbstractWhoosheer):
11 schema = whoosh.fields.Schema( 12 copr_id=whoosh.fields.NUMERIC(stored=True, unique=True), 13 user_id=whoosh.fields.NUMERIC(stored=True), 14 username=whoosh.fields.TEXT(), 15 coprname=whoosh.fields.TEXT(), 16 description=whoosh.fields.TEXT(), 17 instructions=whoosh.fields.TEXT()) 18 19 models = [models.Copr, models.User] 20 21 @classmethod
22 - def update_user(cls, writer, user):
23 # TODO: this is not needed now, as users can't change names, but may be 24 # needed later 25 pass
26 27 @classmethod
28 - def update_copr(cls, writer, copr):
29 writer.update_document(copr_id=copr.id, 30 user_id=copr.owner.id, 31 username=copr.owner.name, 32 coprname=copr.name, 33 description=copr.description, 34 instructions=copr.instructions)
35 36 @classmethod
37 - def insert_user(cls, writer, user):
38 # nothing, user doesn't have coprs yet 39 pass
40 41 @classmethod
42 - def insert_copr(cls, writer, copr):
43 writer.add_document(copr_id=copr.id, 44 user_id=copr.owner.id, 45 username=copr.owner.name, 46 coprname=copr.name, 47 description=copr.description, 48 instructions=copr.instructions)
49 50 @classmethod
51 - def delete_copr(cls, writer, copr):
52 writer.delete_by_term("copr_id", copr.id)
53