View Single Post
Old 06-01-2015, 12:55 PM   #1
sup
Zealot
sup began at the beginning.
 
Posts: 106
Karma: 10
Join Date: Sep 2013
Device: Kindle Paperwhite (2012)
How to ignore a certificat error in a recipe?

I am the author of this recipe: https://github.com/kovidgoyal/calibr...agazine.recipe that stopped working today because the server hosting the content apparently did something to its configuration. When I try to login via Opera 12, it says that certificates mismatch (see screenshot for details). Firefox complains too. I can choose to ignore the message and it allows me to login.

Calibre fails saying this:

Code:
calibre, version 2.27.0 (linux2, isfrozen: True)
Conversion Error: Failed: Fetch news from Respekt - Magazine

Fetch news from Respekt - Magazine
Resolved conversion options
calibre version: 2.27.0
{'asciiize': False,
 'author_sort': None,
 'authors': None,
 'base_font_size': 0,
 'book_producer': None,
 'change_justification': 'original',
 'chapter': None,
 'chapter_mark': 'pagebreak',
 'comments': None,
 'cover': None,
 'debug_pipeline': None,
 'dehyphenate': True,
 'delete_blank_paragraphs': True,
 'disable_font_rescaling': False,
 'dont_compress': False,
 'dont_download_recipe': False,
 'duplicate_links_in_toc': False,
 'embed_all_fonts': False,
 'embed_font_family': None,
 'enable_heuristics': False,
 'expand_css': False,
 'extra_css': None,
 'extract_to': None,
 'filter_css': None,
 'fix_indents': True,
 'font_size_mapping': None,
 'format_scene_breaks': True,
 'html_unwrap_factor': 0.4,
 'input_encoding': None,
 'input_profile': <calibre.customize.profiles.InputProfile object at 0x7fd2c8be0310>,
 'insert_blank_line': False,
 'insert_blank_line_size': 0.5,
 'insert_metadata': False,
 'isbn': None,
 'italicize_common_cases': True,
 'keep_ligatures': False,
 'language': None,
 'level1_toc': None,
 'level2_toc': None,
 'level3_toc': None,
 'line_height': 0,
 'linearize_tables': False,
 'lrf': False,
 'margin_bottom': 0.0,
 'margin_left': 0.0,
 'margin_right': 0.0,
 'margin_top': 0.0,
 'markup_chapter_headings': True,
 'max_toc_links': 50,
 'minimum_line_height': 120.0,
 'mobi_file_type': 'old',
 'mobi_ignore_margins': False,
 'mobi_keep_original_images': False,
 'mobi_toc_at_start': False,
 'no_chapters_in_toc': False,
 'no_inline_navbars': True,
 'no_inline_toc': False,
 'output_profile': <calibre.customize.profiles.KindlePaperWhiteOutput object at 0x7fd2c8be0a50>,
 'page_breaks_before': None,
 'personal_doc': '[PDOC]',
 'prefer_author_sort': False,
 'prefer_metadata_cover': False,
 'pretty_print': False,
 'pubdate': None,
 'publisher': None,
 'rating': None,
 'read_metadata_from_opf': None,
 'remove_fake_margins': True,
 'remove_first_image': False,
 'remove_paragraph_spacing': False,
 'remove_paragraph_spacing_indent_size': 1.5,
 'renumber_headings': True,
 'replace_scene_breaks': '',
 'search_replace': None,
 'series': None,
 'series_index': None,
 'share_not_sync': False,
 'smarten_punctuation': False,
 'sr1_replace': '',
 'sr1_search': '',
 'sr2_replace': '',
 'sr2_search': '',
 'sr3_replace': '',
 'sr3_search': '',
 'start_reading_at': None,
 'subset_embedded_fonts': False,
 'tags': None,
 'test': False,
 'timestamp': None,
 'title': None,
 'title_sort': None,
 'toc_filter': None,
 'toc_threshold': 6,
 'toc_title': None,
 'unsmarten_punctuation': False,
 'unwrap_lines': True,
 'use_auto_toc': False,
 'verbose': 2}
InputFormatPlugin: Recipe Input running
Using custom recipe
Traceback (most recent call last):
  File "site.py", line 63, in main
  File "site-packages/calibre/utils/ipc/worker.py", line 193, in main
  File "site-packages/calibre/gui2/convert/gui_conversion.py", line 25, in gui_convert
  File "site-packages/calibre/ebooks/conversion/plumber.py", line 1042, in run
  File "site-packages/calibre/customize/conversion.py", line 241, in __call__
  File "site-packages/calibre/ebooks/conversion/plugins/recipe_input.py", line 116, in convert
  File "site-packages/calibre/web/feeds/news.py", line 918, in __init__
  File "<string>", line 62, in get_browser
  File "site-packages/mechanize/_mechanize.py", line 541, in submit
  File "site-packages/mechanize/_mechanize.py", line 203, in open
  File "site-packages/mechanize/_mechanize.py", line 230, in _mech_open
  File "site-packages/mechanize/_opener.py", line 204, in open
  File "site-packages/mechanize/_urllib2_fork.py", line 457, in http_response
  File "site-packages/mechanize/_opener.py", line 221, in error
  File "site-packages/mechanize/_urllib2_fork.py", line 332, in _call_chain
  File "site-packages/mechanize/_urllib2_fork.py", line 571, in http_error_302
  File "site-packages/mechanize/_mechanize.py", line 203, in open
  File "site-packages/mechanize/_mechanize.py", line 230, in _mech_open
  File "site-packages/mechanize/_opener.py", line 193, in open
  File "site-packages/mechanize/_urllib2_fork.py", line 344, in _open
  File "site-packages/mechanize/_urllib2_fork.py", line 332, in _call_chain
  File "site-packages/mechanize/_urllib2_fork.py", line 1170, in https_open
  File "site-packages/mechanize/_urllib2_fork.py", line 1115, in do_open
  File "httplib.py", line 1001, in request
  File "httplib.py", line 1035, in _send_request
  File "httplib.py", line 997, in endheaders
  File "httplib.py", line 850, in _send_output
  File "httplib.py", line 812, in send
  File "httplib.py", line 1212, in connect
  File "ssl.py", line 350, in wrap_socket
  File "ssl.py", line 566, in __init__
  File "ssl.py", line 796, in do_handshake
  File "ssl.py", line 273, in match_hostname
CertificateError: hostname 'sso.respekt.cz' doesn't match '*.ihned.cz'
I plan to contact the site administrators with a request to fix it, but in the meantime (or if they are not responsive), is it possible to ignore the error?

I use this method:

Code:
def get_browser(self):
        br = BasicNewsRecipe.get_browser(self)
        if self.username is not None and self.password is not None:
            br.open('https://muj-ucet.ihned.cz/')
            br.select_form(name='login')
            br['login[nick]'] = self.username
            br['login[pass]'] = self.password
            br.submit()
        return br
and the code fails on executing br.submit(). I am not sure if the last FAQ here: http://docs.python-requests.org/en/l...community/faq/ is related, I rather think not.
Attached Thumbnails
Click image for larger version

Name:	51.png
Views:	208
Size:	201.4 KB
ID:	138886   Click image for larger version

Name:	34.png
Views:	202
Size:	218.4 KB
ID:	138887   Click image for larger version

Name:	19.png
Views:	209
Size:	197.0 KB
ID:	138888  
sup is offline   Reply With Quote