mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
delete_*_using_id() API
This commit is contained in:
parent
b2163e3846
commit
ba2618f03d
@ -98,6 +98,13 @@ class LibraryDatabase(object):
|
|||||||
return self.new_api.get_item_name(field, item_id)
|
return self.new_api.get_item_name(field, item_id)
|
||||||
return func
|
return func
|
||||||
setattr(self, '%s_name' % field, MT(getter(field)))
|
setattr(self, '%s_name' % field, MT(getter(field)))
|
||||||
|
for field in ('publisher', 'series', 'tag'):
|
||||||
|
def getter(field):
|
||||||
|
fname = 'tags' if field == 'tag' else field
|
||||||
|
def func(self, item_id):
|
||||||
|
self.new_api.remove_items(fname, (item_id,))
|
||||||
|
return func
|
||||||
|
setattr(self, 'delete_%s_using_id' % field, MT(getter(field)))
|
||||||
|
|
||||||
# Legacy field API
|
# Legacy field API
|
||||||
for func in (
|
for func in (
|
||||||
|
@ -212,6 +212,31 @@ class LegacyTest(BaseTest):
|
|||||||
db.close()
|
db.close()
|
||||||
# }}}
|
# }}}
|
||||||
|
|
||||||
|
def test_legacy_delete_using(self): # {{{
|
||||||
|
'Test delete_using() API'
|
||||||
|
ndb = self.init_legacy()
|
||||||
|
db = self.init_old()
|
||||||
|
cache = ndb.new_api
|
||||||
|
tmap = cache.get_id_map('tags')
|
||||||
|
t = next(tmap.iterkeys())
|
||||||
|
pmap = cache.get_id_map('publisher')
|
||||||
|
p = next(pmap.iterkeys())
|
||||||
|
for x in (
|
||||||
|
('delete_tag_using_id', t),
|
||||||
|
('delete_publisher_using_id', p),
|
||||||
|
(db.refresh,),
|
||||||
|
('all_tag_names',), ('tags', 0), ('tags', 1), ('tags', 2),
|
||||||
|
('all_publisher_names',), ('publisher', 0), ('publisher', 1), ('publisher', 2),
|
||||||
|
):
|
||||||
|
meth, args = x[0], x[1:]
|
||||||
|
if callable(meth):
|
||||||
|
meth(*args)
|
||||||
|
else:
|
||||||
|
self.assertEqual((getattr(db, meth)(*args)), (getattr(ndb, meth)(*args)),
|
||||||
|
'The method: %s() returned different results for argument %s' % (meth, args))
|
||||||
|
db.close()
|
||||||
|
# }}}
|
||||||
|
|
||||||
def test_legacy_adding_books(self): # {{{
|
def test_legacy_adding_books(self): # {{{
|
||||||
'Test various adding books methods'
|
'Test various adding books methods'
|
||||||
from calibre.ebooks.metadata.book.base import Metadata
|
from calibre.ebooks.metadata.book.base import Metadata
|
||||||
|
Loading…
x
Reference in New Issue
Block a user