2 from sqlalchemy
.orm
import eagerload
6 def __init__(self
, cls
, attr
, prefetch
=None):
10 q
= db
.session
.query(self
.attr
, self
.cls
)
12 q
.options(eagerload(prefetch
))
17 def __getitem__(self
, key
):
18 return self
._cache
[key
]
20 def __contains__(self
, key
):
21 return key
in self
._cache
23 def __setitem__(self
, key
, value
):
24 self
._cache
[key
] = value
36 db
.session
.add_all(self
._new
)
40 print "generating blob cache ...",
41 blob_cache
= Cache(db
.Blob
, db
.Blob
.sha1
, db
.Blob
.newest_commit
)
42 print len(blob_cache
._cache
)
44 print "generating file cache ...",
45 file_cache
= Cache(db
.Filename
, db
.Filename
.name
)
46 print len(file_cache
._cache
)
48 print "generating mail cache ...",
49 mail_cache
= Cache(db
.Mail
, db
.Mail
.message_id
)
50 print len(mail_cache
._cache
)