def create_search_internet_menu(callback, author=None): m = QMenu( (_('Search the internet for the author {}').format(author) if author is not None else _('Search the internet for this book')) + '…') items = all_book_searches() if author is None else all_author_searches() for k in sorted(items, key=lambda k: name_for(k).lower()): m.addAction(name_for(k), partial(callback, InternetSearch(author, k))) return m
def create_search_internet_menu(callback, author=None): m = QMenu(( _('Search the internet for the author {}').format(author) if author is not None else _('Search the internet for this book')) + '…' ) items = all_book_searches() if author is None else all_author_searches() for k in sorted(items, key=lambda k: name_for(k).lower()): m.addAction(name_for(k), partial(callback, InternetSearch(author, k))) return m
def author_search_href(which, title=None, author=None): if which == 'calibre': return search_href('authors', author), _('Search the calibre library for books by %s') % author search_type, key = 'author', which if which.endswith('-book'): key, search_type = which.rpartition('-')[::2] name = name_for(key) if name is None: search_type = 'author' return author_search_href(DEFAULT_AUTHOR_LINK.partition('-')[2], title=title, author=author) if search_type == 'author': tt = _('Search {0} for the author: {1}').format(name, author) else: tt = _('Search {0} for the book: {1} by the author {2}').format(name, title, author) func = url_for_book_search if search_type == 'book' else url_for_author_search return func(key, title=title, author=author), tt