diff --git a/calibre-plugin/config.py b/calibre-plugin/config.py index 17c61027..56a74923 100644 --- a/calibre-plugin/config.py +++ b/calibre-plugin/config.py @@ -1155,7 +1155,7 @@ class ImapTab(QWidget): row+=1 label = QLabel(_('IMAP User Name')) - tooltip = _("Name of IMAP user. Eg: yourname@gmail.com\nNote that Gmail addresses need to have IMAP enabled in Gmail Settings first.") + tooltip = _("Name of IMAP user. Eg: yourname@gmail.com\nNote that Gmail accounts need to have IMAP enabled in Gmail Settings first.") label.setToolTip(tooltip) self.l.addWidget(label,row,0) self.imapuser = QLineEdit(self) @@ -1165,7 +1165,7 @@ class ImapTab(QWidget): row+=1 label = QLabel(_('IMAP User Password')) - tooltip = _("IMAP password. If left empty, FFDL will ask you for your password when you .") + tooltip = _("IMAP password. If left empty, FFDL will ask you for your password when you use the feature.") label.setToolTip(tooltip) self.l.addWidget(label,row,0) self.imappass = QLineEdit(self) @@ -1175,8 +1175,8 @@ class ImapTab(QWidget): self.l.addWidget(self.imappass,row,1) row+=1 - self.imapsessionpass = QCheckBox(_('Remember Password for Session (when not entered above)'),self) - self.imapsessionpass.setToolTip(_('If checked, and no password is entered above, FFDL will remember your password until you close calibre or change libraries.')) + self.imapsessionpass = QCheckBox(_('Remember Password for Session (when not saved above)'),self) + self.imapsessionpass.setToolTip(_('If checked, and no password is entered above, FFDL will remember your password until you close calibre or change Libraries.')) self.imapsessionpass.setChecked(prefs['imapsessionpass']) self.l.addWidget(self.imapsessionpass,row,0,1,-1) row+=1 diff --git a/calibre-plugin/dialogs.py b/calibre-plugin/dialogs.py index 6254cc9f..e70f2c16 100644 --- a/calibre-plugin/dialogs.py +++ b/calibre-plugin/dialogs.py @@ -1447,7 +1447,7 @@ class EmailPassDialog(QDialog): self.setLayout(self.l) self.setWindowTitle(_('Password')) - self.l.addWidget(QLabel(_("Enter Email Password for %s:"%user)),0,0,1,2) + self.l.addWidget(QLabel(_("Enter Email Password for %s:")%user),0,0,1,2) # self.l.addWidget(QLabel(_("Password:")),1,0) self.passwd = QLineEdit(self) diff --git a/calibre-plugin/ffdl_plugin.py b/calibre-plugin/ffdl_plugin.py index 9ece4d9e..0a644ae0 100644 --- a/calibre-plugin/ffdl_plugin.py +++ b/calibre-plugin/ffdl_plugin.py @@ -399,10 +399,8 @@ class FanFictionDownLoaderPlugin(InterfaceAction): def get_urls_from_imap_menu(self): if not prefs['imapserver'] or not prefs['imapuser'] or not prefs['imapfolder']: - info_dialog(self.gui, _('Email Settings not Configured'), - _('FFDL Email Settings are not configured.'), - show=True, - show_copy_button=False) + s=_('FFDL Email Settings are not configured.') + info_dialog(self.gui, s, s, show=True, show_copy_button=False) return imap_pass = None diff --git a/calibre-plugin/translations/messages.pot b/calibre-plugin/translations/messages.pot index 682f043e..5818b969 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-01-09 13:16+Central Standard Time\n" +"POT-Creation-Date: 2015-02-15 09:23+Central Standard Time\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,86 +44,90 @@ msgid "Custom Columns" msgstr "" #: config.py:220 +msgid "Email Settings" +msgstr "" + +#: config.py:223 msgid "Other" msgstr "" -#: config.py:343 +#: config.py:353 msgid "These settings control the basic features of the plugin--downloading FanFiction." msgstr "" -#: config.py:347 +#: config.py:357 msgid "Defaults Options on Download" msgstr "" -#: config.py:351 +#: config.py:361 msgid "On each download, FFDL offers an option to select the output format.
This sets what that option will default to." msgstr "" -#: config.py:353 +#: config.py:363 msgid "Default Output &Format:" msgstr "" -#: config.py:368 +#: config.py:378 msgid "On each download, FFDL offers an option of what happens if that story already exists.
This sets what that option will default to." msgstr "" -#: config.py:370 +#: config.py:380 msgid "Default If Story Already Exists?" msgstr "" -#: config.py:384 +#: config.py:394 msgid "Default Update Calibre &Metadata?" msgstr "" -#: config.py:385 +#: config.py:395 msgid "On each download, FFDL 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:389 +#: config.py:399 msgid "Default Update EPUB Cover when Updating EPUB?" msgstr "" -#: config.py:390 +#: config.py:400 msgid "On each download, FFDL 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:394 +#: config.py:404 msgid "Smarten Punctuation (EPUB only)" msgstr "" -#: config.py:395 +#: config.py:405 msgid "Run Smarten Punctuation from Calibre's Polish Book feature on each EPUB download and update." msgstr "" -#: config.py:400 +#: config.py:410 msgid "Updating Calibre Options" msgstr "" -#: config.py:404 +#: config.py:414 msgid "Delete other existing formats?" msgstr "" -#: config.py:405 +#: config.py:415 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:409 +#: config.py:419 msgid "Update Calibre Cover when Updating Metadata?" msgstr "" -#: config.py:410 +#: config.py:420 msgid "" "Update calibre book cover image from EPUB when metadata is updated. (EPUB only.)\n" "Doesn't go looking for new images on 'Update Calibre Metadata Only'." msgstr "" -#: config.py:414 +#: config.py:424 msgid "Keep Existing Tags when Updating Metadata?" msgstr "" -#: config.py:415 +#: config.py:425 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" @@ -131,611 +135,669 @@ msgid "" "(If Tags is set to 'New Only' in the Standard Columns tab, this has no effect.)" msgstr "" -#: config.py:419 +#: config.py:429 msgid "Force Author into Author Sort?" msgstr "" -#: config.py:420 +#: config.py:430 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:424 +#: config.py:434 msgid "Force Title into Title Sort?" msgstr "" -#: config.py:425 +#: config.py:435 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:429 +#: config.py:439 msgid "Check for existing Series Anthology books?" msgstr "" -#: config.py:430 +#: config.py:440 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:434 +#: config.py:444 msgid "Check for changed Story URL?" msgstr "" -#: config.py:435 +#: config.py:445 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:439 +#: config.py:449 msgid "Search EPUB text for Story URL?" msgstr "" -#: config.py:440 +#: config.py:450 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:444 +#: config.py:454 msgid "Mark added/updated books when finished?" msgstr "" -#: config.py:445 +#: config.py:455 msgid "" "Mark added/updated books when finished. Use with option below.\n" "You can also manually search for 'marked:ffdl_success'.\n" "'marked:ffdl_failed' is also available, or search 'marked:ffdl' for both." msgstr "" -#: config.py:449 +#: config.py:459 msgid "Show Marked books when finished?" msgstr "" -#: config.py:450 +#: config.py:460 msgid "" "Show Marked added/updated books only when finished.\n" "You can also manually search for 'marked:ffdl_success'.\n" "'marked:ffdl_failed' is also available, or search 'marked:ffdl' for both." msgstr "" -#: config.py:454 +#: config.py:464 msgid "Automatically Convert new/update books?" msgstr "" -#: config.py:455 +#: config.py:465 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:459 +#: config.py:469 msgid "Show estimated time left?" msgstr "" -#: config.py:460 +#: config.py:470 msgid "When a Progress Bar is shown, show a rough estimate of the time left." msgstr "" -#: config.py:464 +#: config.py:474 msgid "GUI Options" msgstr "" -#: config.py:468 +#: config.py:478 msgid "Take URLs from Clipboard?" msgstr "" -#: config.py:469 +#: config.py:479 msgid "Prefill URLs from valid URLs in Clipboard when Adding New." msgstr "" -#: config.py:473 +#: config.py:483 msgid "Default to Update when books selected?" msgstr "" -#: config.py:474 +#: config.py:484 msgid "" "The top FanFictionDownLoader plugin button will start Update if\n" "books are selected. If unchecked, it will always bring up 'Add New'." msgstr "" -#: config.py:478 +#: config.py:488 msgid "Keep 'Add New from URL(s)' dialog on top?" msgstr "" -#: config.py:479 +#: config.py:489 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:483 +#: config.py:493 msgid "Misc Options" msgstr "" -#: config.py:488 +#: config.py:498 msgid "Include images in EPUBs?" msgstr "" -#: config.py:489 +#: config.py:499 msgid "Download and include images in EPUB stories. This is equivalent to adding:%(imgset)s ...to the top of %(pini)s. Your settings in %(pini)s will override this." msgstr "" -#: config.py:493 +#: config.py:503 msgid "Inject calibre Series when none found?" msgstr "" -#: config.py:494 +#: config.py:504 msgid "If no series is found, inject the calibre series (if there is one) so it appears on the FFDL title page(not cover)." msgstr "" -#: config.py:498 +#: config.py:508 msgid "Reject List" msgstr "" -#: config.py:502 +#: config.py:512 msgid "Edit Reject URL List" msgstr "" -#: config.py:503 +#: config.py:513 msgid "Edit list of URLs FFDL will automatically Reject." msgstr "" -#: config.py:507 config.py:578 +#: config.py:517 config.py:588 msgid "Add Reject URLs" msgstr "" -#: config.py:508 +#: config.py:518 msgid "Add additional URLs to Reject as text." msgstr "" -#: config.py:512 +#: config.py:522 msgid "Edit Reject Reasons List" msgstr "" -#: config.py:513 config.py:568 +#: config.py:523 config.py:578 msgid "Customize the Reasons presented when Rejecting URLs" msgstr "" -#: config.py:517 +#: config.py:527 msgid "Reject Without Confirmation?" msgstr "" -#: config.py:518 +#: config.py:528 msgid "Always reject URLs on the Reject List without stopping and asking." msgstr "" -#: config.py:552 +#: config.py:562 msgid "Edit Reject URLs List" msgstr "" -#: config.py:566 +#: config.py:576 msgid "Reject Reasons" msgstr "" -#: config.py:567 +#: config.py:577 msgid "Customize Reject List Reasons" msgstr "" -#: config.py:576 +#: config.py:586 msgid "Reason why I rejected it" msgstr "" -#: config.py:576 +#: config.py:586 msgid "Title by Author" msgstr "" -#: config.py:579 +#: config.py:589 msgid "Add Reject URLs. Use: http://...,note or http://...,title by author - note
Invalid story URLs will be ignored." msgstr "" -#: config.py:580 +#: config.py:590 msgid "" "One URL per line:\n" "http://...,note\n" "http://...,title by author - note" msgstr "" -#: config.py:582 dialogs.py:1061 +#: config.py:592 dialogs.py:1061 msgid "Add this reason to all URLs added:" msgstr "" -#: config.py:598 +#: config.py:608 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:603 +#: config.py:613 msgid "New:" msgstr "" -#: config.py:603 +#: config.py:613 msgid "FFDL now includes find, color coding, and error checking for personal.ini editing. Red generally indicates errors." msgstr "" -#: config.py:622 config.py:654 config.py:655 config.py:656 +#: config.py:632 config.py:664 config.py:665 config.py:666 msgid "Edit personal.ini" msgstr "" -#: config.py:627 +#: config.py:637 msgid "View Defaults" msgstr "" -#: config.py:628 +#: config.py:638 msgid "" "View all of the plugin's configurable settings\n" "and their default settings." msgstr "" -#: config.py:632 +#: config.py:642 msgid "Changes will only be saved if you click 'OK' to leave Customize FFDL." msgstr "" -#: config.py:643 +#: config.py:653 msgid "Plugin Defaults" msgstr "" -#: config.py:644 +#: config.py:654 msgid "Plugin Defaults (%s) (Read-Only)" msgstr "" -#: config.py:645 +#: config.py:655 msgid "" "These are all of the plugin's configurable options\n" "and their default settings." msgstr "" -#: config.py:679 +#: config.py:689 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:684 +#: config.py:694 msgid "Add new/updated stories to \"Send to Device\" Reading List(s)." msgstr "" -#: config.py:685 +#: config.py:695 msgid "Automatically add new/updated stories to these lists in the %(rl)s plugin." msgstr "" -#: config.py:690 +#: config.py:700 msgid "\"Send to Device\" Reading Lists" msgstr "" -#: config.py:691 config.py:694 config.py:707 config.py:710 +#: config.py:701 config.py:704 config.py:717 config.py:720 msgid "When enabled, new/updated stories will be automatically added to these lists." msgstr "" -#: config.py:700 +#: config.py:710 msgid "Add new/updated stories to \"To Read\" Reading List(s)." msgstr "" -#: config.py:701 +#: config.py:711 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:706 +#: config.py:716 msgid "\"To Read\" Reading Lists" msgstr "" -#: config.py:716 +#: config.py:726 msgid "Add stories back to \"Send to Device\" Reading List(s) when marked \"Read\"." msgstr "" -#: config.py:717 +#: config.py:727 msgid "Menu option to remove from \"To Read\" lists will also add stories back to \"Send to Device\" Reading List(s)" msgstr "" -#: config.py:739 +#: config.py:749 msgid "The %(gc)s plugin can create cover images for books using various metadata and configurations. If you have GC installed, FFDL can run GC on new downloads and metadata updates. Pick a GC setting by site or Default." msgstr "" -#: config.py:757 config.py:761 config.py:774 +#: config.py:767 config.py:771 config.py:784 msgid "Default" msgstr "" -#: config.py:762 +#: config.py:772 msgid "On Metadata update, run %(gc)s with this setting, if not selected for specific site." msgstr "" -#: config.py:765 +#: config.py:775 msgid "On Metadata update, run %(gc)s with this setting for %(site)s stories." msgstr "" -#: config.py:788 +#: config.py:798 msgid "Run %(gc)s Only on New Books" msgstr "" -#: config.py:789 +#: config.py:799 msgid "Default is to run GC any time the calibre metadata is updated." msgstr "" -#: config.py:793 +#: config.py:803 msgid "Allow %(gcset)s from %(pini)s to override" msgstr "" -#: config.py:794 +#: config.py:804 msgid "The %(pini)s parameter %(gcset)s allows you to choose a GC setting based on metadata rather than site, but it's much more complex.
%(gcset)s is ignored when this is off." msgstr "" -#: config.py:798 +#: config.py:808 msgid "Use calibre's Polish feature to inject/update the cover" msgstr "" -#: config.py:799 +#: config.py:809 msgid "Calibre's Polish feature will be used to inject or update the generated cover into the ebook, EPUB only." msgstr "" -#: config.py:813 +#: config.py:823 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:818 +#: config.py:828 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:824 +#: config.py:834 msgid "Which column and algorithm to use are configured in %(cp)s." msgstr "" -#: config.py:834 +#: config.py:844 msgid "Will overwrite word count from FFDL metadata if set to update the same custom column." msgstr "" -#: config.py:839 +#: config.py:849 msgid "Only run Count Page's Word Count if checked and FFDL 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:875 +#: config.py:885 msgid "These controls aren't plugin settings as such, but convenience buttons for setting Keyboard shortcuts and getting all the FanFictionDownLoader confirmation dialogs back again." msgstr "" -#: config.py:880 +#: config.py:890 msgid "Keyboard shortcuts..." msgstr "" -#: config.py:881 +#: config.py:891 msgid "Edit the keyboard shortcuts associated with this plugin" msgstr "" -#: config.py:885 +#: config.py:895 msgid "Reset disabled &confirmation dialogs" msgstr "" -#: config.py:886 +#: config.py:896 msgid "Reset all show me again dialogs for the FanFictionDownLoader plugin" msgstr "" -#: config.py:890 +#: config.py:900 msgid "&View library preferences..." msgstr "" -#: config.py:891 +#: config.py:901 msgid "View data stored in the library database for this plugin" msgstr "" -#: config.py:902 +#: config.py:912 msgid "Done" msgstr "" -#: config.py:903 +#: config.py:913 msgid "Confirmation dialogs have all been reset" msgstr "" -#: config.py:951 +#: config.py:961 msgid "Category" msgstr "" -#: config.py:952 +#: config.py:962 msgid "Genre" msgstr "" -#: config.py:953 +#: config.py:963 msgid "Language" msgstr "" -#: config.py:954 ffdl_plugin.py:1152 ffdl_plugin.py:1350 ffdl_plugin.py:1380 +#: config.py:964 ffdl_plugin.py:1199 ffdl_plugin.py:1397 ffdl_plugin.py:1427 msgid "Status" msgstr "" -#: config.py:955 +#: config.py:965 msgid "Status:%(cmplt)s" msgstr "" -#: config.py:956 +#: config.py:966 msgid "Status:%(inprog)s" msgstr "" -#: config.py:957 config.py:1091 +#: config.py:967 config.py:1101 msgid "Series" msgstr "" -#: config.py:958 +#: config.py:968 msgid "Characters" msgstr "" -#: config.py:959 +#: config.py:969 msgid "Relationships" msgstr "" -#: config.py:960 +#: config.py:970 msgid "Published" msgstr "" -#: config.py:961 ffdl_plugin.py:1463 ffdl_plugin.py:1482 +#: config.py:971 ffdl_plugin.py:1510 ffdl_plugin.py:1529 msgid "Updated" msgstr "" -#: config.py:962 +#: config.py:972 msgid "Created" msgstr "" -#: config.py:963 +#: config.py:973 msgid "Rating" msgstr "" -#: config.py:964 +#: config.py:974 msgid "Warnings" msgstr "" -#: config.py:965 +#: config.py:975 msgid "Chapters" msgstr "" -#: config.py:966 +#: config.py:976 msgid "Words" msgstr "" -#: config.py:967 +#: config.py:977 msgid "Site" msgstr "" -#: config.py:968 +#: config.py:978 msgid "Story ID" msgstr "" -#: config.py:969 +#: config.py:979 msgid "Author ID" msgstr "" -#: config.py:970 +#: config.py:980 msgid "Extra Tags" msgstr "" -#: config.py:971 config.py:1083 dialogs.py:853 dialogs.py:949 -#: ffdl_plugin.py:1152 ffdl_plugin.py:1350 ffdl_plugin.py:1380 +#: config.py:981 config.py:1093 dialogs.py:853 dialogs.py:949 +#: ffdl_plugin.py:1199 ffdl_plugin.py:1397 ffdl_plugin.py:1427 msgid "Title" msgstr "" -#: config.py:972 +#: config.py:982 msgid "Story URL" msgstr "" -#: config.py:973 +#: config.py:983 msgid "Description" msgstr "" -#: config.py:974 dialogs.py:853 dialogs.py:949 ffdl_plugin.py:1152 -#: ffdl_plugin.py:1350 ffdl_plugin.py:1380 +#: config.py:984 dialogs.py:853 dialogs.py:949 ffdl_plugin.py:1199 +#: ffdl_plugin.py:1397 ffdl_plugin.py:1427 msgid "Author" msgstr "" -#: config.py:975 +#: config.py:985 msgid "Author URL" msgstr "" -#: config.py:976 +#: config.py:986 msgid "File Format" msgstr "" -#: config.py:977 +#: config.py:987 msgid "File Extension" msgstr "" -#: config.py:978 +#: config.py:988 msgid "Site Abbrev" msgstr "" -#: config.py:979 +#: config.py:989 msgid "FFDL Version" msgstr "" -#: config.py:994 +#: config.py:1004 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:1019 +#: config.py:1029 msgid "Update this %s column(%s) with..." msgstr "" -#: config.py:1029 +#: config.py:1039 msgid "Values that aren't valid for this enumeration column will be ignored." msgstr "" -#: config.py:1029 config.py:1031 +#: config.py:1039 config.py:1041 msgid "Metadata values valid for this type of column." msgstr "" -#: config.py:1034 config.py:1110 +#: config.py:1044 config.py:1120 msgid "New Only" msgstr "" -#: config.py:1035 +#: config.py:1045 msgid "" "Write to %s(%s) only for new\n" "books, not updates to existing books." msgstr "" -#: config.py:1046 +#: config.py:1056 msgid "Allow %(ccset)s from %(pini)s to override" msgstr "" -#: config.py:1047 +#: config.py:1057 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:1052 +#: config.py:1062 msgid "Special column:" msgstr "" -#: config.py:1057 +#: config.py:1067 msgid "Update/Overwrite Error Column:" msgstr "" -#: config.py:1058 +#: config.py:1068 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:1084 +#: config.py:1094 msgid "Author(s)" msgstr "" -#: config.py:1085 +#: config.py:1095 msgid "Publisher" msgstr "" -#: config.py:1086 +#: config.py:1096 msgid "Tags" msgstr "" -#: config.py:1087 +#: config.py:1097 msgid "Languages" msgstr "" -#: config.py:1088 +#: config.py:1098 msgid "Published Date" msgstr "" -#: config.py:1089 +#: config.py:1099 msgid "Date" msgstr "" -#: config.py:1090 +#: config.py:1100 msgid "Comments" msgstr "" -#: config.py:1092 +#: config.py:1102 msgid "Ids(url id only)" msgstr "" -#: config.py:1097 +#: config.py:1107 msgid "The standard calibre metadata columns are listed below. You may choose whether FFDL will fill each column automatically on updates or only for new books." msgstr "" -#: config.py:1111 +#: config.py:1121 msgid "" "Write to %s only for new\n" "books, not updates to existing books." msgstr "" +#: config.py:1142 +msgid "These settings will allow FFDL 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:1147 +msgid "IMAP Server Name" +msgstr "" + +#: config.py:1148 +msgid "Name of IMAP server--must allow IMAP4 with SSL. Eg: imap.gmail.com" +msgstr "" + +#: config.py:1157 +msgid "IMAP User Name" +msgstr "" + +#: config.py:1158 +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:1167 +msgid "IMAP User Password" +msgstr "" + +#: config.py:1168 +msgid "IMAP password. If left empty, FFDL will ask you for your password when you use the feature." +msgstr "" + +#: config.py:1178 +msgid "Remember Password for Session (when not saved above)" +msgstr "" + +#: config.py:1179 +msgid "If checked, and no password is entered above, FFDL will remember your password until you close calibre or change Libraries." +msgstr "" + +#: config.py:1184 +msgid "IMAP Folder Name" +msgstr "" + +#: config.py:1185 +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:1194 +msgid "Mark Emails Read" +msgstr "" + +#: config.py:1195 +msgid "If checked, emails will be marked as having been read if they contain any story URLs." +msgstr "" + +#: config.py:1200 +msgid "It's safest if you create a separate email account that you use only for your story update notices. FFDL 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 "" + #: dialogs.py:76 msgid "Skip" msgstr "" @@ -853,11 +915,11 @@ msgid "" "Requires %s plugin." msgstr "" -#: dialogs.py:499 dialogs.py:553 dialogs.py:580 +#: dialogs.py:499 dialogs.py:553 dialogs.py:580 dialogs.py:1461 msgid "Cancel" msgstr "" -#: dialogs.py:531 +#: dialogs.py:531 dialogs.py:1449 msgid "Password" msgstr "" @@ -881,7 +943,7 @@ msgstr "" msgid "Password:" msgstr "" -#: dialogs.py:549 dialogs.py:694 +#: dialogs.py:549 dialogs.py:694 dialogs.py:1457 msgid "OK" msgstr "" @@ -937,7 +999,7 @@ msgstr "" msgid "less than 1 second" msgstr "" -#: dialogs.py:689 ffdl_plugin.py:331 +#: dialogs.py:689 ffdl_plugin.py:342 msgid "About FanFictionDownLoader" msgstr "" @@ -953,7 +1015,7 @@ msgstr "" msgid "What sort of update to perform. May set default from plugin configuration." msgstr "" -#: dialogs.py:853 ffdl_plugin.py:1152 ffdl_plugin.py:1350 ffdl_plugin.py:1380 +#: dialogs.py:853 ffdl_plugin.py:1199 ffdl_plugin.py:1397 ffdl_plugin.py:1427 msgid "Comment" msgstr "" @@ -1045,6 +1107,10 @@ msgstr "" msgid "Save Anyway" msgstr "" +#: dialogs.py:1450 +msgid "Enter Email Password for %s:" +msgstr "" + #: ffdl_plugin.py:90 msgid "Download FanFiction stories from various web sites" msgstr "" @@ -1053,551 +1119,567 @@ msgstr "" msgid "FanFictionDL" msgstr "" -#: ffdl_plugin.py:249 +#: ffdl_plugin.py:252 msgid "&Add New from URL(s)" msgstr "" -#: ffdl_plugin.py:251 +#: ffdl_plugin.py:254 msgid "Add New FanFiction Book(s) from URL(s)" msgstr "" -#: ffdl_plugin.py:254 +#: ffdl_plugin.py:257 msgid "&Update Existing FanFiction Book(s)" msgstr "" -#: ffdl_plugin.py:260 +#: ffdl_plugin.py:263 ffdl_plugin.py:316 +msgid "Get Story URLs to Download from Email" +msgstr "" + +#: ffdl_plugin.py:267 msgid "Get Story URLs to Download from Web Page" msgstr "" -#: ffdl_plugin.py:264 +#: ffdl_plugin.py:271 msgid "&Make Anthology Epub Manually from URL(s)" msgstr "" -#: ffdl_plugin.py:266 +#: ffdl_plugin.py:273 msgid "Make FanFiction Anthology Epub Manually from URL(s)" msgstr "" -#: ffdl_plugin.py:269 +#: ffdl_plugin.py:276 msgid "&Update Anthology Epub" msgstr "" -#: ffdl_plugin.py:271 +#: ffdl_plugin.py:278 msgid "Update FanFiction Anthology Epub" msgstr "" -#: ffdl_plugin.py:279 +#: ffdl_plugin.py:286 msgid "Add to \"To Read\" and \"Send to Device\" Lists" msgstr "" -#: ffdl_plugin.py:281 +#: ffdl_plugin.py:288 msgid "Remove from \"To Read\" and add to \"Send to Device\" Lists" msgstr "" -#: ffdl_plugin.py:283 ffdl_plugin.py:288 +#: ffdl_plugin.py:290 ffdl_plugin.py:295 msgid "Remove from \"To Read\" Lists" msgstr "" -#: ffdl_plugin.py:285 +#: ffdl_plugin.py:292 msgid "Add Selected to \"Send to Device\" Lists" msgstr "" -#: ffdl_plugin.py:287 +#: ffdl_plugin.py:294 msgid "Add to \"To Read\" Lists" msgstr "" -#: ffdl_plugin.py:303 +#: ffdl_plugin.py:310 msgid "Get URLs from Selected Books" msgstr "" -#: ffdl_plugin.py:309 ffdl_plugin.py:397 +#: ffdl_plugin.py:320 ffdl_plugin.py:444 msgid "Get Story URLs from Web Page" msgstr "" -#: ffdl_plugin.py:314 +#: ffdl_plugin.py:325 msgid "Reject Selected Books" msgstr "" -#: ffdl_plugin.py:322 +#: ffdl_plugin.py:333 msgid "&Configure Plugin" msgstr "" -#: ffdl_plugin.py:325 +#: ffdl_plugin.py:336 msgid "Configure FanFictionDownLoader" msgstr "" -#: ffdl_plugin.py:328 +#: ffdl_plugin.py:339 msgid "About Plugin" msgstr "" -#: ffdl_plugin.py:379 +#: ffdl_plugin.py:390 msgid "Cannot Update Reading Lists from Device View" msgstr "" -#: ffdl_plugin.py:383 +#: ffdl_plugin.py:394 msgid "No Selected Books to Update Reading Lists" msgstr "" -#: ffdl_plugin.py:408 ffdl_plugin.py:460 +#: ffdl_plugin.py:402 +msgid "FFDL Email Settings are not configured." +msgstr "" + +#: ffdl_plugin.py:430 +msgid "Get Story URLs from Email" +msgstr "" + +#: ffdl_plugin.py:431 +msgid "No Valid Story URLs Found in Unread Emails." +msgstr "" + +#: ffdl_plugin.py:455 ffdl_plugin.py:507 msgid "List of Story URLs" msgstr "" -#: ffdl_plugin.py:409 +#: ffdl_plugin.py:456 msgid "No Valid Story URLs found on given page." msgstr "" -#: ffdl_plugin.py:424 +#: ffdl_plugin.py:471 msgid "No Selected Books to Get URLs From" msgstr "" -#: ffdl_plugin.py:442 +#: ffdl_plugin.py:489 msgid "Collecting URLs for stories..." msgstr "" -#: ffdl_plugin.py:443 +#: ffdl_plugin.py:490 msgid "Get URLs for stories" msgstr "" -#: ffdl_plugin.py:444 ffdl_plugin.py:491 ffdl_plugin.py:678 +#: ffdl_plugin.py:491 ffdl_plugin.py:538 ffdl_plugin.py:725 msgid "URL retrieved" msgstr "" -#: ffdl_plugin.py:464 +#: ffdl_plugin.py:511 msgid "List of URLs" msgstr "" -#: ffdl_plugin.py:465 +#: ffdl_plugin.py:512 msgid "No Story URLs found in selected books." msgstr "" -#: ffdl_plugin.py:481 +#: ffdl_plugin.py:528 msgid "No Selected Books have URLs to Reject" msgstr "" -#: ffdl_plugin.py:489 +#: ffdl_plugin.py:536 msgid "Collecting URLs for Reject List..." msgstr "" -#: ffdl_plugin.py:490 +#: ffdl_plugin.py:537 msgid "Get URLs for Reject List" msgstr "" -#: ffdl_plugin.py:525 +#: ffdl_plugin.py:572 msgid "Proceed to Remove?" msgstr "" -#: ffdl_plugin.py:525 +#: ffdl_plugin.py:572 msgid "Rejecting FFDL URLs: None of the books selected have FanFiction URLs." msgstr "" -#: ffdl_plugin.py:547 +#: ffdl_plugin.py:594 msgid "Cannot Make Anthologys without %s" msgstr "" -#: ffdl_plugin.py:551 ffdl_plugin.py:655 +#: ffdl_plugin.py:598 ffdl_plugin.py:702 msgid "Cannot Update Books from Device View" msgstr "" -#: ffdl_plugin.py:555 +#: ffdl_plugin.py:602 msgid "Can only update 1 anthology at a time" msgstr "" -#: ffdl_plugin.py:564 +#: ffdl_plugin.py:611 msgid "Can only Update Epub Anthologies" msgstr "" -#: ffdl_plugin.py:582 ffdl_plugin.py:583 +#: ffdl_plugin.py:629 ffdl_plugin.py:630 msgid "Cannot Update Anthology" msgstr "" -#: ffdl_plugin.py:583 +#: ffdl_plugin.py:630 msgid "Book isn't an FFDL Anthology or contains book(s) without valid FFDL URLs." msgstr "" -#: ffdl_plugin.py:641 +#: ffdl_plugin.py:688 msgid "There are %d stories in the current anthology that are not going to be kept if you go ahead." msgstr "" -#: ffdl_plugin.py:642 +#: ffdl_plugin.py:689 msgid "Story URLs that will be removed:" msgstr "" -#: ffdl_plugin.py:644 +#: ffdl_plugin.py:691 msgid "Update anyway?" msgstr "" -#: ffdl_plugin.py:645 +#: ffdl_plugin.py:692 msgid "Stories Removed" msgstr "" -#: ffdl_plugin.py:662 +#: ffdl_plugin.py:709 msgid "No Selected Books to Update" msgstr "" -#: ffdl_plugin.py:676 +#: ffdl_plugin.py:723 msgid "Collecting stories for update..." msgstr "" -#: ffdl_plugin.py:677 +#: ffdl_plugin.py:724 msgid "Get stories for updates" msgstr "" -#: ffdl_plugin.py:687 +#: ffdl_plugin.py:734 msgid "Update Existing List" msgstr "" -#: ffdl_plugin.py:745 +#: ffdl_plugin.py:792 msgid "Started fetching metadata for %s stories." msgstr "" -#: ffdl_plugin.py:751 +#: ffdl_plugin.py:798 msgid "No valid story URLs entered." msgstr "" -#: ffdl_plugin.py:776 ffdl_plugin.py:782 +#: ffdl_plugin.py:823 ffdl_plugin.py:829 msgid "Reject URL?" msgstr "" -#: ffdl_plugin.py:783 ffdl_plugin.py:801 +#: ffdl_plugin.py:830 ffdl_plugin.py:848 msgid "%s is on your Reject URL list:" msgstr "" -#: ffdl_plugin.py:785 +#: ffdl_plugin.py:832 msgid "Click 'Yes' to Reject." msgstr "" -#: ffdl_plugin.py:786 ffdl_plugin.py:890 +#: ffdl_plugin.py:833 ffdl_plugin.py:937 msgid "Click 'No' to download anyway." msgstr "" -#: ffdl_plugin.py:788 +#: ffdl_plugin.py:835 msgid "Story on Reject URLs list (%s)." msgstr "" -#: ffdl_plugin.py:791 +#: ffdl_plugin.py:838 msgid "Rejected" msgstr "" -#: ffdl_plugin.py:794 +#: ffdl_plugin.py:841 msgid "Remove Reject URL?" msgstr "" -#: ffdl_plugin.py:800 +#: ffdl_plugin.py:847 msgid "Remove URL from Reject List?" msgstr "" -#: ffdl_plugin.py:803 +#: ffdl_plugin.py:850 msgid "Click 'Yes' to remove it from the list," msgstr "" -#: ffdl_plugin.py:804 +#: ffdl_plugin.py:851 msgid "Click 'No' to leave it on the list." msgstr "" -#: ffdl_plugin.py:821 +#: ffdl_plugin.py:868 msgid "Cannot update non-epub format." msgstr "" -#: ffdl_plugin.py:866 +#: ffdl_plugin.py:913 msgid "Are You an Adult?" msgstr "" -#: ffdl_plugin.py:867 +#: ffdl_plugin.py:914 msgid "%s requires that you be an adult. Please confirm you are an adult in your locale:" msgstr "" -#: ffdl_plugin.py:881 +#: ffdl_plugin.py:928 msgid "Skip Story?" msgstr "" -#: ffdl_plugin.py:887 +#: ffdl_plugin.py:934 msgid "Skip Anthology Story?" msgstr "" -#: ffdl_plugin.py:888 +#: ffdl_plugin.py:935 msgid "\"%s\" is in series \"%s\" that you have an anthology book for." msgstr "" -#: ffdl_plugin.py:889 +#: ffdl_plugin.py:936 msgid "Click 'Yes' to Skip." msgstr "" -#: ffdl_plugin.py:892 +#: ffdl_plugin.py:939 msgid "Story in Series Anthology(%s)." msgstr "" -#: ffdl_plugin.py:897 +#: ffdl_plugin.py:944 msgid "Skipped" msgstr "" -#: ffdl_plugin.py:925 +#: ffdl_plugin.py:972 msgid "Add" msgstr "" -#: ffdl_plugin.py:938 +#: ffdl_plugin.py:985 msgid "Meta" msgstr "" -#: ffdl_plugin.py:971 +#: ffdl_plugin.py:1018 msgid "Skipping duplicate story." msgstr "" -#: ffdl_plugin.py:974 +#: ffdl_plugin.py:1021 msgid "More than one identical book by Identifer URL or title/author(s)--can't tell which book to update/overwrite." msgstr "" -#: ffdl_plugin.py:985 +#: ffdl_plugin.py:1032 msgid "Update" msgstr "" -#: ffdl_plugin.py:993 ffdl_plugin.py:1000 +#: ffdl_plugin.py:1040 ffdl_plugin.py:1047 msgid "Change Story URL?" msgstr "" -#: ffdl_plugin.py:1001 +#: ffdl_plugin.py:1048 msgid "%s by %s is already in your library with a different source URL:" msgstr "" -#: ffdl_plugin.py:1002 +#: ffdl_plugin.py:1049 msgid "In library: %(liburl)s" msgstr "" -#: ffdl_plugin.py:1003 ffdl_plugin.py:1017 +#: ffdl_plugin.py:1050 ffdl_plugin.py:1064 msgid "New URL: %(newurl)s" msgstr "" -#: ffdl_plugin.py:1004 +#: ffdl_plugin.py:1051 msgid "Click 'Yes' to update/overwrite book with new URL." msgstr "" -#: ffdl_plugin.py:1005 +#: ffdl_plugin.py:1052 msgid "Click 'No' to skip updating/overwriting this book." msgstr "" -#: ffdl_plugin.py:1007 ffdl_plugin.py:1014 +#: ffdl_plugin.py:1054 ffdl_plugin.py:1061 msgid "Download as New Book?" msgstr "" -#: ffdl_plugin.py:1015 +#: ffdl_plugin.py:1062 msgid "%s by %s is already in your library with a different source URL." msgstr "" -#: ffdl_plugin.py:1016 +#: ffdl_plugin.py:1063 msgid "You chose not to update the existing book. Do you want to add a new book for this URL?" msgstr "" -#: ffdl_plugin.py:1018 +#: ffdl_plugin.py:1065 msgid "Click 'Yes' to a new book with new URL." msgstr "" -#: ffdl_plugin.py:1019 +#: ffdl_plugin.py:1066 msgid "Click 'No' to skip URL." msgstr "" -#: ffdl_plugin.py:1025 +#: ffdl_plugin.py:1072 msgid "Update declined by user due to differing story URL(%s)" msgstr "" -#: ffdl_plugin.py:1028 +#: ffdl_plugin.py:1075 msgid "Different URL" msgstr "" -#: ffdl_plugin.py:1033 +#: ffdl_plugin.py:1080 msgid "Metadata collected." msgstr "" -#: ffdl_plugin.py:1049 +#: ffdl_plugin.py:1096 msgid "Already contains %d chapters." msgstr "" -#: ffdl_plugin.py:1054 jobs.py:198 +#: ffdl_plugin.py:1101 jobs.py:198 msgid "Existing epub contains %d chapters, web site only has %d. Use Overwrite to force update." msgstr "" -#: ffdl_plugin.py:1056 +#: ffdl_plugin.py:1103 msgid "FFDL doesn't recognize chapters in existing epub, epub is probably from a different source. Use Overwrite to force update." msgstr "" -#: ffdl_plugin.py:1068 +#: ffdl_plugin.py:1115 msgid "Not Overwriting, web site is not newer." msgstr "" -#: ffdl_plugin.py:1148 +#: ffdl_plugin.py:1195 msgid "None of the %d URLs/stories given can be/need to be downloaded." msgstr "" -#: ffdl_plugin.py:1149 ffdl_plugin.py:1346 ffdl_plugin.py:1376 +#: ffdl_plugin.py:1196 ffdl_plugin.py:1393 ffdl_plugin.py:1423 msgid "See log for details." msgstr "" -#: ffdl_plugin.py:1150 +#: ffdl_plugin.py:1197 msgid "Proceed with updating your library(Error Column, if configured)?" msgstr "" -#: ffdl_plugin.py:1157 ffdl_plugin.py:1358 +#: ffdl_plugin.py:1204 ffdl_plugin.py:1405 msgid "Bad" msgstr "" -#: ffdl_plugin.py:1165 +#: ffdl_plugin.py:1212 msgid "FFDL download ended" msgstr "" -#: ffdl_plugin.py:1165 ffdl_plugin.py:1401 +#: ffdl_plugin.py:1212 ffdl_plugin.py:1448 msgid "FFDL log" msgstr "" -#: ffdl_plugin.py:1185 +#: ffdl_plugin.py:1232 msgid "Download FanFiction Book" msgstr "" -#: ffdl_plugin.py:1192 +#: ffdl_plugin.py:1239 msgid "Starting %d FanFictionDownLoads" msgstr "" -#: ffdl_plugin.py:1222 +#: ffdl_plugin.py:1269 msgid "Story Details:" msgstr "" -#: ffdl_plugin.py:1225 +#: ffdl_plugin.py:1272 msgid "Error Updating Metadata" msgstr "" -#: ffdl_plugin.py:1226 +#: ffdl_plugin.py:1273 msgid "An error has occurred while FFDL was updating calibre's metadata for %s." msgstr "" -#: ffdl_plugin.py:1227 +#: ffdl_plugin.py:1274 msgid "The ebook has been updated, but the metadata has not." msgstr "" -#: ffdl_plugin.py:1279 +#: ffdl_plugin.py:1326 msgid "Finished Adding/Updating %d books." msgstr "" -#: ffdl_plugin.py:1309 +#: ffdl_plugin.py:1356 msgid "Starting auto conversion of %d books." msgstr "" -#: ffdl_plugin.py:1330 +#: ffdl_plugin.py:1377 msgid "No Good Stories for Anthology" msgstr "" -#: ffdl_plugin.py:1331 +#: ffdl_plugin.py:1378 msgid "No good stories/updates where downloaded, Anthology creation/update aborted." msgstr "" -#: ffdl_plugin.py:1336 ffdl_plugin.py:1375 +#: ffdl_plugin.py:1383 ffdl_plugin.py:1422 msgid "FFDL found %s good and %s bad updates." msgstr "" -#: ffdl_plugin.py:1343 +#: ffdl_plugin.py:1390 msgid "Are you sure you want to continue with creating/updating this Anthology?" msgstr "" -#: ffdl_plugin.py:1344 +#: ffdl_plugin.py:1391 msgid "Any updates that failed will not be included in the Anthology." msgstr "" -#: ffdl_plugin.py:1345 +#: ffdl_plugin.py:1392 msgid "However, if there's an older version, it will still be included." msgstr "" -#: ffdl_plugin.py:1348 +#: ffdl_plugin.py:1395 msgid "Proceed with updating this anthology and your library?" msgstr "" -#: ffdl_plugin.py:1356 +#: ffdl_plugin.py:1403 msgid "Good" msgstr "" -#: ffdl_plugin.py:1377 +#: ffdl_plugin.py:1424 msgid "Proceed with updating your library?" msgstr "" -#: ffdl_plugin.py:1401 +#: ffdl_plugin.py:1448 msgid "FFDL download complete" msgstr "" -#: ffdl_plugin.py:1414 +#: ffdl_plugin.py:1461 msgid "Merging %s books." msgstr "" -#: ffdl_plugin.py:1454 +#: ffdl_plugin.py:1501 msgid "FFDL Adding/Updating books." msgstr "" -#: ffdl_plugin.py:1461 +#: ffdl_plugin.py:1508 msgid "Updating calibre for FanFiction stories..." msgstr "" -#: ffdl_plugin.py:1462 +#: ffdl_plugin.py:1509 msgid "Update calibre for FanFiction stories" msgstr "" -#: ffdl_plugin.py:1471 +#: ffdl_plugin.py:1518 msgid "Adding/Updating %s BAD books." msgstr "" -#: ffdl_plugin.py:1480 +#: ffdl_plugin.py:1527 msgid "Updating calibre for BAD FanFiction stories..." msgstr "" -#: ffdl_plugin.py:1481 +#: ffdl_plugin.py:1528 msgid "Update calibre for BAD FanFiction stories" msgstr "" -#: ffdl_plugin.py:1507 +#: ffdl_plugin.py:1554 msgid "Adding format to book failed for some reason..." msgstr "" -#: ffdl_plugin.py:1510 +#: ffdl_plugin.py:1557 msgid "Error" msgstr "" -#: ffdl_plugin.py:1794 +#: ffdl_plugin.py:1841 msgid "You configured FanFictionDownLoader to automatically update Reading Lists, but you don't have the %s plugin installed anymore?" msgstr "" -#: ffdl_plugin.py:1806 +#: ffdl_plugin.py:1853 msgid "You configured FanFictionDownLoader to automatically update \"To Read\" Reading Lists, but you don't have any lists set?" msgstr "" -#: ffdl_plugin.py:1816 ffdl_plugin.py:1834 +#: ffdl_plugin.py:1863 ffdl_plugin.py:1881 msgid "You configured FanFictionDownLoader to automatically update Reading List '%s', but you don't have a list of that name?" msgstr "" -#: ffdl_plugin.py:1822 +#: ffdl_plugin.py:1869 msgid "You configured FanFictionDownLoader to automatically update \"Send to Device\" Reading Lists, but you don't have any lists set?" msgstr "" -#: ffdl_plugin.py:1943 +#: ffdl_plugin.py:1990 msgid "No story URL found." msgstr "" -#: ffdl_plugin.py:1946 +#: ffdl_plugin.py:1993 msgid "Not Found" msgstr "" -#: ffdl_plugin.py:1952 +#: ffdl_plugin.py:1999 msgid "URL is not a valid story URL." msgstr "" -#: ffdl_plugin.py:1955 +#: ffdl_plugin.py:2002 msgid "Bad URL" msgstr "" -#: ffdl_plugin.py:2091 ffdl_plugin.py:2094 +#: ffdl_plugin.py:2138 ffdl_plugin.py:2141 msgid "Anthology containing:" msgstr "" -#: ffdl_plugin.py:2092 +#: ffdl_plugin.py:2139 msgid "%s by %s" msgstr "" -#: ffdl_plugin.py:2114 +#: ffdl_plugin.py:2161 msgid " Anthology" msgstr "" -#: ffdl_plugin.py:2151 +#: ffdl_plugin.py:2198 msgid "(was set, removed for security)" msgstr "" diff --git a/fanficdownloader/geturls.py b/fanficdownloader/geturls.py index cc614bcc..258b9632 100644 --- a/fanficdownloader/geturls.py +++ b/fanficdownloader/geturls.py @@ -213,11 +213,14 @@ def get_urls_from_imap(srv,user,passwd,folder,markread=True): urllist=[] for part in email_message.walk(): + try: #print("part mime:%s"%part.get_content_type()) - if part.get_content_type() == 'text/plain': - urllist.extend(get_urls_from_text(part.get_payload(decode=True))) - if part.get_content_type() == 'text/html': - urllist.extend(get_urls_from_html(part.get_payload(decode=True))) + if part.get_content_type() == 'text/plain': + urllist.extend(get_urls_from_text(part.get_payload(decode=True))) + if part.get_content_type() == 'text/html': + urllist.extend(get_urls_from_html(part.get_payload(decode=True))) + except Exception as e: + print("Failed to read email content: %s"%e) #print "urls:%s"%get_urls_from_text(get_first_text_block(email_message)) if urllist and markread: