From a954ccfd3ba80450093e537ba5f08b078d138961 Mon Sep 17 00:00:00 2001 From: Alex Aplin Date: Sat, 5 Aug 2017 22:48:27 -0400 Subject: [PATCH] Safer extraction --- youtube_dl/extractor/iwara.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/youtube_dl/extractor/iwara.py b/youtube_dl/extractor/iwara.py index 44cc2c67d..119bb44f4 100644 --- a/youtube_dl/extractor/iwara.py +++ b/youtube_dl/extractor/iwara.py @@ -1,8 +1,6 @@ # coding: utf-8 from __future__ import unicode_literals -import re - from .common import InfoExtractor from ..compat import compat_urllib_parse_urlparse from ..utils import ( @@ -88,13 +86,20 @@ class IwaraIE(InfoExtractor): uploader = get_element_by_class('username', webpage) - description = clean_html(get_element_by_class('field-type-text-with-summary', webpage).replace('

', '

')) + description_class = get_element_by_class('field-type-text-with-summary', webpage) + description = clean_html(description_class.replace('

', '

') if description_class else None) - comment_count = int_or_none(re.sub('\D', '', get_elements_by_class('title', webpage)[1])) + comment_count_classes = get_elements_by_class('title', webpage) + comment_count = None + if comment_count_classes and len(comment_count_classes) >= 2: + comment_count = int_or_none(''.join(digit for digit in comment_count_classes[1] if digit.isdigit())) - node_views = clean_html(get_element_by_class('node-views', webpage)).split() - like_count = int_or_none(node_views[0].replace(',', '')) - view_count = int_or_none(node_views[1].replace(',', '')) + node_views_class = clean_html(get_element_by_class('node-views', webpage)) + node_views = node_views_class.split() if node_views_class else None + like_count = view_count = None + if node_views and len(node_views) >= 2: + like_count = int_or_none(node_views[0].replace(',', '')) + view_count = int_or_none(node_views[1].replace(',', '')) formats = [] for a_format in video_data: