'Return the set of books in the specified virtual library'

@read_api
def books_in_virtual_library(self, vl, search_restriction=None):

    vl = (self._pref(u'virtual_libraries', {}).get(vl) if vl else None)
    if ((not vl) and (not search_restriction)):
        return self.all_book_ids()
    if vl:
        if search_restriction:
            return frozenset((self._search(u'', vl) & self._search(u'', search_restriction)))
        return frozenset(self._search(u'', vl))
    return frozenset(self._search(u'', search_restriction))
