diff --git a/calibre-plugin/config.py b/calibre-plugin/config.py
index 8f57c27a..f8f1816a 100644
--- a/calibre-plugin/config.py
+++ b/calibre-plugin/config.py
@@ -280,6 +280,8 @@ class ConfigWidget(QWidget):
# if they've removed everything, reset to default.
prefs['personal.ini'] = get_resources('plugin-example.ini')
+ prefs['cal_cols_pass_in'] = self.personalini_tab.cal_cols_pass_in.isChecked()
+
# Covers tab
prefs['updatecalcover'] = calcover_save_options[unicode(self.calibrecover_tab.updatecalcover.currentText())]
# for backward compatibility:
@@ -655,8 +657,13 @@ class PersonalIniTab(QWidget):
self.defaults.clicked.connect(self.show_defaults)
self.l.addWidget(self.defaults)
+ self.cal_cols_pass_in = QCheckBox(_('Pass Calibre Columns into FanFicFare on Update/Overwrite')%no_trans,self)
+ self.cal_cols_pass_in.setToolTip(_("If checked, when updating/overwriting an existing book, FanFicFare will have the Calibre Columns available to use in replace_metadata, title_page, etc.
Click the button below to see the Calibre Column namess.")%no_trans)
+ self.cal_cols_pass_in.setChecked(prefs['cal_cols_pass_in'])
+ self.l.addWidget(self.cal_cols_pass_in)
+
self.showcalcols = QPushButton(_('Show Calibre Column Names'), self)
- self.showcalcols.setToolTip(_("FanFicFare passes the Calibre columns into the download/update process. This will show you the columns available by name."))
+ self.showcalcols.setToolTip(_("FanFicFare can pass the Calibre Columns into the download/update process.
This will show you the columns available by name."))
self.showcalcols.clicked.connect(self.show_showcalcols)
self.l.addWidget(self.showcalcols)
@@ -1223,7 +1230,6 @@ class CustomColumnsTab(QWidget):
self.allow_custcol_from_ini.setChecked(prefs['allow_custcol_from_ini'])
self.l.addWidget(self.allow_custcol_from_ini)
- self.l.addSpacing(5)
label = QLabel(_("Special column:"))
label.setWordWrap(True)
self.l.addWidget(label)
diff --git a/calibre-plugin/fff_plugin.py b/calibre-plugin/fff_plugin.py
index 1f15ccfb..a0d59009 100644
--- a/calibre-plugin/fff_plugin.py
+++ b/calibre-plugin/fff_plugin.py
@@ -828,6 +828,7 @@ class FanFicFarePlugin(InterfaceAction):
options['version'] = self.version
logger.debug(self.version)
options['personal.ini'] = get_fff_personalini()
+ options['savemetacol'] = prefs['savemetacol']
#print("prep_downloads:%s"%books)
@@ -1023,8 +1024,9 @@ class FanFicFarePlugin(InterfaceAction):
# all_metadata duplicates some data, but also includes extra_entries, etc.
book['all_metadata'] = story.getAllMetadata(removeallentities=True)
- # get metadata to save in configured column.
- book['savemetacol'] = story.dump_html_metadata()
+ if prefs['savemetacol'] != '':
+ # get metadata to save in configured column.
+ book['savemetacol'] = story.dump_html_metadata()
book['title'] = story.getMetadata("title", removeallentities=True)
book['author_sort'] = book['author'] = story.getList("author", removeallentities=True)
@@ -1202,51 +1204,52 @@ class FanFicFarePlugin(InterfaceAction):
#print("calibre_series:%s [%s]"%book['calibre_series'])
if book['good']: # there shouldn't be any !'good' books at this point.
-
+
## Filling calibre_std_* and calibre_cust_* metadata
book['calibre_columns']={}
- # std columns
- mi = db.get_metadata(book['calibre_id'],index_is_id=True)
- # book['calibre_columns']['calibre_std_identifiers']=\
- # {'val':', '.join(["%s:%s"%(k,v) for (k,v) in mi.get_identifiers().iteritems()]),
- # 'label':_('Ids')}
- for k in mi.standard_field_keys():
- # for k in mi:
- if k in STD_COLS_SKIP:
- continue
- (label,value,v,fmd) = mi.format_field_extended(k)
- if not label and k in field_metadata:
- label=field_metadata[k]['name']
- key='calibre_std_'+k
-
- # if k == 'user_categories':
- # value=u', '.join(mi.get(k))
- # label=_('User Categories')
-
- if label: # only if it has a human readable name.
- if value is None or not book['calibre_id']:
- ## if existing book, populate existing calibre column
- ## values in metadata, else '' to hide.
- value=''
- book['calibre_columns'][key]={'val':value,'label':label}
- #logger.debug("%s(%s): %s"%(label,key,value))
-
- # custom columns
- for k, column in self.gui.library_view.model().custom_columns.iteritems():
- if k != prefs['savemetacol']:
- key='calibre_cust_'+k[1:]
- label=column['name']
- value=db.get_custom(book['calibre_id'],
- label=column['label'],
- index_is_id=True)
- # custom always have name.
- if value is None or not book['calibre_id']:
- ## if existing book, populate existing calibre column
- ## values in metadata, else '' to hide.
- value=''
- book['calibre_columns'][key]={'val':value,'label':label}
- # logger.debug("%s(%s): %s"%(label,key,value))
+ if prefs['cal_cols_pass_in']:
+ # std columns
+ mi = db.get_metadata(book['calibre_id'],index_is_id=True)
+ # book['calibre_columns']['calibre_std_identifiers']=\
+ # {'val':', '.join(["%s:%s"%(k,v) for (k,v) in mi.get_identifiers().iteritems()]),
+ # 'label':_('Ids')}
+ for k in mi.standard_field_keys():
+ # for k in mi:
+ if k in STD_COLS_SKIP:
+ continue
+ (label,value,v,fmd) = mi.format_field_extended(k)
+ if not label and k in field_metadata:
+ label=field_metadata[k]['name']
+ key='calibre_std_'+k
+
+ # if k == 'user_categories':
+ # value=u', '.join(mi.get(k))
+ # label=_('User Categories')
+ if label: # only if it has a human readable name.
+ if value is None or not book['calibre_id']:
+ ## if existing book, populate existing calibre column
+ ## values in metadata, else '' to hide.
+ value=''
+ book['calibre_columns'][key]={'val':value,'label':label}
+ #logger.debug("%s(%s): %s"%(label,key,value))
+
+ # custom columns
+ for k, column in self.gui.library_view.model().custom_columns.iteritems():
+ if k != prefs['savemetacol']:
+ key='calibre_cust_'+k[1:]
+ label=column['name']
+ value=db.get_custom(book['calibre_id'],
+ label=column['label'],
+ index_is_id=True)
+ # custom always have name.
+ if value is None or not book['calibre_id']:
+ ## if existing book, populate existing calibre column
+ ## values in metadata, else '' to hide.
+ value=''
+ book['calibre_columns'][key]={'val':value,'label':label}
+ # logger.debug("%s(%s): %s"%(label,key,value))
+
# if still 'good', make a temp file to write the output to.
# For HTML format users, make the filename inside the zip something reasonable.
# For crazy long titles/authors, limit it to 200chars.
@@ -1738,7 +1741,7 @@ class FanFicFarePlugin(InterfaceAction):
# save metadata to configured column
if 'savemetacol' in book and prefs['savemetacol'] != '' and prefs['savemetacol'] in custom_columns:
label = custom_columns[prefs['savemetacol']]['label']
- self.set_custom(db, book_id, 'comment', book['savemetacol'], label=label, commit=True) # book['comment'] book['savemetacol'] = story.dump_html_metadata()
+ self.set_custom(db, book_id, 'comment', book['savemetacol'], label=label, commit=True)
#print("prefs['custom_cols'] %s"%prefs['custom_cols'])
for col, meta in prefs['custom_cols'].iteritems():
diff --git a/calibre-plugin/jobs.py b/calibre-plugin/jobs.py
index 91993a6f..f8ea695d 100644
--- a/calibre-plugin/jobs.py
+++ b/calibre-plugin/jobs.py
@@ -156,7 +156,8 @@ def do_download_for_worker(book,options,notification=lambda x,y:x):
logger.info("Skipping CALIBREONLY 'update' down inside worker--this shouldn't be happening...")
book['comment'] = 'Metadata collected.'
book['all_metadata'] = story.getAllMetadata(removeallentities=True)
- book['savemetacol'] = story.dump_html_metadata()
+ if options['savemetacol'] != '':
+ book['savemetacol'] = story.dump_html_metadata()
## checks were done earlier, it's new or not dup or newer--just write it.
elif options['collision'] in (ADDNEW, SKIP, OVERWRITE, OVERWRITEALWAYS) or \
@@ -176,7 +177,8 @@ def do_download_for_worker(book,options,notification=lambda x,y:x):
writer.writeStory(outfilename=outfile, forceOverwrite=True)
book['comment'] = 'Download %s completed, %s chapters.'%(options['fileform'],story.getMetadata("numChapters"))
book['all_metadata'] = story.getAllMetadata(removeallentities=True)
- book['savemetacol'] = story.dump_html_metadata()
+ if options['savemetacol'] != '':
+ book['savemetacol'] = story.dump_html_metadata()
## checks were done earlier, just update it.
elif 'epub_for_update' in book and options['collision'] in (UPDATE, UPDATEALWAYS):
@@ -198,7 +200,8 @@ def do_download_for_worker(book,options,notification=lambda x,y:x):
if chaptercount == urlchaptercount:
book['comment']=_("Already contains %d chapters. Reuse as is.")%chaptercount
book['all_metadata'] = story.getAllMetadata(removeallentities=True)
- book['savemetacol'] = story.dump_html_metadata()
+ if options['savemetacol'] != '':
+ book['savemetacol'] = story.dump_html_metadata()
book['outfile'] = book['epub_for_update'] # for anthology merge ops.
return book
@@ -219,8 +222,9 @@ def do_download_for_worker(book,options,notification=lambda x,y:x):
book['comment'] = _('Update %s completed, added %s chapters for %s total.')%\
(options['fileform'],(urlchaptercount-chaptercount),urlchaptercount)
book['all_metadata'] = story.getAllMetadata(removeallentities=True)
- book['savemetacol'] = story.dump_html_metadata()
-
+ if options['savemetacol'] != '':
+ book['savemetacol'] = story.dump_html_metadata()
+
if options['smarten_punctuation'] and options['fileform'] == "epub" \
and calibre_version >= (0, 9, 39):
# for smarten punc
diff --git a/calibre-plugin/prefs.py b/calibre-plugin/prefs.py
index 0609674d..4c6b2648 100644
--- a/calibre-plugin/prefs.py
+++ b/calibre-plugin/prefs.py
@@ -51,6 +51,7 @@ PREFS_KEY_SETTINGS = 'settings'
# take from here.
default_prefs = {}
default_prefs['personal.ini'] = get_resources('plugin-example.ini')
+default_prefs['cal_cols_pass_in'] = False
default_prefs['rejecturls'] = ''
default_prefs['rejectreasons'] = '''Sucked
Boring
diff --git a/calibre-plugin/translations/messages.pot b/calibre-plugin/translations/messages.pot
index e5d70f30..eabecbcd 100644
--- a/calibre-plugin/translations/messages.pot
+++ b/calibre-plugin/translations/messages.pot
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2015-05-21 10:12+Central Daylight Time\n"
+"POT-Creation-Date: 2015-06-12 19:37+Central Daylight Time\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -103,65 +103,65 @@ msgstr ""
msgid "Other"
msgstr ""
-#: config.py:375
+#: config.py:377
msgid "These settings control the basic features of the plugin--downloading FanFiction."
msgstr ""
-#: config.py:379
+#: config.py:381
msgid "Defaults Options on Download"
msgstr ""
-#: config.py:383
+#: config.py:385
msgid "On each download, FanFicFare offers an option to select the output format.
This sets what that option will default to."
msgstr ""
-#: config.py:385
+#: config.py:387
msgid "Default Output &Format:"
msgstr ""
-#: config.py:400
+#: config.py:402
msgid "On each download, FanFicFare offers an option of what happens if that story already exists.
This sets what that option will default to."
msgstr ""
-#: config.py:402
+#: config.py:404
msgid "Default If Story Already Exists?"
msgstr ""
-#: config.py:417
+#: config.py:419
msgid "Default Update Calibre &Metadata?"
msgstr ""
-#: config.py:418
+#: config.py:420
msgid "On each download, FanFicFare offers an option to update Calibre's metadata (title, author, URL, tags, custom columns, etc) from the web site.
This sets whether that will default to on or off.
Columns set to 'New Only' in the column tabs will only be set for new books."
msgstr ""
-#: config.py:422
+#: config.py:424
msgid "Default Update EPUB Cover when Updating EPUB?"
msgstr ""
-#: config.py:423
+#: config.py:425
msgid "On each download, FanFicFare offers an option to update the book cover image inside the EPUB from the web site when the EPUB is updated.
This sets whether that will default to on or off."
msgstr ""
-#: config.py:428
+#: config.py:430
msgid "Updating Calibre Options"
msgstr ""
-#: config.py:432
+#: config.py:434
msgid "Delete other existing formats?"
msgstr ""
-#: config.py:433
+#: config.py:435
msgid ""
"Check this to automatically delete all other ebook formats when updating an existing book.\n"
"Handy if you have both a Nook(epub) and Kindle(mobi), for example."
msgstr ""
-#: config.py:437
+#: config.py:439
msgid "Keep Existing Tags when Updating Metadata?"
msgstr ""
-#: config.py:438
+#: config.py:440
msgid ""
"Existing tags will be kept and any new tags added.\n"
"%(cmplt)s and %(inprog)s tags will be still be updated, if known.\n"
@@ -169,320 +169,328 @@ msgid ""
"(If Tags is set to 'New Only' in the Standard Columns tab, this has no effect.)"
msgstr ""
-#: config.py:442
+#: config.py:444
msgid "Force Author into Author Sort?"
msgstr ""
-#: config.py:443
+#: config.py:445
msgid ""
"If checked, the author(s) as given will be used for the Author Sort, too.\n"
"If not checked, calibre will apply it's built in algorithm which makes 'Bob Smith' sort as 'Smith, Bob', etc."
msgstr ""
-#: config.py:447
+#: config.py:449
msgid "Force Title into Title Sort?"
msgstr ""
-#: config.py:448
+#: config.py:450
msgid ""
"If checked, the title as given will be used for the Title Sort, too.\n"
"If not checked, calibre will apply it's built in algorithm which makes 'The Title' sort as 'Title, The', etc."
msgstr ""
-#: config.py:452
+#: config.py:454
msgid "Check for existing Series Anthology books?"
msgstr ""
-#: config.py:453
+#: config.py:455
msgid ""
"Check for existings Series Anthology books using each new story's series URL before downloading.\n"
"Offer to skip downloading if a Series Anthology is found."
msgstr ""
-#: config.py:457
+#: config.py:459
msgid "Check for changed Story URL?"
msgstr ""
-#: config.py:458
+#: config.py:460
msgid ""
"Warn you if an update will change the URL of an existing book.\n"
"fanfiction.net URLs will change from http to https silently."
msgstr ""
-#: config.py:462
+#: config.py:464
msgid "Search EPUB text for Story URL?"
msgstr ""
-#: config.py:463
+#: config.py:465
msgid ""
"Look for first valid story URL inside EPUB text if not found in metadata.\n"
"Somewhat risky, could find wrong URL depending on EPUB content.\n"
"Also finds and corrects bad ffnet URLs from ficsaver.com files."
msgstr ""
-#: config.py:467
+#: config.py:469
msgid "Mark added/updated books when finished?"
msgstr ""
-#: config.py:468
+#: config.py:470
msgid ""
"Mark added/updated books when finished. Use with option below.\n"
"You can also manually search for 'marked:fff_success'.\n"
"'marked:fff_failed' is also available, or search 'marked:fff' for both."
msgstr ""
-#: config.py:472
+#: config.py:474
msgid "Show Marked books when finished?"
msgstr ""
-#: config.py:473
+#: config.py:475
msgid ""
"Show Marked added/updated books only when finished.\n"
"You can also manually search for 'marked:fff_success'.\n"
"'marked:fff_failed' is also available, or search 'marked:fff' for both."
msgstr ""
-#: config.py:477
+#: config.py:479
msgid "Smarten Punctuation (EPUB only)"
msgstr ""
-#: config.py:478
+#: config.py:480
msgid "Run Smarten Punctuation from Calibre's Polish Book feature on each EPUB download and update."
msgstr ""
-#: config.py:482
+#: config.py:484
msgid "Automatically Convert new/update books?"
msgstr ""
-#: config.py:483
+#: config.py:485
msgid ""
"Automatically call calibre's Convert for new/update books.\n"
"Converts to the current output format as chosen in calibre's\n"
"Preferences->Behavior settings."
msgstr ""
-#: config.py:487
+#: config.py:489
msgid "GUI Options"
msgstr ""
-#: config.py:491
+#: config.py:493
msgid "Take URLs from Clipboard?"
msgstr ""
-#: config.py:492
+#: config.py:494
msgid "Prefill URLs from valid URLs in Clipboard when Adding New."
msgstr ""
-#: config.py:496
+#: config.py:498
msgid "Default to Update when books selected?"
msgstr ""
-#: config.py:497
+#: config.py:499
msgid ""
"The top FanFicFare plugin button will start Update if\n"
"books are selected. If unchecked, it will always bring up 'Add New'."
msgstr ""
-#: config.py:501
+#: config.py:503
msgid "Keep 'Add New from URL(s)' dialog on top?"
msgstr ""
-#: config.py:502
+#: config.py:504
msgid ""
"Instructs the OS and Window Manager to keep the 'Add New from URL(s)'\n"
"dialog on top of all other windows. Useful for dragging URLs onto it."
msgstr ""
-#: config.py:506
+#: config.py:508
msgid "Show estimated time left?"
msgstr ""
-#: config.py:507
+#: config.py:509
msgid "When a Progress Bar is shown, show a rough estimate of the time left."
msgstr ""
-#: config.py:511
+#: config.py:513
msgid "Misc Options"
msgstr ""
-#: config.py:515
+#: config.py:517
msgid "Inject calibre Series when none found?"
msgstr ""
-#: config.py:516
+#: config.py:518
msgid ""
"If no series is found, inject the calibre series (if there is one) so \n"
"it appears on the FanFicFare title page(not cover)."
msgstr ""
-#: config.py:520
+#: config.py:522
msgid "Reject List"
msgstr ""
-#: config.py:524
+#: config.py:526
msgid "Edit Reject URL List"
msgstr ""
-#: config.py:525
+#: config.py:527
msgid "Edit list of URLs FanFicFare will automatically Reject."
msgstr ""
-#: config.py:529 config.py:600
+#: config.py:531 config.py:602
msgid "Add Reject URLs"
msgstr ""
-#: config.py:530
+#: config.py:532
msgid "Add additional URLs to Reject as text."
msgstr ""
-#: config.py:534
+#: config.py:536
msgid "Edit Reject Reasons List"
msgstr ""
-#: config.py:535 config.py:590
+#: config.py:537 config.py:592
msgid "Customize the Reasons presented when Rejecting URLs"
msgstr ""
-#: config.py:539
+#: config.py:541
msgid "Reject Without Confirmation?"
msgstr ""
-#: config.py:540
+#: config.py:542
msgid "Always reject URLs on the Reject List without stopping and asking."
msgstr ""
-#: config.py:574
+#: config.py:576
msgid "Edit Reject URLs List"
msgstr ""
-#: config.py:588
+#: config.py:590
msgid "Reject Reasons"
msgstr ""
-#: config.py:589
+#: config.py:591
msgid "Customize Reject List Reasons"
msgstr ""
-#: config.py:598
+#: config.py:600
msgid "Reason why I rejected it"
msgstr ""
-#: config.py:598
+#: config.py:600
msgid "Title by Author"
msgstr ""
-#: config.py:601
+#: config.py:603
msgid "Add Reject URLs. Use: http://...,note or http://...,title by author - note
Invalid story URLs will be ignored."
msgstr ""
-#: config.py:602
+#: config.py:604
msgid ""
"One URL per line:\n"
"http://...,note\n"
"http://...,title by author - note"
msgstr ""
-#: config.py:604 dialogs.py:1094
+#: config.py:606 dialogs.py:1094
msgid "Add this reason to all URLs added:"
msgstr ""
-#: config.py:620
+#: config.py:622
msgid "These settings provide more detailed control over what metadata will be displayed inside the ebook as well as let you set %(isa)s and %(u)s/%(p)s for different sites."
msgstr ""
-#: config.py:625
+#: config.py:627
msgid "FanFicFare now includes find, color coding, and error checking for personal.ini editing. Red generally indicates errors."
msgstr ""
-#: config.py:644 config.py:680 config.py:681
+#: config.py:646 config.py:687 config.py:688
msgid "Edit personal.ini"
msgstr ""
-#: config.py:649
+#: config.py:651
msgid "Changes will only be saved if you click 'OK' to leave Customize FanFicFare."
msgstr ""
-#: config.py:653
+#: config.py:655
msgid "View Defaults"
msgstr ""
-#: config.py:654
+#: config.py:656
msgid ""
"View all of the plugin's configurable settings\n"
"and their default settings."
msgstr ""
-#: config.py:658
+#: config.py:660
+msgid "Pass Calibre Columns into FanFicFare on Update/Overwrite"
+msgstr ""
+
+#: config.py:661
+msgid "If checked, when updating/overwriting an existing book, FanFicFare will have the Calibre Columns available to use in replace_metadata, title_page, etc.
Click the button below to see the Calibre Column namess."
+msgstr ""
+
+#: config.py:665
msgid "Show Calibre Column Names"
msgstr ""
-#: config.py:659
-msgid "FanFicFare passes the Calibre columns into the download/update process. This will show you the columns available by name."
+#: config.py:666
+msgid "FanFicFare can pass the Calibre Columns into the download/update process.
This will show you the columns available by name."
msgstr ""
-#: config.py:670
+#: config.py:677
msgid "Plugin Defaults"
msgstr ""
-#: config.py:671
+#: config.py:678
msgid "Plugin Defaults (%s) (Read-Only)"
msgstr ""
-#: config.py:704
+#: config.py:711
msgid "Calibre Column Entry Names"
msgstr ""
-#: config.py:705
+#: config.py:712
msgid "Label (entry_name)"
msgstr ""
-#: config.py:725
+#: config.py:732
msgid "These settings provide integration with the %(rl)s Plugin. %(rl)s can automatically send to devices and change custom columns. You have to create and configure the lists in %(rl)s to be useful."
msgstr ""
-#: config.py:730
+#: config.py:737
msgid "Add new/updated stories to \"Send to Device\" Reading List(s)."
msgstr ""
-#: config.py:731
+#: config.py:738
msgid "Automatically add new/updated stories to these lists in the %(rl)s plugin."
msgstr ""
-#: config.py:736
+#: config.py:743
msgid "\"Send to Device\" Reading Lists"
msgstr ""
-#: config.py:737 config.py:740 config.py:754 config.py:757
+#: config.py:744 config.py:747 config.py:761 config.py:764
msgid "When enabled, new/updated stories will be automatically added to these lists."
msgstr ""
-#: config.py:747
+#: config.py:754
msgid "Add new/updated stories to \"To Read\" Reading List(s)."
msgstr ""
-#: config.py:748
+#: config.py:755
msgid ""
"Automatically add new/updated stories to these lists in the %(rl)s plugin.\n"
"Also offers menu option to remove stories from the \"To Read\" lists."
msgstr ""
-#: config.py:753
+#: config.py:760
msgid "\"To Read\" Reading Lists"
msgstr ""
-#: config.py:764
+#: config.py:771
msgid "Add stories back to \"Send to Device\" Reading List(s) when marked \"Read\"."
msgstr ""
-#: config.py:765
+#: config.py:772
msgid "Menu option to remove from \"To Read\" lists will also add stories back to \"Send to Device\" Reading List(s)"
msgstr ""
-#: config.py:793
+#: config.py:800
msgid "The Calibre cover image for a downloaded book can come from the story site(if EPUB and images are enabled), or from either Calibre's built-in random cover generator or the %(gc)s plugin."
msgstr ""
-#: config.py:801
+#: config.py:808
msgid ""
"Update Calibre book cover image from EPUB when Calibre metadata is updated.\n"
"Doesn't go looking for new images on 'Update Calibre Metadata Only'.\n"
@@ -490,413 +498,413 @@ msgid ""
"This comes before Generate Cover so %(gc)s(Plugin) use the image if configured to."
msgstr ""
-#: config.py:806
+#: config.py:813
msgid "Update Calibre Cover (from EPUB):"
msgstr ""
-#: config.py:824
+#: config.py:831
msgid "Generate a Calibre book cover image when Calibre metadata is updated.
Defaults to 'Yes, Always' for backward compatibility and because %(gc)s(Plugin) will only run if configured for Default or site."
msgstr ""
-#: config.py:828
+#: config.py:835
msgid "Generate Calibre Cover:"
msgstr ""
-#: config.py:855
+#: config.py:862
msgid "Plugin %(gc)s"
msgstr ""
-#: config.py:856
+#: config.py:863
msgid "Use plugin to create covers. Additional settings are below."
msgstr ""
-#: config.py:863
+#: config.py:870
msgid "Calibre Generate Cover"
msgstr ""
-#: config.py:864
+#: config.py:871
msgid "Call Calibre's Edit Metadata Generate cover feature to create a random cover each time a story is downloaded or updated.
Right click or long click the 'Generate cover' button in Calibre's Edit Metadata to customize."
msgstr ""
-#: config.py:878
+#: config.py:885
msgid "Generate Covers Only for New Books"
msgstr ""
-#: config.py:879
+#: config.py:886
msgid "Default is to generate a cover any time the calibre metadata is updated.
Used for both Calibre and Plugin generated covers."
msgstr ""
-#: config.py:885
+#: config.py:892
msgid "Inject/update the cover inside EPUB"
msgstr ""
-#: config.py:886
+#: config.py:893
msgid "Calibre's Polish feature will be used to inject or update the generated cover into the EPUB ebook file.
Used for both Calibre and Plugin generated covers."
msgstr ""
-#: config.py:892
+#: config.py:899
msgid "%(gc)s(Plugin) Settings"
msgstr ""
-#: config.py:900
+#: config.py:907
msgid "The %(gc)s plugin can create cover images for books using various metadata (including existing cover image). If you have %(gc)s installed, FanFicFare can run %(gc)s on new downloads and metadata updates. Pick a %(gc)s setting by site and/or one to use by Default."
msgstr ""
-#: config.py:918 config.py:922 config.py:935
+#: config.py:925 config.py:929 config.py:942
msgid "Default"
msgstr ""
-#: config.py:923
+#: config.py:930
msgid "On Metadata update, run %(gc)s with this setting, if there isn't a more specific setting below."
msgstr ""
-#: config.py:926
+#: config.py:933
msgid "On Metadata update, run %(gc)s with this setting for %(site)s stories."
msgstr ""
-#: config.py:949
+#: config.py:956
msgid "Allow %(gcset)s from %(pini)s to override"
msgstr ""
-#: config.py:950
+#: config.py:957
msgid "The %(pini)s parameter %(gcset)s allows you to choose a %(gc)s setting based on metadata rather than site, but it's much more complex.
%(gcset)s is ignored when this is off."
msgstr ""
-#: config.py:988
+#: config.py:995
msgid "These settings provide integration with the %(cp)s Plugin. %(cp)s can automatically update custom columns with page, word and reading level statistics. You have to create and configure the columns in %(cp)s first."
msgstr ""
-#: config.py:993
+#: config.py:1000
msgid "If any of the settings below are checked, when stories are added or updated, the %(cp)s Plugin will be called to update the checked statistics."
msgstr ""
-#: config.py:999
+#: config.py:1006
msgid "Which column and algorithm to use are configured in %(cp)s."
msgstr ""
-#: config.py:1009
+#: config.py:1016
msgid "Will overwrite word count from FanFicFare metadata if set to update the same custom column."
msgstr ""
-#: config.py:1014
+#: config.py:1021
msgid "Only run Count Page's Word Count if checked and FanFicFare metadata doesn't already have a word count. If this is used with one of the other Page Counts, the Page Count plugin will be called twice."
msgstr ""
-#: config.py:1050
+#: config.py:1057
msgid "These controls aren't plugin settings as such, but convenience buttons for setting Keyboard shortcuts and getting all the FanFicFare confirmation dialogs back again."
msgstr ""
-#: config.py:1055
+#: config.py:1062
msgid "Keyboard shortcuts..."
msgstr ""
-#: config.py:1056
+#: config.py:1063
msgid "Edit the keyboard shortcuts associated with this plugin"
msgstr ""
-#: config.py:1060
+#: config.py:1067
msgid "Reset disabled &confirmation dialogs"
msgstr ""
-#: config.py:1061
+#: config.py:1068
msgid "Reset all show me again dialogs for the FanFicFare plugin"
msgstr ""
-#: config.py:1065
+#: config.py:1072
msgid "&View library preferences..."
msgstr ""
-#: config.py:1066
+#: config.py:1073
msgid "View data stored in the library database for this plugin"
msgstr ""
-#: config.py:1077
+#: config.py:1084
msgid "Done"
msgstr ""
-#: config.py:1078
+#: config.py:1085
msgid "Confirmation dialogs have all been reset"
msgstr ""
-#: config.py:1126
+#: config.py:1133
msgid "Category"
msgstr ""
-#: config.py:1127
+#: config.py:1134
msgid "Genre"
msgstr ""
-#: config.py:1128
+#: config.py:1135
msgid "Language"
msgstr ""
-#: config.py:1129 fff_plugin.py:1299 fff_plugin.py:1497 fff_plugin.py:1527
+#: config.py:1136 fff_plugin.py:1303 fff_plugin.py:1501 fff_plugin.py:1531
msgid "Status"
msgstr ""
-#: config.py:1130
+#: config.py:1137
msgid "Status:%(cmplt)s"
msgstr ""
-#: config.py:1131
+#: config.py:1138
msgid "Status:%(inprog)s"
msgstr ""
-#: config.py:1132 config.py:1281
+#: config.py:1139 config.py:1287
msgid "Series"
msgstr ""
-#: config.py:1133
+#: config.py:1140
msgid "Characters"
msgstr ""
-#: config.py:1134
+#: config.py:1141
msgid "Relationships"
msgstr ""
-#: config.py:1135
+#: config.py:1142
msgid "Published"
msgstr ""
-#: config.py:1136 fff_plugin.py:1610 fff_plugin.py:1629
+#: config.py:1143 fff_plugin.py:1614 fff_plugin.py:1633
msgid "Updated"
msgstr ""
-#: config.py:1137
+#: config.py:1144
msgid "Created"
msgstr ""
-#: config.py:1138
+#: config.py:1145
msgid "Rating"
msgstr ""
-#: config.py:1139
+#: config.py:1146
msgid "Warnings"
msgstr ""
-#: config.py:1140
+#: config.py:1147
msgid "Chapters"
msgstr ""
-#: config.py:1141
+#: config.py:1148
msgid "Words"
msgstr ""
-#: config.py:1142
+#: config.py:1149
msgid "Site"
msgstr ""
-#: config.py:1143
+#: config.py:1150
msgid "Story ID"
msgstr ""
-#: config.py:1144
+#: config.py:1151
msgid "Author ID"
msgstr ""
-#: config.py:1145
+#: config.py:1152
msgid "Extra Tags"
msgstr ""
-#: config.py:1146 config.py:1273 dialogs.py:885 dialogs.py:981
-#: fff_plugin.py:1299 fff_plugin.py:1497 fff_plugin.py:1527
+#: config.py:1153 config.py:1279 dialogs.py:885 dialogs.py:981
+#: fff_plugin.py:1303 fff_plugin.py:1501 fff_plugin.py:1531
msgid "Title"
msgstr ""
-#: config.py:1147
+#: config.py:1154
msgid "Story URL"
msgstr ""
-#: config.py:1148
+#: config.py:1155
msgid "Description"
msgstr ""
-#: config.py:1149 dialogs.py:885 dialogs.py:981 fff_plugin.py:1299
-#: fff_plugin.py:1497 fff_plugin.py:1527
+#: config.py:1156 dialogs.py:885 dialogs.py:981 fff_plugin.py:1303
+#: fff_plugin.py:1501 fff_plugin.py:1531
msgid "Author"
msgstr ""
-#: config.py:1150
+#: config.py:1157
msgid "Author URL"
msgstr ""
-#: config.py:1151
+#: config.py:1158
msgid "File Format"
msgstr ""
-#: config.py:1152
+#: config.py:1159
msgid "File Extension"
msgstr ""
-#: config.py:1153
+#: config.py:1160
msgid "Site Abbrev"
msgstr ""
-#: config.py:1154
+#: config.py:1161
msgid "FanFicFare Version"
msgstr ""
-#: config.py:1169
+#: config.py:1176
msgid "If you have custom columns defined, they will be listed below. Choose a metadata value type to fill your columns automatically."
msgstr ""
-#: config.py:1194
+#: config.py:1201
msgid "Update this %s column(%s) with..."
msgstr ""
-#: config.py:1204
+#: config.py:1211
msgid "Values that aren't valid for this enumeration column will be ignored."
msgstr ""
-#: config.py:1204 config.py:1206
+#: config.py:1211 config.py:1213
msgid "Metadata values valid for this type of column."
msgstr ""
-#: config.py:1209 config.py:1300
+#: config.py:1216 config.py:1306
msgid "New Only"
msgstr ""
-#: config.py:1210
+#: config.py:1217
msgid ""
"Write to %s(%s) only for new\n"
"books, not updates to existing books."
msgstr ""
-#: config.py:1221
+#: config.py:1228
msgid "Allow %(ccset)s from %(pini)s to override"
msgstr ""
-#: config.py:1222
+#: config.py:1229
msgid "The %(pini)s parameter %(ccset)s allows you to set custom columns to site specific values that aren't common to all sites.
%(ccset)s is ignored when this is off."
msgstr ""
-#: config.py:1227
+#: config.py:1233
msgid "Special column:"
msgstr ""
-#: config.py:1232
+#: config.py:1238
msgid "Update/Overwrite Error Column:"
msgstr ""
-#: config.py:1233
+#: config.py:1239
msgid ""
"When an update or overwrite of an existing story fails, record the reason in this column.\n"
"(Text and Long Text columns only.)"
msgstr ""
-#: config.py:1247
+#: config.py:1253
msgid "Saved Metadata Column:"
msgstr ""
-#: config.py:1248
+#: config.py:1254
msgid "If set, FanFicFare will save a copy of all its metadata in this column when the book is downloaded or updated.
The metadata from this column can later be used to update custom columns without having to request the metadata from the server again.
(Long Text columns only.)"
msgstr ""
-#: config.py:1274
+#: config.py:1280
msgid "Author(s)"
msgstr ""
-#: config.py:1275
+#: config.py:1281
msgid "Publisher"
msgstr ""
-#: config.py:1276
+#: config.py:1282
msgid "Tags"
msgstr ""
-#: config.py:1277
+#: config.py:1283
msgid "Languages"
msgstr ""
-#: config.py:1278
+#: config.py:1284
msgid "Published Date"
msgstr ""
-#: config.py:1279
+#: config.py:1285
msgid "Date"
msgstr ""
-#: config.py:1280
+#: config.py:1286
msgid "Comments"
msgstr ""
-#: config.py:1282
+#: config.py:1288
msgid "Ids(url id only)"
msgstr ""
-#: config.py:1287
+#: config.py:1293
msgid "The standard calibre metadata columns are listed below. You may choose whether FanFicFare will fill each column automatically on updates or only for new books."
msgstr ""
-#: config.py:1301
+#: config.py:1307
msgid ""
"Write to %s only for new\n"
"books, not updates to existing books."
msgstr ""
-#: config.py:1322
+#: config.py:1328
msgid "These settings will allow FanFicFare to fetch story URLs from your email account. It will only look for story URLs in unread emails in the folder specified below."
msgstr ""
-#: config.py:1327
+#: config.py:1333
msgid "IMAP Server Name"
msgstr ""
-#: config.py:1328
+#: config.py:1334
msgid "Name of IMAP server--must allow IMAP4 with SSL. Eg: imap.gmail.com"
msgstr ""
-#: config.py:1337
+#: config.py:1343
msgid "IMAP User Name"
msgstr ""
-#: config.py:1338
+#: config.py:1344
msgid ""
"Name of IMAP user. Eg: yourname@gmail.com\n"
"Note that Gmail accounts need to have IMAP enabled in Gmail Settings first."
msgstr ""
-#: config.py:1347
+#: config.py:1353
msgid "IMAP User Password"
msgstr ""
-#: config.py:1348
+#: config.py:1354
msgid "IMAP password. If left empty, FanFicFare will ask you for your password when you use the feature."
msgstr ""
-#: config.py:1358
+#: config.py:1364
msgid "Remember Password for Session (when not saved above)"
msgstr ""
-#: config.py:1359
+#: config.py:1365
msgid "If checked, and no password is entered above, FanFicFare will remember your password until you close calibre or change Libraries."
msgstr ""
-#: config.py:1364
+#: config.py:1370
msgid "IMAP Folder Name"
msgstr ""
-#: config.py:1365
+#: config.py:1371
msgid "Name of IMAP folder to search for new emails. The folder (or label) has to already exist. Use INBOX for your default inbox."
msgstr ""
-#: config.py:1374
+#: config.py:1380
msgid "Mark Emails Read"
msgstr ""
-#: config.py:1375
+#: config.py:1381
msgid "If checked, emails will be marked as having been read if they contain any story URLs."
msgstr ""
-#: config.py:1380
+#: config.py:1386
msgid "Discard URLs on Reject List"
msgstr ""
-#: config.py:1381
+#: config.py:1387
msgid "If checked, FanFicFare will silently discard story URLs from emails that are on your Reject URL List.
Otherwise they will appear and you will see the normal Reject URL dialog.
The Emails will still be marked Read if configured to."
msgstr ""
-#: config.py:1386
+#: config.py:1392
msgid "It's safest if you create a separate email account that you use only for your story update notices. FanFicFare and calibre cannot guarantee that malicious code cannot get your email password once you've entered it.
Use this feature at your own risk. "
msgstr ""
@@ -1117,7 +1125,7 @@ msgstr ""
msgid "What sort of update to perform. May set default from plugin configuration."
msgstr ""
-#: dialogs.py:885 fff_plugin.py:1299 fff_plugin.py:1497 fff_plugin.py:1527
+#: dialogs.py:885 fff_plugin.py:1303 fff_plugin.py:1501 fff_plugin.py:1531
msgid "Comment"
msgstr ""
@@ -1237,7 +1245,7 @@ msgstr ""
msgid "Get Story URLs from &Email"
msgstr ""
-#: fff_plugin.py:290 fff_plugin.py:477
+#: fff_plugin.py:290 fff_plugin.py:478
msgid "Get Story URLs from Web Page"
msgstr ""
@@ -1317,499 +1325,499 @@ msgstr ""
msgid "Fetching Story URLs from Email..."
msgstr ""
-#: fff_plugin.py:453
+#: fff_plugin.py:454
msgid "Finished Fetching Story URLs from Email."
msgstr ""
-#: fff_plugin.py:460
+#: fff_plugin.py:461
msgid "No Valid Story URLs Found in Unread Emails."
msgstr ""
-#: fff_plugin.py:462
+#: fff_plugin.py:463
msgid "(%d Story URLs Skipped, on Rejected URL List)"
msgstr ""
-#: fff_plugin.py:463
+#: fff_plugin.py:464
msgid "Get Story URLs from Email"
msgstr ""
-#: fff_plugin.py:486
+#: fff_plugin.py:487
msgid "Fetching Story URLs from Page..."
msgstr ""
-#: fff_plugin.py:490
+#: fff_plugin.py:491
msgid "Finished Fetching Story URLs from Page."
msgstr ""
-#: fff_plugin.py:496 fff_plugin.py:548
+#: fff_plugin.py:497 fff_plugin.py:549
msgid "List of Story URLs"
msgstr ""
-#: fff_plugin.py:497
+#: fff_plugin.py:498
msgid "No Valid Story URLs found on given page."
msgstr ""
-#: fff_plugin.py:512
+#: fff_plugin.py:513
msgid "No Selected Books to Get URLs From"
msgstr ""
-#: fff_plugin.py:530
+#: fff_plugin.py:531
msgid "Collecting URLs for stories..."
msgstr ""
-#: fff_plugin.py:531
+#: fff_plugin.py:532
msgid "Get URLs for stories"
msgstr ""
-#: fff_plugin.py:532 fff_plugin.py:579 fff_plugin.py:772
+#: fff_plugin.py:533 fff_plugin.py:580 fff_plugin.py:773
msgid "URL retrieved"
msgstr ""
-#: fff_plugin.py:552
+#: fff_plugin.py:553
msgid "List of URLs"
msgstr ""
-#: fff_plugin.py:553
+#: fff_plugin.py:554
msgid "No Story URLs found in selected books."
msgstr ""
-#: fff_plugin.py:569
+#: fff_plugin.py:570
msgid "No Selected Books have URLs to Reject"
msgstr ""
-#: fff_plugin.py:577
+#: fff_plugin.py:578
msgid "Collecting URLs for Reject List..."
msgstr ""
-#: fff_plugin.py:578
+#: fff_plugin.py:579
msgid "Get URLs for Reject List"
msgstr ""
-#: fff_plugin.py:613
+#: fff_plugin.py:614
msgid "Proceed to Remove?"
msgstr ""
-#: fff_plugin.py:613
+#: fff_plugin.py:614
msgid "Rejecting FanFicFare URLs: None of the books selected have FanFiction URLs."
msgstr ""
-#: fff_plugin.py:635
+#: fff_plugin.py:636
msgid "Cannot Make Anthologys without %s"
msgstr ""
-#: fff_plugin.py:639 fff_plugin.py:749
+#: fff_plugin.py:640 fff_plugin.py:750
msgid "Cannot Update Books from Device View"
msgstr ""
-#: fff_plugin.py:643
+#: fff_plugin.py:644
msgid "Can only update 1 anthology at a time"
msgstr ""
-#: fff_plugin.py:652
+#: fff_plugin.py:653
msgid "Can only Update Epub Anthologies"
msgstr ""
-#: fff_plugin.py:670 fff_plugin.py:671
+#: fff_plugin.py:671 fff_plugin.py:672
msgid "Cannot Update Anthology"
msgstr ""
-#: fff_plugin.py:671
+#: fff_plugin.py:672
msgid "Book isn't an FanFicFare Anthology or contains book(s) without valid Story URLs."
msgstr ""
-#: fff_plugin.py:678
+#: fff_plugin.py:679
msgid "Fetching Story URLs for Series..."
msgstr ""
-#: fff_plugin.py:688
+#: fff_plugin.py:689
msgid "Finished Fetching Story URLs for Series."
msgstr ""
-#: fff_plugin.py:735
+#: fff_plugin.py:736
msgid "There are %d stories in the current anthology that are not going to be kept if you go ahead."
msgstr ""
-#: fff_plugin.py:736
+#: fff_plugin.py:737
msgid "Story URLs that will be removed:"
msgstr ""
-#: fff_plugin.py:738
+#: fff_plugin.py:739
msgid "Update anyway?"
msgstr ""
-#: fff_plugin.py:739
+#: fff_plugin.py:740
msgid "Stories Removed"
msgstr ""
-#: fff_plugin.py:756
+#: fff_plugin.py:757
msgid "No Selected Books to Update"
msgstr ""
-#: fff_plugin.py:770
+#: fff_plugin.py:771
msgid "Collecting stories for update..."
msgstr ""
-#: fff_plugin.py:771
+#: fff_plugin.py:772
msgid "Get stories for updates"
msgstr ""
-#: fff_plugin.py:781
+#: fff_plugin.py:782
msgid "Update Existing List"
msgstr ""
-#: fff_plugin.py:839
+#: fff_plugin.py:841
msgid "Started fetching metadata for %s stories."
msgstr ""
-#: fff_plugin.py:845
+#: fff_plugin.py:847
msgid "No valid story URLs entered."
msgstr ""
-#: fff_plugin.py:870 fff_plugin.py:876
+#: fff_plugin.py:872 fff_plugin.py:878
msgid "Reject URL?"
msgstr ""
-#: fff_plugin.py:877 fff_plugin.py:895
+#: fff_plugin.py:879 fff_plugin.py:897
msgid "%s is on your Reject URL list:"
msgstr ""
-#: fff_plugin.py:879
+#: fff_plugin.py:881
msgid "Click 'Yes' to Reject."
msgstr ""
-#: fff_plugin.py:880 fff_plugin.py:1007
+#: fff_plugin.py:882 fff_plugin.py:1009
msgid "Click 'No' to download anyway."
msgstr ""
-#: fff_plugin.py:882
+#: fff_plugin.py:884
msgid "Story on Reject URLs list (%s)."
msgstr ""
-#: fff_plugin.py:885
+#: fff_plugin.py:887
msgid "Rejected"
msgstr ""
-#: fff_plugin.py:888
+#: fff_plugin.py:890
msgid "Remove Reject URL?"
msgstr ""
-#: fff_plugin.py:894
+#: fff_plugin.py:896
msgid "Remove URL from Reject List?"
msgstr ""
-#: fff_plugin.py:897
+#: fff_plugin.py:899
msgid "Click 'Yes' to remove it from the list,"
msgstr ""
-#: fff_plugin.py:898
+#: fff_plugin.py:900
msgid "Click 'No' to leave it on the list."
msgstr ""
-#: fff_plugin.py:915
+#: fff_plugin.py:917
msgid "Cannot update non-epub format."
msgstr ""
-#: fff_plugin.py:985
+#: fff_plugin.py:987
msgid "Are You an Adult?"
msgstr ""
-#: fff_plugin.py:986
+#: fff_plugin.py:988
msgid "%s requires that you be an adult. Please confirm you are an adult in your locale:"
msgstr ""
-#: fff_plugin.py:998
+#: fff_plugin.py:1000
msgid "Skip Story?"
msgstr ""
-#: fff_plugin.py:1004
+#: fff_plugin.py:1006
msgid "Skip Anthology Story?"
msgstr ""
-#: fff_plugin.py:1005
+#: fff_plugin.py:1007
msgid "\"%s\" is in series \"%s\" that you have an anthology book for."
msgstr ""
-#: fff_plugin.py:1006
+#: fff_plugin.py:1008
msgid "Click 'Yes' to Skip."
msgstr ""
-#: fff_plugin.py:1009
+#: fff_plugin.py:1011
msgid "Story in Series Anthology(%s)."
msgstr ""
-#: fff_plugin.py:1014
+#: fff_plugin.py:1016
msgid "Skipped"
msgstr ""
-#: fff_plugin.py:1043
+#: fff_plugin.py:1046
msgid "Add"
msgstr ""
-#: fff_plugin.py:1056
+#: fff_plugin.py:1059
msgid "Meta"
msgstr ""
-#: fff_plugin.py:1087
+#: fff_plugin.py:1090
msgid "Skipping duplicate story."
msgstr ""
-#: fff_plugin.py:1090
+#: fff_plugin.py:1093
msgid "More than one identical book by Identifer URL or title/author(s)--can't tell which book to update/overwrite."
msgstr ""
-#: fff_plugin.py:1101
+#: fff_plugin.py:1104
msgid "Update"
msgstr ""
-#: fff_plugin.py:1109 fff_plugin.py:1116
+#: fff_plugin.py:1112 fff_plugin.py:1119
msgid "Change Story URL?"
msgstr ""
-#: fff_plugin.py:1117
+#: fff_plugin.py:1120
msgid "%s by %s is already in your library with a different source URL:"
msgstr ""
-#: fff_plugin.py:1118
+#: fff_plugin.py:1121
msgid "In library: %(liburl)s"
msgstr ""
-#: fff_plugin.py:1119 fff_plugin.py:1133
+#: fff_plugin.py:1122 fff_plugin.py:1136
msgid "New URL: %(newurl)s"
msgstr ""
-#: fff_plugin.py:1120
+#: fff_plugin.py:1123
msgid "Click 'Yes' to update/overwrite book with new URL."
msgstr ""
-#: fff_plugin.py:1121
+#: fff_plugin.py:1124
msgid "Click 'No' to skip updating/overwriting this book."
msgstr ""
-#: fff_plugin.py:1123 fff_plugin.py:1130
+#: fff_plugin.py:1126 fff_plugin.py:1133
msgid "Download as New Book?"
msgstr ""
-#: fff_plugin.py:1131
+#: fff_plugin.py:1134
msgid "%s by %s is already in your library with a different source URL."
msgstr ""
-#: fff_plugin.py:1132
+#: fff_plugin.py:1135
msgid "You chose not to update the existing book. Do you want to add a new book for this URL?"
msgstr ""
-#: fff_plugin.py:1134
+#: fff_plugin.py:1137
msgid "Click 'Yes' to a new book with new URL."
msgstr ""
-#: fff_plugin.py:1135
+#: fff_plugin.py:1138
msgid "Click 'No' to skip URL."
msgstr ""
-#: fff_plugin.py:1141
+#: fff_plugin.py:1144
msgid "Update declined by user due to differing story URL(%s)"
msgstr ""
-#: fff_plugin.py:1144
+#: fff_plugin.py:1147
msgid "Different URL"
msgstr ""
-#: fff_plugin.py:1149
+#: fff_plugin.py:1152
msgid "Metadata collected."
msgstr ""
-#: fff_plugin.py:1165
+#: fff_plugin.py:1168
msgid "Already contains %d chapters."
msgstr ""
-#: fff_plugin.py:1167 jobs.py:206
+#: fff_plugin.py:1170 jobs.py:209
msgid "Existing epub contains %d chapters, web site only has %d. Use Overwrite to force update."
msgstr ""
-#: fff_plugin.py:1169
+#: fff_plugin.py:1172
msgid "FanFicFare doesn't recognize chapters in existing epub, epub is probably from a different source. Use Overwrite to force update."
msgstr ""
-#: fff_plugin.py:1181
+#: fff_plugin.py:1184
msgid "Not Overwriting, web site is not newer."
msgstr ""
-#: fff_plugin.py:1295
+#: fff_plugin.py:1299
msgid "None of the %d URLs/stories given can be/need to be downloaded."
msgstr ""
-#: fff_plugin.py:1296 fff_plugin.py:1493 fff_plugin.py:1523
+#: fff_plugin.py:1300 fff_plugin.py:1497 fff_plugin.py:1527
msgid "See log for details."
msgstr ""
-#: fff_plugin.py:1297
+#: fff_plugin.py:1301
msgid "Proceed with updating your library(Error Column, if configured)?"
msgstr ""
-#: fff_plugin.py:1304 fff_plugin.py:1505
+#: fff_plugin.py:1308 fff_plugin.py:1509
msgid "Bad"
msgstr ""
-#: fff_plugin.py:1312
+#: fff_plugin.py:1316
msgid "FanFicFare download ended"
msgstr ""
-#: fff_plugin.py:1312 fff_plugin.py:1548
+#: fff_plugin.py:1316 fff_plugin.py:1552
msgid "FanFicFare log"
msgstr ""
-#: fff_plugin.py:1332
+#: fff_plugin.py:1336
msgid "Download FanFiction Book"
msgstr ""
-#: fff_plugin.py:1339
+#: fff_plugin.py:1343
msgid "Starting %d FanFicFare Downloads"
msgstr ""
-#: fff_plugin.py:1369
+#: fff_plugin.py:1373
msgid "Story Details:"
msgstr ""
-#: fff_plugin.py:1372
+#: fff_plugin.py:1376
msgid "Error Updating Metadata"
msgstr ""
-#: fff_plugin.py:1373
+#: fff_plugin.py:1377
msgid "An error has occurred while FanFicFare was updating calibre's metadata for %s."
msgstr ""
-#: fff_plugin.py:1374
+#: fff_plugin.py:1378
msgid "The ebook has been updated, but the metadata has not."
msgstr ""
-#: fff_plugin.py:1426
+#: fff_plugin.py:1430
msgid "Finished Adding/Updating %d books."
msgstr ""
-#: fff_plugin.py:1456
+#: fff_plugin.py:1460
msgid "Starting auto conversion of %d books."
msgstr ""
-#: fff_plugin.py:1477
+#: fff_plugin.py:1481
msgid "No Good Stories for Anthology"
msgstr ""
-#: fff_plugin.py:1478
+#: fff_plugin.py:1482
msgid "No good stories/updates where downloaded, Anthology creation/update aborted."
msgstr ""
-#: fff_plugin.py:1483 fff_plugin.py:1522
+#: fff_plugin.py:1487 fff_plugin.py:1526
msgid "FanFicFare found %s good and %s bad updates."
msgstr ""
-#: fff_plugin.py:1490
+#: fff_plugin.py:1494
msgid "Are you sure you want to continue with creating/updating this Anthology?"
msgstr ""
-#: fff_plugin.py:1491
+#: fff_plugin.py:1495
msgid "Any updates that failed will not be included in the Anthology."
msgstr ""
-#: fff_plugin.py:1492
+#: fff_plugin.py:1496
msgid "However, if there's an older version, it will still be included."
msgstr ""
-#: fff_plugin.py:1495
+#: fff_plugin.py:1499
msgid "Proceed with updating this anthology and your library?"
msgstr ""
-#: fff_plugin.py:1503
+#: fff_plugin.py:1507
msgid "Good"
msgstr ""
-#: fff_plugin.py:1524
+#: fff_plugin.py:1528
msgid "Proceed with updating your library?"
msgstr ""
-#: fff_plugin.py:1548
+#: fff_plugin.py:1552
msgid "FanFicFare download complete"
msgstr ""
-#: fff_plugin.py:1561
+#: fff_plugin.py:1565
msgid "Merging %s books."
msgstr ""
-#: fff_plugin.py:1601
+#: fff_plugin.py:1605
msgid "FanFicFare Adding/Updating books."
msgstr ""
-#: fff_plugin.py:1608
+#: fff_plugin.py:1612
msgid "Updating calibre for FanFiction stories..."
msgstr ""
-#: fff_plugin.py:1609
+#: fff_plugin.py:1613
msgid "Update calibre for FanFiction stories"
msgstr ""
-#: fff_plugin.py:1618
+#: fff_plugin.py:1622
msgid "Adding/Updating %s BAD books."
msgstr ""
-#: fff_plugin.py:1627
+#: fff_plugin.py:1631
msgid "Updating calibre for BAD FanFiction stories..."
msgstr ""
-#: fff_plugin.py:1628
+#: fff_plugin.py:1632
msgid "Update calibre for BAD FanFiction stories"
msgstr ""
-#: fff_plugin.py:1654
+#: fff_plugin.py:1658
msgid "Adding format to book failed for some reason..."
msgstr ""
-#: fff_plugin.py:1657
+#: fff_plugin.py:1661
msgid "Error"
msgstr ""
-#: fff_plugin.py:1970
+#: fff_plugin.py:1974
msgid "You configured FanFicFare to automatically update Reading Lists, but you don't have the %s plugin installed anymore?"
msgstr ""
-#: fff_plugin.py:1982
+#: fff_plugin.py:1986
msgid "You configured FanFicFare to automatically update \"To Read\" Reading Lists, but you don't have any lists set?"
msgstr ""
-#: fff_plugin.py:1992 fff_plugin.py:2010
+#: fff_plugin.py:1996 fff_plugin.py:2014
msgid "You configured FanFicFare to automatically update Reading List '%s', but you don't have a list of that name?"
msgstr ""
-#: fff_plugin.py:1998
+#: fff_plugin.py:2002
msgid "You configured FanFicFare to automatically update \"Send to Device\" Reading Lists, but you don't have any lists set?"
msgstr ""
-#: fff_plugin.py:2119
+#: fff_plugin.py:2123
msgid "No story URL found."
msgstr ""
-#: fff_plugin.py:2122
+#: fff_plugin.py:2126
msgid "Not Found"
msgstr ""
-#: fff_plugin.py:2128
+#: fff_plugin.py:2132
msgid "URL is not a valid story URL."
msgstr ""
-#: fff_plugin.py:2131
+#: fff_plugin.py:2135
msgid "Bad URL"
msgstr ""
-#: fff_plugin.py:2270 fff_plugin.py:2273
+#: fff_plugin.py:2274 fff_plugin.py:2277
msgid "Anthology containing:"
msgstr ""
-#: fff_plugin.py:2271
+#: fff_plugin.py:2275
msgid "%s by %s"
msgstr ""
-#: fff_plugin.py:2293
+#: fff_plugin.py:2297
msgid " Anthology"
msgstr ""
-#: fff_plugin.py:2336
+#: fff_plugin.py:2340
msgid "(was set, removed for security)"
msgstr ""
@@ -1829,11 +1837,11 @@ msgstr ""
msgid "Download started..."
msgstr ""
-#: jobs.py:198
+#: jobs.py:200
msgid "Already contains %d chapters. Reuse as is."
msgstr ""
-#: jobs.py:218
+#: jobs.py:221
msgid "Update %s completed, added %s chapters for %s total."
msgstr ""