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
)
39 print "generating blob cache ...",
40 blob_cache
= Cache(db
.Blob
, db
.Blob
.sha1
, db
.Blob
.newest_commit
)
41 print len(blob_cache
._cache
)
43 print "generating file cache ...",
44 file_cache
= Cache(db
.Filename
, db
.Filename
.name
)
45 print len(file_cache
._cache
)
47 print "generating mail cache ...",
48 mail_cache
= Cache(db
.Mail
, db
.Mail
.message_id
)
49 print len(mail_cache
._cache
)