mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Enhancement #2003712: URL scheme: 'virtual_library' for show-book.
I will update the documentation in a later commit.
This commit is contained in:
parent
7aec1cda0d
commit
687b340b1c
@ -675,6 +675,16 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
return bytes.fromhex(x[6:]).decode('utf-8')
|
return bytes.fromhex(x[6:]).decode('utf-8')
|
||||||
return x
|
return x
|
||||||
|
|
||||||
|
def get_virtual_library(query):
|
||||||
|
vl = None
|
||||||
|
if query.get('encoded_virtual_library'):
|
||||||
|
vl = bytes.fromhex(query.get('encoded_virtual_library')[0]).decode('utf-8')
|
||||||
|
elif query.get('virtual_library'):
|
||||||
|
vl = query.get('virtual_library')[0]
|
||||||
|
if vl == '-':
|
||||||
|
vl = None
|
||||||
|
return vl
|
||||||
|
|
||||||
if action == 'switch-library':
|
if action == 'switch-library':
|
||||||
library_id = decode_library_id(posixpath.basename(path))
|
library_id = decode_library_id(posixpath.basename(path))
|
||||||
library_path = self.library_broker.path_for_library_id(library_id)
|
library_path = self.library_broker.path_for_library_id(library_id)
|
||||||
@ -694,8 +704,11 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
library_path = self.library_broker.path_for_library_id(library_id)
|
library_path = self.library_broker.path_for_library_id(library_id)
|
||||||
if library_path is None:
|
if library_path is None:
|
||||||
return
|
return
|
||||||
|
vl = get_virtual_library(query)
|
||||||
|
|
||||||
def doit():
|
def doit():
|
||||||
|
if vl != '_':
|
||||||
|
self.apply_virtual_library(vl)
|
||||||
rows = self.library_view.select_rows((book_id,))
|
rows = self.library_view.select_rows((book_id,))
|
||||||
db = self.current_db
|
db = self.current_db
|
||||||
if not rows and (db.data.get_base_restriction_name() or db.data.get_search_restriction_name()):
|
if not rows and (db.data.get_base_restriction_name() or db.data.get_search_restriction_name()):
|
||||||
@ -743,13 +756,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
|
|||||||
if sq:
|
if sq:
|
||||||
sq = sq[0]
|
sq = sq[0]
|
||||||
sq = sq or ''
|
sq = sq or ''
|
||||||
vl = None
|
vl = get_virtual_library(query)
|
||||||
if query.get('encoded_virtual_library'):
|
|
||||||
vl = bytes.fromhex(query.get('encoded_virtual_library')[0]).decode('utf-8')
|
|
||||||
elif query.get('virtual_library'):
|
|
||||||
vl = query.get('virtual_library')[0]
|
|
||||||
if vl == '-':
|
|
||||||
vl = None
|
|
||||||
|
|
||||||
def doit():
|
def doit():
|
||||||
if vl != '_':
|
if vl != '_':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user