@ -96,8 +96,9 @@ class Job():
self . handle_directory ( msg [ 1 ] )
self . handle_directory ( msg [ 1 ] )
elif msg [ 0 ] == Message . Queue :
elif msg [ 0 ] == Message . Queue :
if self . pred_queue ( msg [ 1 ] , None ) :
_ , url , kwds = msg
self . handle_queue ( msg [ 1 ] )
if self . pred_queue ( url , kwds ) :
self . handle_queue ( url , kwds )
elif msg [ 0 ] == Message . Version :
elif msg [ 0 ] == Message . Version :
if msg [ 1 ] != 1 :
if msg [ 1 ] != 1 :
@ -112,7 +113,7 @@ class Job():
def handle_directory ( self , keywords ) :
def handle_directory ( self , keywords ) :
""" Handle Message.Directory """
""" Handle Message.Directory """
def handle_queue ( self , url ):
def handle_queue ( self , url , keywords ):
""" Handle Message.Queue """
""" Handle Message.Queue """
def update_kwdict ( self , kwdict ) :
def update_kwdict ( self , kwdict ) :
@ -147,7 +148,7 @@ class DownloadJob(Job):
""" Set and create the target directory for downloads """
""" Set and create the target directory for downloads """
self . pathfmt . set_directory ( keywords )
self . pathfmt . set_directory ( keywords )
def handle_queue ( self , url ):
def handle_queue ( self , url , keywords ):
try :
try :
DownloadJob ( url ) . run ( )
DownloadJob ( url ) . run ( )
except exception . NoExtractorError :
except exception . NoExtractorError :
@ -181,10 +182,10 @@ class KeywordJob(Job):
print ( " ----------------------------- " )
print ( " ----------------------------- " )
self . print_keywords ( keywords )
self . print_keywords ( keywords )
def handle_queue ( self , url ):
def handle_queue ( self , url , keywords ):
print ( " This extractor transfers work to other extractors and does not "
print ( " Keywords for chapter filters:" )
" provide any keywords on its own. Try "
print ( " ----------------------------- " )
" ' gallery-dl --list-keywords \" " , url , " \" ' instead. " , sep = " " )
self . print_keywords ( keywords )
raise exception . StopExtraction ( )
raise exception . StopExtraction ( )
@staticmethod
@staticmethod
@ -218,13 +219,13 @@ class UrlJob(Job):
Job . __init__ ( self , url )
Job . __init__ ( self , url )
self . depth = depth
self . depth = depth
if depth == self . maxdepth :
if depth == self . maxdepth :
self . handle_queue = print
self . handle_queue = self . handle_url
@staticmethod
@staticmethod
def handle_url ( url , _ ) :
def handle_url ( url , _ ) :
print ( url )
print ( url )
def handle_queue ( self , url ):
def handle_queue ( self , url , _ ):
try :
try :
UrlJob ( url , self . depth + 1 ) . run ( )
UrlJob ( url , self . depth + 1 ) . run ( )
except exception . NoExtractorError :
except exception . NoExtractorError :
@ -277,8 +278,9 @@ class TestJob(DownloadJob):
def handle_directory ( self , keywords ) :
def handle_directory ( self , keywords ) :
self . update_keyword ( keywords )
self . update_keyword ( keywords )
def handle_queue ( self , url ):
def handle_queue ( self , url , keywords ):
self . update_url ( url )
self . update_url ( url )
self . update_keyword ( keywords )
def update_url ( self , url ) :
def update_url ( self , url ) :
""" Update the URL hash """
""" Update the URL hash """