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

Source Code for Module coprs.whoosheers

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