From 79e46714f4b6f06e30d186daef8afa00c3e41ed8 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Sun, 10 Nov 2019 23:42:15 +0300 Subject: [PATCH 01/11] iteration1_without_tests --- final_task/rss_reader/ClassNews.py | 66 ++++++++++++++++++ final_task/rss_reader/requirements.txt | 1 + final_task/rss_reader/rss_reader.py | 96 ++++++++++++++++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 final_task/rss_reader/ClassNews.py diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py new file mode 100644 index 0000000..9d28170 --- /dev/null +++ b/final_task/rss_reader/ClassNews.py @@ -0,0 +1,66 @@ +import re +import html2text + +links_template = '\"((http|https)://(\w|.)+?)\"' + + +def xml_arguments_for_class(xml_string, limit): + """This function receive the xml and limit of articles and returns list of dictionaries""" + dict_article_list = [] + for counter, neighbor in enumerate(xml_string.iter('item')): + parser_dictionary = {} + text = html2text.HTML2Text() + text.ignore_images = True + text.ignore_links = True + text.ignore_emphasis = True + for child in neighbor: + # Here we create the article in the form of a dictionary + if child.tag == 'title': + parser_dictionary['title'] = text.handle(child.text).replace('\n', "") + + if child.tag == 'pubDate': + parser_dictionary['date'] = child.text + + if child.tag == 'link': + parser_dictionary['link'] = child.text + + if child.tag == 'description': + parser_dictionary['article'] = text.handle(child.text).replace('\n', '') + + # здесь мы ищем все ссылки, их шаблон задан в links_template и находиться ответ будет в группе 1 + list_links = [] + for group1 in re.finditer(links_template, child.text): + list_links.append(group1.group(1)) + parser_dictionary['links'] = list_links + # Еще добавить описание к картинкам + + dict_article_list.append(parser_dictionary) + if limit == counter + 1: + return dict_article_list + + +def dicts_to_articles(dict_list): + """This function receive list of dictionaries and convert it to list of articles """ + article_list = [] + for item in dict_list: + article_list.append(MyArticle(item)) + return article_list + + +class MyArticle: + """This is news class, which receives dictionary and have title, date, link, article and links keys fields""" + def __init__(self, article_dict): + self.title = article_dict['title'] + self.date = article_dict['date'] + self.link = article_dict['link'] + self.article = article_dict['article'] + self.links_list = article_dict['links'] + + def __str__(self): + result_string_article = '\n' + result_string_article += "Title: {}\nDate: {}\nLink: {}\n\n{}\n\n".format(self.title, self.date, self.link, + self.article) + for link_idx, link in enumerate(self.links_list): + result_string_article += "[{}]: {}\n".format(link_idx + 1, link) + result_string_article += '\n' + return result_string_article diff --git a/final_task/rss_reader/requirements.txt b/final_task/rss_reader/requirements.txt index e69de29..44b9834 100644 --- a/final_task/rss_reader/requirements.txt +++ b/final_task/rss_reader/requirements.txt @@ -0,0 +1 @@ +html2text \ No newline at end of file diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index e69de29..e130b82 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -0,0 +1,96 @@ +import argparse +import re +import xml.etree.ElementTree as ET +import requests +import json +from datetime import datetime + +import RssReaderExceptions as rre +import ClassNews + +VERSION = 1.1 + +# Parse our arguments +parser = argparse.ArgumentParser() +parser.add_argument("sourse", help="RSS URL") +parser.add_argument('--version', action='store_true', help='Print version info') +parser.add_argument('--json', action='store_true', help='Print result as JSON in stdout') +parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') +parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') + +args = parser.parse_args() + +if args.version: + print("Current version: " + str(VERSION)) +if args.limit: + print('News LIMIT: ' + str(args.limit)) + + +def log(message): + """Here we are print a log message""" + if args.verbose: + print('\n' + message + '\n') + + +try: + # Check if the request is valid + # if not re.match("(https|http):\/\/((\w+).)+(com|org|ru|net)(\/(\w+))+", args.sourse): + # raise rre.NotRequest + + # Get request + log('Start parsing') + rss_request = requests.get(args.sourse) + + # to check ReadTimeout exception + # rss_request = requests.get(args.sourse, timeout=(1, 0.01)) + + # Check status code + status_code = rss_request.status_code + log("Status code {}".format(status_code)) + # if status_code == 404: + # raise requests.exceptions.HTTPError + rss_request.raise_for_status() + + log('Parsing completed successfully') + + # Here we check the type of response. To correctly process it + if rss_request.headers['content-type'] == "application/xml": + root = ET.fromstring(rss_request.content) + + # Here we get title of api + for child in root.iter('channel'): + for item in child: + if item.tag == 'title': + main_title = item.text + + # Here we have the dictionary of articles + my_dict_articles = ClassNews.xml_arguments_for_class(root, args.limit) + # print(my_dict_articles) + + log('Print news:') + print("\nFeed: {}".format(main_title)) + my_articles = ClassNews.dicts_to_articles(my_dict_articles) + for article in my_articles: + print(article) + else: + log(rss_request.headers['content-type']) + log('We received not an xml file from api, sorry') + if args.json: + log('Print result as JSON in stdout') + json_articles = json.dumps(my_dict_articles, indent=4) + log(json_articles) +# except rre.NotRequest as exc: +# log(str(exc)) +except requests.exceptions.MissingSchema: + log('it is not http request!') +except requests.exceptions.ConnectTimeout: + log('Time to connect is out') +except requests.exceptions.ReadTimeout: + log('Time to read is out') +except requests.exceptions.HTTPError as httpserr: + log("Sorry, page not found") +except requests.exceptions.InvalidURL: + log("Sorry, that's not valid url") +except requests.exceptions.ConnectionError: + log("Sorry, you have an proxy or SSL error") + # A proxy or SSL error occurred. From 1c4c6ea72c61a34a36a1eab0886b0fa3201c6f06 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Mon, 11 Nov 2019 00:24:59 +0300 Subject: [PATCH 02/11] iteration1_without_tests --- final_task/rss_reader/ClassNews.py | 1 - final_task/rss_reader/rss_reader.py | 6 ------ 2 files changed, 7 deletions(-) diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index 9d28170..7d328f7 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -33,7 +33,6 @@ def xml_arguments_for_class(xml_string, limit): list_links.append(group1.group(1)) parser_dictionary['links'] = list_links # Еще добавить описание к картинкам - dict_article_list.append(parser_dictionary) if limit == counter + 1: return dict_article_list diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index e130b82..4600eeb 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -33,10 +33,6 @@ def log(message): try: - # Check if the request is valid - # if not re.match("(https|http):\/\/((\w+).)+(com|org|ru|net)(\/(\w+))+", args.sourse): - # raise rre.NotRequest - # Get request log('Start parsing') rss_request = requests.get(args.sourse) @@ -79,8 +75,6 @@ def log(message): log('Print result as JSON in stdout') json_articles = json.dumps(my_dict_articles, indent=4) log(json_articles) -# except rre.NotRequest as exc: -# log(str(exc)) except requests.exceptions.MissingSchema: log('it is not http request!') except requests.exceptions.ConnectTimeout: From eee223c3f8068c6d52f0619389bb321d9e1a1fe9 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Sun, 17 Nov 2019 22:19:06 +0300 Subject: [PATCH 03/11] fixed iteration 1 and iteration 2 --- final_task/README.md | 3 - final_task/dist/rss_reader-1.1.tar.gz | Bin 0 -> 3270 bytes final_task/rss_reader.egg-info/PKG-INFO | 13 ++ final_task/rss_reader.egg-info/SOURCES.txt | 13 ++ .../rss_reader.egg-info/dependency_links.txt | 1 + .../rss_reader.egg-info/entry_points.txt | 3 + final_task/rss_reader.egg-info/not-zip-safe | 1 + final_task/rss_reader.egg-info/requires.txt | 1 + final_task/rss_reader.egg-info/top_level.txt | 1 + final_task/rss_reader/ClassNews.py | 42 ++--- final_task/rss_reader/__init__.py | 0 final_task/rss_reader/rss_reader.py | 165 +++++++++--------- final_task/setup.py | 32 ++++ 13 files changed, 171 insertions(+), 104 deletions(-) delete mode 100644 final_task/README.md create mode 100644 final_task/dist/rss_reader-1.1.tar.gz create mode 100644 final_task/rss_reader.egg-info/PKG-INFO create mode 100644 final_task/rss_reader.egg-info/SOURCES.txt create mode 100644 final_task/rss_reader.egg-info/dependency_links.txt create mode 100644 final_task/rss_reader.egg-info/entry_points.txt create mode 100644 final_task/rss_reader.egg-info/not-zip-safe create mode 100644 final_task/rss_reader.egg-info/requires.txt create mode 100644 final_task/rss_reader.egg-info/top_level.txt create mode 100644 final_task/rss_reader/__init__.py diff --git a/final_task/README.md b/final_task/README.md deleted file mode 100644 index 7af281f..0000000 --- a/final_task/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Your readme here -Some text. -Checkout how to write this file using *markdown*. diff --git a/final_task/dist/rss_reader-1.1.tar.gz b/final_task/dist/rss_reader-1.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e10a69bce2109e44b157adb30d2b85125525ba54 GIT binary patch literal 3270 zcmV;%3_0^3iwFoVAJJU`|72-%bX;8HhVeGk zws^cF?|4Vv@sx-$GoqG5ql2!|J$&{xpaXDnaw0wfs-NO}_ozQO?sZR&`-5klZg zdPe%sb^tNsRz%2?OtLt+zX(KS{a^m@{lWRW*YBTP|AWC`t^WJ{Wau zyrtZ7EN&hAL?h+~{*ZKy&R*l4wV*?iFOI!Np}o7;7{`l+6)lJ4YCI;P6){A46D;UK zXw9JKob!+k4-aQ9pT{2!J6If^dG0UPN6P0v`tBVNqld3u-|{9FyS-xUGNJJ@=JOyL z5`ldOgCiGK82iDUm9`zwh2?rff(V9}G`@K8uNgi@PJ4|D*QP#$VSG1!wbyt>nH{+y z7o*=N{|(}Z;H(yu%xOgT8YF=+jGu7&i5vN|(>b+ogP4UxyK z%=KsFISAv{3GV&pg|2&zOV8rdAX*HGmi{#gB=dKP2v=sh#S zZWvh<4M|bvy$8CeDE^I0))D_rDpfZ~xi4X=<{UL#O1^ z!ZWRC7B8sJnF&WFQ;^m1IpYy*Ep0gGEnMCj%5zn-*_?>IC-!YT(80iM3dc#5WHZZWrv0OBEb5c`})Z6P@y zjFY%Np*{#OvN$cs&46t>(lz*Zp|w)!A;`nJnazF)JbwK>Z$~aEaTB{Ehx9>#4#GZp z0|y3jPl*jqgG((W(!*}}6VJaw7rDTfWh(Bp%+TQ0jErCvahH2ktMIIy!*zoD0VX5l zI0ub;QXU1m(9$v@8hVyZb?wI2+OVKnxEQw@PZ)oE1+(08L=K|jfK~^wHAh?}Te1_V zk7VcMkva;5BVU@CaygnQ^3+R|H(2vnYteF0QbM8dKMI#9}YIp>~ZRS~Zg@ zGc~L*q`sp|4u<&9yRBAzzcp%LLL52K;yhOzOv-VER!KadGU?SoO^FX6-;!=+KGMal z@{m~TTctC`24?agZDhJYMU;*1x6Y{wuWJWB1pA!8&>?zA(K5%JIo>rs7qy)_p=>mT zS=UMO?ee93s$t2~N{4X4?z-p8GxogkU`Llv^6VsksxF?}c zYU6H6aU1h*+nIBe+Z3+yTe`$hih53A7XodVrt7=hG<8P3Y1UD!kK!`MRzolXsTGkj zmsr8Y(X60KUsb`x@vUG=H&ek(XH`Ycyh9CTma2M{KEn=0Nx+tt2%UJ*5c0Qway_0wx6y@70 z@6yQAbe&IfZIurK6*0F~9K|}JT>tv}2RZ+2-YFk+IFeUu3-MO9Agr$zTV)LXl<{Bc zfF2$GZOs1_;{T)0po8%r;H&uWkJW!f{};Ov6``5IKk=`q|87_4zt=hG^}Cq=fzO`O z|1KblW|b>c{=aPh+1JPJ02}OoaMB;-`QIbF{~7dqD*w03{GS!gL;#v)0U>xcD32&L z&OEUPOyE1Q7&)6{IJiSl###2@XBPO`4=IZY@&$EKgouEyu@ z-@yr9TrsC%>0)Wh*jP_bvHL{a78AU<%Cd*DNn(nqLQcqdnIK#yG>UkJ=aKo{-c;7;C)YY?J|2ymn^jww7I#Z*g3X_s)`qstjUggw9)zyVFt;J@6M>MmpqSYRqu|bUsFSCNfHEe85?=@;#z==Sxnp#?tqMbNm!6uD9XN&36Zz1@hsYvlXcSu3 zh^0BsDMI9)=PUA_#RajCOQOVYM2muT1yQX64AD_s z=14Aj?E;b-y_C9yu`faoY~LX)wryB9)7bNtT19}_ZG#Xb-Y%eb!Gt3C!4QT<4Ke|( z24EgG_m=2LkQi}!$smfOor@z5yVmT$=U`L^ND>pcBhs|O&~t4IXMG48VzZh>2?AUY zXA=W=HJQ}Vi?kDxD~axWCa{KNnowj#L${14ZhYpJ?^Dl2d5MfSFikFZk|wP#tzAr< z7D=qhfP+xByLw4Mc+)iRxb~(YpQucTg2oDo(n2D5B|T*p)70pj^Xuq!mxd^rcEQA@E&HY8y_=AeP<}3Zlk5M{?*x2a{eNHNe@;~XeM z>h#ZG|8=5$;`{$@dH?Uh0q{uK|1Ln)-l+TE4fbF4m``8-aZ_ukQby6IK7Y6Ugd6N26Y+`@(o(^ajc$DEoiPRL17|@1v^y_j>C5zhnI? zt5^1aD3ieUboP`yHrju`SIPe$9jo|%NAW+nc~KblVXwihnfWnxJ%@~l{FS^c+QE7w zWh;Lh`+xKsf1hRl-Q(lT{*O<3!v2p2D*oRI6kg5{#dl%>@F4KAcQeG3Ho-r$V1|}` zi?#phyBWB0^rLu1bK~d0&3`yIp{L+IoT%J&pkD z3kw^NM*2p3R*f*y^6H6{i5K|bb_+N{D9!Aew%JM%WsSo~`)>Ry?Hnfc25h8R{xave zAIS2v^o0$n#8FA5dP>;!!6H1*OvC=swN@7-Y9HDqa=2GmqhAY!k(xFn*V=RNCiv$* zo@4Zo{w09llfK2Pg<{`kB`aO6yl!rlq;8g(?Q_bw$zqq6){udZQwjd!h9>4YN3Sgp z--c?beNTY`1qu`>P@q780tE^bC{Un4fdT~z6ev)jK!E}U3KS?%@Mnkr0|lZdoB((L E0M(F?#Q*>R literal 0 HcmV?d00001 diff --git a/final_task/rss_reader.egg-info/PKG-INFO b/final_task/rss_reader.egg-info/PKG-INFO new file mode 100644 index 0000000..ae029e0 --- /dev/null +++ b/final_task/rss_reader.egg-info/PKG-INFO @@ -0,0 +1,13 @@ +Metadata-Version: 1.0 +Name: rss-reader +Version: 1.1 +Summary: RSS parser +Home-page: https://github.com/ElizabethUniverse/FinalTaskRssParser +Author: Elizaveta Lapunova +Author-email: liza.lapunova99@gmail.com +License: BSD +Description: # Your readme here + Some text. + Checkout how to write this file using *markdown*. + +Platform: any diff --git a/final_task/rss_reader.egg-info/SOURCES.txt b/final_task/rss_reader.egg-info/SOURCES.txt new file mode 100644 index 0000000..78185f2 --- /dev/null +++ b/final_task/rss_reader.egg-info/SOURCES.txt @@ -0,0 +1,13 @@ +README.md +setup.py +rss_reader/ClassNews.py +rss_reader/__init__.py +rss_reader/requirements.txt +rss_reader/rss_reader.py +rss_reader.egg-info/PKG-INFO +rss_reader.egg-info/SOURCES.txt +rss_reader.egg-info/dependency_links.txt +rss_reader.egg-info/entry_points.txt +rss_reader.egg-info/not-zip-safe +rss_reader.egg-info/requires.txt +rss_reader.egg-info/top_level.txt \ No newline at end of file diff --git a/final_task/rss_reader.egg-info/dependency_links.txt b/final_task/rss_reader.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/final_task/rss_reader.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/final_task/rss_reader.egg-info/entry_points.txt b/final_task/rss_reader.egg-info/entry_points.txt new file mode 100644 index 0000000..644f1cd --- /dev/null +++ b/final_task/rss_reader.egg-info/entry_points.txt @@ -0,0 +1,3 @@ +[console_scripts] +rss_reader=rss_reader.rss_reader:main + diff --git a/final_task/rss_reader.egg-info/not-zip-safe b/final_task/rss_reader.egg-info/not-zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/final_task/rss_reader.egg-info/not-zip-safe @@ -0,0 +1 @@ + diff --git a/final_task/rss_reader.egg-info/requires.txt b/final_task/rss_reader.egg-info/requires.txt new file mode 100644 index 0000000..fcadc2b --- /dev/null +++ b/final_task/rss_reader.egg-info/requires.txt @@ -0,0 +1 @@ +html2text==2019.9.26 diff --git a/final_task/rss_reader.egg-info/top_level.txt b/final_task/rss_reader.egg-info/top_level.txt new file mode 100644 index 0000000..4d1a3d9 --- /dev/null +++ b/final_task/rss_reader.egg-info/top_level.txt @@ -0,0 +1 @@ +rss_reader diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index 7d328f7..4a89ad5 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -1,42 +1,44 @@ import re import html2text +from dataclasses import dataclass -links_template = '\"((http|https)://(\w|.)+?)\"' + +LINKS_TEMPLATE = '\"((http|https)://(\w|.)+?)\"' def xml_arguments_for_class(xml_string, limit): """This function receive the xml and limit of articles and returns list of dictionaries""" dict_article_list = [] - for counter, neighbor in enumerate(xml_string.iter('item')): + text = html2text.HTML2Text() + text.ignore_images = True + text.ignore_links = True + text.ignore_emphasis = True + for counter, xml_news in enumerate(xml_string.iter('item')): parser_dictionary = {} - text = html2text.HTML2Text() - text.ignore_images = True - text.ignore_links = True - text.ignore_emphasis = True - for child in neighbor: + for xml_news_item in xml_news: # Here we create the article in the form of a dictionary - if child.tag == 'title': - parser_dictionary['title'] = text.handle(child.text).replace('\n', "") + if xml_news_item.tag == 'title': + parser_dictionary['title'] = text.handle(xml_news_item.text).replace('\n', "") - if child.tag == 'pubDate': - parser_dictionary['date'] = child.text + if xml_news_item.tag == 'pubDate': + parser_dictionary['date'] = xml_news_item.text - if child.tag == 'link': - parser_dictionary['link'] = child.text + if xml_news_item.tag == 'link': + parser_dictionary['link'] = xml_news_item.text - if child.tag == 'description': - parser_dictionary['article'] = text.handle(child.text).replace('\n', '') + if xml_news_item.tag == 'description': + parser_dictionary['article'] = text.handle(xml_news_item.text).replace('\n', '') - # здесь мы ищем все ссылки, их шаблон задан в links_template и находиться ответ будет в группе 1 list_links = [] - for group1 in re.finditer(links_template, child.text): + for group1 in re.finditer(LINKS_TEMPLATE, xml_news_item.text): list_links.append(group1.group(1)) parser_dictionary['links'] = list_links - # Еще добавить описание к картинкам + dict_article_list.append(parser_dictionary) + if limit == counter + 1: return dict_article_list - + return dict_article_list def dicts_to_articles(dict_list): """This function receive list of dictionaries and convert it to list of articles """ @@ -45,7 +47,7 @@ def dicts_to_articles(dict_list): article_list.append(MyArticle(item)) return article_list - +@dataclass class MyArticle: """This is news class, which receives dictionary and have title, date, link, article and links keys fields""" def __init__(self, article_dict): diff --git a/final_task/rss_reader/__init__.py b/final_task/rss_reader/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index 4600eeb..773bf4a 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -1,90 +1,93 @@ import argparse -import re import xml.etree.ElementTree as ET import requests import json -from datetime import datetime +import logging -import RssReaderExceptions as rre import ClassNews VERSION = 1.1 -# Parse our arguments -parser = argparse.ArgumentParser() -parser.add_argument("sourse", help="RSS URL") -parser.add_argument('--version', action='store_true', help='Print version info') -parser.add_argument('--json', action='store_true', help='Print result as JSON in stdout') -parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') -parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') - -args = parser.parse_args() - -if args.version: - print("Current version: " + str(VERSION)) -if args.limit: - print('News LIMIT: ' + str(args.limit)) - - -def log(message): - """Here we are print a log message""" - if args.verbose: - print('\n' + message + '\n') - - -try: - # Get request - log('Start parsing') - rss_request = requests.get(args.sourse) - - # to check ReadTimeout exception - # rss_request = requests.get(args.sourse, timeout=(1, 0.01)) - - # Check status code - status_code = rss_request.status_code - log("Status code {}".format(status_code)) - # if status_code == 404: - # raise requests.exceptions.HTTPError - rss_request.raise_for_status() - - log('Parsing completed successfully') - - # Here we check the type of response. To correctly process it - if rss_request.headers['content-type'] == "application/xml": - root = ET.fromstring(rss_request.content) - - # Here we get title of api - for child in root.iter('channel'): - for item in child: - if item.tag == 'title': - main_title = item.text - - # Here we have the dictionary of articles - my_dict_articles = ClassNews.xml_arguments_for_class(root, args.limit) - # print(my_dict_articles) - - log('Print news:') - print("\nFeed: {}".format(main_title)) - my_articles = ClassNews.dicts_to_articles(my_dict_articles) - for article in my_articles: - print(article) - else: - log(rss_request.headers['content-type']) - log('We received not an xml file from api, sorry') - if args.json: - log('Print result as JSON in stdout') - json_articles = json.dumps(my_dict_articles, indent=4) - log(json_articles) -except requests.exceptions.MissingSchema: - log('it is not http request!') -except requests.exceptions.ConnectTimeout: - log('Time to connect is out') -except requests.exceptions.ReadTimeout: - log('Time to read is out') -except requests.exceptions.HTTPError as httpserr: - log("Sorry, page not found") -except requests.exceptions.InvalidURL: - log("Sorry, that's not valid url") -except requests.exceptions.ConnectionError: - log("Sorry, you have an proxy or SSL error") - # A proxy or SSL error occurred. + +def my_parser(): + # Parse our arguments + parser = argparse.ArgumentParser() + parser.add_argument("sourse", help="RSS URL") + parser.add_argument('--version', action='store_true', help='Print version info') + parser.add_argument('--json', action='store_true', help='Print result as JSON in stdout') + parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') + parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') + + args = parser.parse_args() + return args + + +if __name__ == '__main__': + try: + args = my_parser() + logging_level = logging.CRITICAL + if args.verbose: + logging_level = logging.INFO + if args.version: + print("Current version: " + str(VERSION)) + if args.limit: + print('News LIMIT: ' + str(args.limit)) + + logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) + + # Get request + logging.info('Start parsing') + rss_request = requests.get(args.sourse) + + # to check ReadTimeout exception + #rss_request = requests.get(args.sourse, timeout=(1, 0.01)) + + # Check status code + status_code = rss_request.status_code + logging.info("Status code {}".format(status_code)) + # if status_code == 404: + # raise requests.exceptions.HTTPError + rss_request.raise_for_status() + + logging.info('Parsing completed successfully') + + # Here we check the type of response. To correctly process it + if rss_request.headers['content-type'] == "application/xml": + root = ET.fromstring(rss_request.content) + + # Here we get title of api + for channel_info in root.iter('channel'): + for item in channel_info: + if item.tag == 'title': + main_title = item.text + + # Here we have the dictionary of articles + res_dict_articles = ClassNews.xml_arguments_for_class(root, args.limit) + #print(type(res_dict_articles)) + + logging.info('Print news:') + print("\nFeed: {}".format(main_title)) + result_articles = ClassNews.dicts_to_articles(res_dict_articles) + + for article in result_articles: + print(article) + else: + logging.info(rss_request.headers['content-type']) + logging.warning('We received not an xml file from api, sorry') + if args.json: + logging.info('Print result as JSON in stdout') + json_articles = json.dumps(res_dict_articles, indent=4) + print(json_articles) + except requests.exceptions.InvalidSchema: + logging.critical('It is not http request!') + except requests.exceptions.ConnectTimeout: + logging.critical('Time to connect is out') + except requests.exceptions.ReadTimeout: + logging.critical('Time to read is out') + except requests.exceptions.HTTPError as httpserr: + logging.critical("Sorry, page not found") + except requests.exceptions.InvalidURL: + logging.critical("Sorry, that's not valid url") + except requests.exceptions.ConnectionError: + logging.critical("Sorry, you have an proxy or SSL error") + # A proxy or SSL error occurred. diff --git a/final_task/setup.py b/final_task/setup.py index e69de29..7bc3650 100644 --- a/final_task/setup.py +++ b/final_task/setup.py @@ -0,0 +1,32 @@ +import os +from setuptools import setup, find_packages + +def read(fname): + return open(os.path.join(os.path.dirname(__file__), fname)).read() + +setup( +# metadata + name='rss_reader', + version='1.1', + author='Elizaveta Lapunova', + author_email='liza.lapunova99@gmail.com', + url='https://github.com/ElizabethUniverse/FinalTaskRssParser', + + description='RSS parser', + long_description=read("README.md"), + license='BSD', + platforms='any', + + #options + packages=find_packages(), + install_requires=['html2text==2019.9.26'], + package_data={ + '': ['*.py', '*.txt'] + }, + entry_points={ + "console_scripts": + "rss_reader=rss_reader.rss_reader:main" + }, + #test_suite='rss_reader.test', + zip_safe=False +) From 765f0f8467351ba102c27627e1fbd847e460533d Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Sun, 17 Nov 2019 22:33:00 +0300 Subject: [PATCH 04/11] fixed iteration 1 and iteration 2 --- final_task/README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 final_task/README.md diff --git a/final_task/README.md b/final_task/README.md new file mode 100644 index 0000000..7af281f --- /dev/null +++ b/final_task/README.md @@ -0,0 +1,3 @@ +# Your readme here +Some text. +Checkout how to write this file using *markdown*. From beb1e7969717ec1eebcfda3124da7405e8cd8158 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Mon, 18 Nov 2019 16:01:16 +0300 Subject: [PATCH 05/11] fixed iteration 1 and iteration 2 --- final_task/dist/rss_reader-1.1.tar.gz | Bin 3270 -> 3381 bytes final_task/rss_reader.egg-info/SOURCES.txt | 1 + final_task/rss_reader.egg-info/requires.txt | 1 + final_task/rss_reader/__main__.py | 5 +++++ .../__pycache__/rss_reader.cpython-37.pyc | Bin 0 -> 2665 bytes final_task/rss_reader/rss_reader.py | 8 ++++++-- final_task/setup.py | 2 +- 7 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 final_task/rss_reader/__main__.py create mode 100644 final_task/rss_reader/__pycache__/rss_reader.cpython-37.pyc diff --git a/final_task/dist/rss_reader-1.1.tar.gz b/final_task/dist/rss_reader-1.1.tar.gz index e10a69bce2109e44b157adb30d2b85125525ba54..0c996070bd8191b265127e799e8d2fe872107552 100644 GIT binary patch delta 3366 zcmV+>4cYR>8MPV*ABzYGj+D}o2OWQZZ_~(`QgB1F4&&O(G&$?>Hz&-xa8u z+&w)3vW&e+d^onxyQa-?eD^oA>tAu4CQ!(6Vh7YD_Uz2=%+BoY%-AtwR!nV|#z$SF zdwlO}KnGwr9EwkX>ZkbLJ?Rfl``uozJGj^Bb_b^?_elTV9w1@djtTi9gDig!?jHj2 zs{Sv3`T6Ml#nYExT>pc?V59!~{nLv6d&ASyd!(cE|JC6+<+f{c`{*|sGcOEAq-%5z z8ZYbx9g$*k95hPzy9bSNvRK&hazw7iV-ndhLzHLXf*wWo3|h`PkJ#w=c;@kW^44&| z#qpW%{b|3YeEw_Ty$53S_^E#v*#5+3@2(iTOldqy_&kh9L}0&%&XEf{N`mmco!vX4 z3)}NY1Q85Bz4`Frk2AcCoDLcno3{GAH&TE_#1R{ud@O!BH(JnbVja zG)M|#=s)4~h8xAT$8+ku3lmP};WgnQxsE*!NOO;ospnIYFfW*q`yhXecW!tc+%Gjf zXk7X>pN8>bMC@RB(D(<~|JB)}C(qA}g}YDt@AgiF{dZ2$7r;8vJ%JTK+5bME&K}Bk z@EP;}o`Qc4RP4X_dHiMV|I_w=C&S^X+W-B%`hV=(jJ=@O%!rm>)&KWrmMmz%nFU)V zOOVy^I^!`cEp6E6Ej->D$$eF`*_?>ACkY(f&_Tx?3foCoktlysgN>FeTaa){?3jCw z5B6Zo0S$9Oh*e$ku2H@#J0 z7~U)hV`_N|*a$PgpTr4WzwLX$yUlm$BAVOGTSWlz5GPCmPUE(aTmZ&NynxUE1Q^?# zmgHu@G9Bw0{9S)&txS3dat&Ehr#0oC< zW(`&PstP9dZw*trnF?k$sw#5s9cn1EOx5f388#?O0+zH?5aprAlqEh-*E_4|1NxV3 zSPx9noS=M0u=u?W(5=gF7r<|sA^<<*CeZ{+y%ac6wc;YePs9mHGJg0Q|?Y!xy1CeMGF1G@9^ zZ)^N7KmYf-C!IkD&wqfg&VPTm{uj0v>_h+E;V_T?bl~8R`X8Ps{qFxScET@b zehwNQF2aGmpq7Oj&}KF@n(4A~Nazi964-xOgn_@r&1#&$Rtt83L>?&8Em%&}!1j1* zRu1@^wf~s@k$5o`p&5hU@UQ6qyIo=bz0R=L7x7>C>?!--2jtN#WeUpvSM9&>)_2?i zY_b0#*n7VIV=frh|9+>d?0=8(e>xJ+r3@eJE_^DKnkWI&M7W}D2ZADK-oaQXG>qIpXb z?da&etd7yz#1?TNQ)3(h`8-ajmXd$cF5%S6Ns0>R^=YWxP8H?33rTsbMp6D}45IS_ z!nhkIT-(~|w;`jqb9kBXDB+Bx$UxcV2_p;27$!Kjun<8@pv9LFHKD5+)e8~K6!A13 zMxMiP(fg;{5sfWJI)-QqiWh5`WHm{nlol^EeEq z-b|O_AyfN77h}WoL5q!k(9?gZ(PE%?amQSd!3y0&@-xjH$vQi<5nUUDhvq`-a7`-* zpM*mZZ9%e`J2GaJ%YjH!t}x^waj>X`T!AZ^cngZvE%e5rBJWYc+>JWSZArt_yKT}j zI^9-nDJ~fxjc*GFs@aAAsUJtuH>TEP9Uk#OQ}of`y%qe*j>UB$ANh> zO?-c;RRowP8HFG*sfg|b^9bPhBIp`5$ON<+f_XR`4xr#UkQnj!ib0fnI~VH^d!;#H zz`>}FkR;}9;CO3Ck?(&wHjerj*1={qcp8Q{A87`|x@=ZCUs5KqA@K!5*)8LmfjIYP>4uF7#$uo{ z4+0u1Fd$o0704n&5rhIWXcGoDywqyeG29A`wySE}PACH;SJngm zHr!+p)rh?fWL$q3sCimD1y)F<7}9IjdeQUXz3qGM7@XO{9<4h_C-#7p?d#e(7dgj} zi)!kO*uS*xJYaziz!Rp6+pSCxM=Xi5334on>lPlR)pI8XxbfeedcM}6Dn$_yjpN(+ zG{-n|+62qbh0La561dHs^#NP_UC8sf%{8eM(TpUq-`sy$A@E%cY8Ot+Fp=I93Pp_lvF}x5AYeu9n4cGjA`q$tobC;y>vToz7-Q=vt4z zNND8K>VNyEnEzAtzu$!Z@BB>Ir$7HS=nsY}{LwWy?T5$ z{`?%^R{MV+R_%XyGUzD#-v{Im{52TmNn}LJ#)fA=8uhh7jrx+2#x0rT#-=P&5TS4J(uzWFy^jSFZ2OP?^r9nXPiZYeI?~M)co@kj=-o2v zd$s>M8GhOPf2X@@|GjSiL_Pnr7f=;A>ioCG{;Pkk@ypl$46F9v84gta&tBk_69z2w zsU`Qw>`iIeGE1|e_&UNhzM=facVqwMUC&q9|93jQy#Bk_>*M}^*j4qvdjVB~tL%S^ z{g)3lU&sDW2i5goJ^!&M$m@Siv)Ac9G#(ngL8J7@ziD=if$|aGv;E&WX0g5g|D=S|Lbg=>2#p#|MzqL2RAP&1m7GqxIMGpCZ6vS zlgMA`%K|!BK%#8ryRrW}Kk@rX_TR-~4{86M;jky(|9CP~`TxB@`e;tb(zkty3Bbe9 z&tLW>uCxihX2*(b=N&%vkv&_1Ge@6_%Kv}S$|D$IL<2o!Mr8B3@q6eMKU^s3xa@}C~_4%^@GMCS)}y|k~$)qS}|v}^qm{&6A`8cb2z(Zi)sN=TdyQo z#jr#@fvIh*C&E~%+s{ZR)#2R987=h zr}2}lag^2@FjKRGWx?|>ly!*NqdHQF=88)7jIbAgMfkpz9sA8!THPTLU*S|eCu(on zD=cvRu+0yps##4NkyqM%@G#i^KAtGDx5Io)+m_P}<+jaAq`F#`-`pv1-CSjM$SLC% wOFX_ZuME7LN%c=JvM}~(KDB*(LQVrcwyu+(3>prg;G2d213f*)ssMNZ07(_v7ytkO delta 3250 zcmV;j3{CU38pat1ABzYGE+5g62OWR?Z`-!AKO4yZz~^9)+&PNv#13k}c&|&-HE(Gf z#NHkrl0r}=+SVdVdLot7`}p7A9jR~2vD>8HhVeGkws^cF?|4Vv@sx-$GoqG5ql2!| zJ$&{xpaXDnaw0wfs-NO}_ozQO?sZR&`-5klZgdPe%sb^tNsRz%2?OtODCxxWZR zW&L0N@cqI0yVviZT>pc?V6Fc9{o{)MdnfRSbd>(TI=rRaax88g{6r(>2L6zAjm}=< zowcAtk}rZeFuXh7giYi!JU=19ngj4 zdP9N;hL<$Hc=4|pK1NP^jSJVNK7(O=H-5F(ctx2Vxgi&$-zWbK;)vj^7L?3sME4pb zfiaAqaQcZG`LokGwQqx%lX-AYctGwWmjlw=Wn}7ll*G*SXXH5u|^nXzzoY5(2ck+A>HG5P}7C%Q+l11S671=QI?(GI>~ z{XbLi*MW-t=RXgh*8V^5{0ENUSe^g=SpA=R7Gv+|Ju|}PSM~q>UZ*ege}pjTf&K?Q zb^hB8xQj4|I6=3ce4T&uh1Wyxzt@;X!GhrF(8jeu8A(vGM|%zY@8bO34`Xw3_V)7P z<>ZWvh<4M|bvy$8CeDE^I0))D_rDpfZ~xi4X=<{UL#O1^!ZWRC7B8sJnF&WFQ;^m1 zIpYy*Ep0gGEnMCj%5zn-*_?>IC-!YT(80iM3dc#Z@KA}DcFtRu;$jyLl zI?^@xccHaX=^=l}!@8NxehEB&{XK6-E-7&nyCaA6L4gj!K6wKN269h{4NikgEhN&z zZuk?=zd{$ez?Wqz?zGI%;MR7vJD53@i4P#(l5S-_(#5UvkXY+mr8C9`X7V6y zWV%2_l#PGxx6Y{wuWJWB1pA!8&>?zA(K5%JIo>rs7qy)_p=>mTS=UMO?ee93s$t2~N{4X4?z-p8GxogkU`Llv^6VsksxF?}cYU6H6aU1h*+nIBe z+Z3+yTe`$hih53A7XodVrt7=hG<8P3Y1UD!kK%ta##Tcx0;v^|GM8Av#nG&wN?%pM z#PO|QN;gx%OlMU^&b&hnWtOUXl|I7`MM=PxmI$Ia^@y_A$!=3_wrvI*^4kUQm)~xD`ES#}EzIJ2F6wqJ%62}ZcD<8$92Di-D(}+B({!Cra&46l z0u_HTw^kg*I-y+u`uhht|7_kVA9Og9S8EILR<$6kuNGTn4E~hyU+RD!9sX_1{}tl@ zqt2j%@gLx;`0tO^e??HJh2B%;5)Gx zIh$lSxI<9JS@z&(7Wml@FPP2Xl$ZSuL>w$qidkwoO(;Icrk~EP#^>+f!3kbmF{fea zVrk0QSWi!}`$XIp6TG;}vWK!sVv49jPRMwfAY3Liig=aKo{-c;7;C)YY?J|2ymn^jww7I#Z*g3X_s)`qstjUggw9)zyVFt;J@6M>MmpqPKz2&3T6b*Pi4h=4LCgc4rj1GzE18r{#5oV1H^ zqYv~3;`b78r@X{LEC9xY301VO&A)bh4u9h)A#qaNmUU?s3`tqWbq(MSP zBCtx#wT=#!+tkt!XODthcJJ+V|2Q$3PW+1o|=&zIEB&^`Ow6N$RcNG6k67Zr8&+i zLgb$3EApPj1+kAyqQq}RjyuQ0B8HHu<$}>?v&{spcBhs|O&~t4IXMG48VzZh>2?AUYXA=W= zHJQ}Vi?kDxD~axWCa{KNnowj#L${14ZhYpJ?^Dl2d5MfSFikFZk|wP#tzAr<7D=qh zfP+xByLw4Mc+)iRxb}ahA)lyBh=RrniPAzMcqKh$7Sq(|oAc}Fb(e-HnRdb1Rg(7m z(%YeW^%VxK6&+R9sn~7B6`0nl^~pE>Yf7DA(ExK9RWA^dJXr1YR@3mSqpc1WwOzP( ztB|j|$`ONJ%_~xG-M%FSv4!Qd>bu`tk&pJF{fDMmbBFj~K$d^FUX;~D;&cdR&?XFQ zc&XLwV|X$eZdTQ%gHZ}duBZq6Z8-5FtPy(~$T%?3(Q)k(D3MAqq}QzVqUZjd<+;un zoY}$}t~y9Na)FfP>DoCLmk$9KWtAzhe`uR|zy|GuCrmcC2bmy_*b-$I^se^^#LdTZOHSv#WkrE(T&8B z*W6km@Lf!58&1n0mfjN#1@^N~;5Q>O9$yfO6q==-{bdaX32YnBi%xB6-rD%zptIQl zTGZi_gvOs&|J6S}8L0ZNKQ#Z7>;KX31bkloe_!N(PE>#XeM z>h#ZG|8;+&ed7E7Zh8Oj!2$3{+5av;)!wN4-wpO(^_Wjz|8Y{ae+U=5%Kmo&*LL8u zz@w%-BeM^M-E34?4f)q0rZpSNZ~SfSzjzq>D(C-BrWGL^L6aM*RSsXofB36xf96hKS!fpr~ATqVf23n$|WfKf67$G=KAlWs{QwR>ioZB z{VS_i_J1go!1i?Zlsq=tf4^7B{~sNz_iT0__}H0{kdtjfV3che;@*= ziP}cNQ{QXslSNXWAgLqbNXyr(mb`PF6vB@*Si|WvOH>PtwAD(2GKMMY2}au5dV&-^ zjsWWm3mcF|`bK+JjWE*k>WP$z7x>_I3pjs5D9!Aew%JM%WsSo~`)>Ry?Hnfc25h8R z{xaveAIS2v^o0$n#8FA5dP>;!!6H1*OvC=swN@7-Y9HDqa=2GmqhAY!k(xFn*V=RN zCiv$*o@4Zo{w09llfK2Pg<{`kB`aO6yl!rlq;8g(?Q_bw$zqq6){udZQwjd!h9(T= kIY+N858sArseMnA4hPkb5E#3pK!X6i zyHq5U?8QBG#xp*3+McLm|AS5sJ?GrxPHs8nm}^dbZvk1n6&Nh`z5VU`*nJs!BF7UcP%bh6 z63U72M@)!tz(nq>uP5;+miePS{P`*SM))!t$C2>kzAsN=;g3Tej+kWJAM@-qri_AR zwmcs*ZC9tF+>j3dC75bG=7Y(IrSbqtt{New0jz4CvcN^lqI$RfFY@c8qB(F?_kLm>+3$9=>E5_rd4h=8+@GQKd~7@w=!=sYNN zG%y0%Fc_vwTBKdPFz3j88!$~EFsgOH^dNlRkn^!LUO~u6GBn|ejiJSF!`#;M3jb7A zDUptJUy(KA716;{<4=HVN(a!jOFry@Se_DUW5`J|hlsuayll*yfNNclnK?CwOEXKa zRp;%gbwLm@HRsD05bK)n6rAA-b#EH9_QHHa_=dbTUxmHbL56+y@zkE*pxy=f%=qfw zta5gHT7lW>tU9d@*JvGb=UbS)Gjm>k`^($rcdQPuym}YFX^@S zhIgheZPVq~=By5q>L>}Md}qU%4BsF6FFe@sR|1}E-|x~D-1i3~{dbADrxE{JKwK*k ze=89mXoOlotd@w=5^*08CijRjYY-!Efqi!=oFiHSRS39$YJ7=0cS`&NjeoQt@kS}} zeu?-{BlZ^%YbC<`5+p*2cxOLf-kNX@sdAb0n||Kd$Nbyd{d~6v)XfJUCG3J!3v+5sObjL7G8zN`2Vx_v3{5eV&c{a2!AKMaKF0|Eps^*pP%!Hmh+;!Lod9 zSNc$mQ0j@4W6<+*!i2n=-{{3721N^e0~;fa!a8{El8p3o%<7v%T^7n3Fv+pAsd`b-1H5RyjGQ(PW5EIlkDypn&WSFJLYdn=<>57eLbT8+ zZyn@Ac~_PUL6u}@Qq{JSPza1hwFVdXwuB2UH^N1=Oyfw3KxVKi<0xT5Ip2glMaedH zDpjGA(O4*tokeVn!6a03H`NE*jZWAoRBps$*c&FQ1+L=l;ibVvsrn%peM!`Q*Xtc@ z<0&hz6aYO{EtPvfvR>>oIaY7gEUzHYxuNPsbI{?!?<2tGSteDZjOsw2E}p?id805+ z10CgR8CqjEv96rHe4Y#jeb=r-qAn~ra{0?HVrM@)) r3s?{=oCJ1xu8+h0#VDhbg#D5LORU1+k`-_aUeh&g%Wb;9b; Date: Wed, 20 Nov 2019 16:42:39 +0300 Subject: [PATCH 06/11] fixed iteration 2 and readme --- final_task/README.md | 47 +++++++++- final_task/dist/rss_reader-1.1.tar.gz | Bin 3381 -> 0 bytes final_task/rss_reader.egg-info/PKG-INFO | 60 +++++++++++- final_task/rss_reader.egg-info/requires.txt | 1 - final_task/rss_reader/ClassNews.py | 19 ++-- .../__pycache__/rss_reader.cpython-37.pyc | Bin 2665 -> 0 bytes final_task/rss_reader/rss_reader.py | 86 +++++++++--------- final_task/setup.py | 3 +- 8 files changed, 157 insertions(+), 59 deletions(-) delete mode 100644 final_task/dist/rss_reader-1.1.tar.gz delete mode 100644 final_task/rss_reader/__pycache__/rss_reader.cpython-37.pyc diff --git a/final_task/README.md b/final_task/README.md index 7af281f..32153cc 100644 --- a/final_task/README.md +++ b/final_task/README.md @@ -1,3 +1,44 @@ -# Your readme here -Some text. -Checkout how to write this file using *markdown*. +## Iteration 1 +RSS reader is a command utility, which receives RSS URL and prints the result in convenient output format + +Input data has the following interface: + +`rss_reader.py source [-h] [--version] [--verbose] [--json] [--limit LIMIT]` +```` +positional arguments: +source - URL which provides a RSS feed +optional arguments: +-h - prints this help page +--version - prints in stdout current version +--verbose - prints all logs in stdout +--json - prints news in JSON format +--limit LIMIT - limits the amount of news entries in the output +```` +JSON structure: +``` +{ + { + "title": "A black man was put in handcuffs after a police officer stopped him on a trainplatform because he was eating", + "article": "Bay Area Rapid Transit police said Steve Foster, of Concord, California,violated state law by eating a sandwich on a BART station's platform. ", + "links": [ + "https://news.yahoo.com/black-man-put-handcuffs-police-170516695.html", + "http://l.yimg.com/uu/api/res/1.2/iLcp4eQPeHI64PZ9LpeQcw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/e4254e78d7432dae4387d72624ee3086" + ], + "link": "https://news.yahoo.com/black-man-put-handcuffs-police-170516695.html", + "date": "Mon, 11 Nov 2019 17:06:55 -0500" + }, + { + ... + }, + ... +} +``` + +## Iteration 2 +to run rss parser on your computer you need to: +1) clone repository from https://github.com/ElizabethUniverse/FinalTaskRssParser +2) `$cd final_task` +3) `$python setup.py sdist upload` +4) `$cd dist` +3) `$pip install rss_reader-1.1.tar.gz` +4) run `$rss_reader https://news.yahoo.com/rss --limit 2 --verbose` diff --git a/final_task/dist/rss_reader-1.1.tar.gz b/final_task/dist/rss_reader-1.1.tar.gz deleted file mode 100644 index 0c996070bd8191b265127e799e8d2fe872107552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3381 zcmV-54a)K#iwFpgl+s-S|72-%bX;`QgB1F4&&O(G&$?>Hz&-xa8u+&w)3vW&e+d^onxyQa-?eD^oA>tAu4CQ!(6Vh7YD z_Uz2=%+BoY%-AtwR!nV|#z$SFdwlO}KnGwr9EwkX>ZkbLJ?Rfl``uozJGj^Bb_b^? z_elTV9w1@djtTi9gDem39|G~J{x5&|`RM$`)0bad|AWC`qyGE-(~ACk!_(7yq@(oz z)!{kiwrg|y=r{%hd92V(U2sTbJ(#AffV7`seqJWBXH zj7LOZzlY9|3p+}J@V%YgJE9BQ^G5^`3_rd3@Zpa$yo{U<8W)~J0|wprY5e4%@q{ub z_98BNe@OlpCNaTLEhw4Om>x7p3S;O$;q-bwgRPUhh?;UT$>Jq}27kCCb8 zQ<5+*n34M+jCXE$9o#Q9J!o9|HlK#^VnpmR=*#FhpqbJYLjD@>T`|tKng#C9; z(HFov(LI3`K-vF3pw1r3cJLYV|DJ+>4pi*F_<8(g?f=vEe<#D?soMYjz50Lb+l;-S z*UX5PU)BHjd!4?}{|UmN2l^lM`fC5T7w{HQ7;}PdKm9uA3%`fn|DZ9A!v(?Jp@VaQ zGLoX?mkt{E@8bN$FJo(R_WbhV(d3MnM0?%Tb=(5}CH8?W*a+&cum3Vy5B}YH-PB|& zmrlve!nf>rmMmz%nFU)VOOVy^I^!`cEp6E6Ej->D$$eF`*_?>ACkY(f&_Tx?3foCo zktkAwjg~80kZ?-un0t;7{l=>?h59RC?G9f8zdE=%Nt#a+QiVU1ex+dqzx{Mcm^))haw|$M7n} zeFK9La-4(4eJPI;UAWUSVjB6jLv`(SptWH_wQw@-)SoDM`vgY0V~<=!#SX1^VrPyx zOLk-@Q18gjElx^1a!r-}8G_feHNhjG&E>|CSzZ}%e$L`BiMlw$Vropiz!j5y)eW_4 z1ktJ))GAZMjv^Yky5wMp553!J)wkQA1}4N&5G{{$&B0_G*J!PX2UI4#8mKAt0ptPc zR>mV;+&T}5wfU}e#(0BSJj`w~U7#Y$R`*-yRE5`d!T=8YoIuy%^pK(DjyZR{8+ zf)PlqjFh{?3NH3$4ORN83MTe%4O6534@}aWpnOKK_`MF$t;=s0z+ZlQ9mu~;1D7zH>xHP>g(%y_h}!i| z;%-ouZ)|xwYmfHVNg`hmUXM`15gRe9+-YUacL(Th)TFzFKS* zG599Wf0+Zi^YL$M{4YQM_qr#YK?l!&fUnMff4BY@wioO}|J~s*kNlFK2!Z8XhjffxV!Xg&WXjHZ_{*vT{i14RsROScHMU#La4)z*Y-(fJ7cB z(k)m{)WG(5YE};To3;O#{*ibw6`>h}-|(;K|GQmb|Gmzz*B9|$`0OeB-v{K;EM*GH z{#Wh4@YZ+S0c^4VA=rDq{$nl}*8hH|tL%S|@qas>i2zid1-M!G2IVoO#+fhHfC+rZ zCH-uYxJ+r3@eJE_^DKnkWI&M7W}D2ZADK-o zaQXG>qIpXb?da&etd7yz#1?TNQ)3(h`8-ajmXgvg;nd4XiVElTX{g;!73H}LNqMYB zQT}HPqVod6xEm&1+uG^3A)~i*c$x4h;f$onK-uOABMZtHCOEdR5J5|z#g`E^p{p6y z3lYo|@iZPrp2Kj{D5?s85NtFtz8S^gd(WkA5hw=A7#2=>i4Ww)^lFT6#!53sY&FwK z!{g;j^ia?%&8^~II(;plzNbEhbLDU2@zwd{{PClUmDns2GExauLM@x&?eW9MfV3jYyL`0DZ)IYBS|9bw*Gqpq88_%pm*F8(`#~3D!}CFljegM6snKGfcX7vDk--YxL-I4t9mzU7v=Ln!gNNoq z>u^mg2cLvP5p6-TnL9FOl*@rgQ?4-NA#t#%gnDJ~fxjc*GFs@aAAsUJtuH>TEP9Uk#OQ}of`y%qe*j>UB z$ANh>O?-c;RRowP8HFG*sfg|b^9bPhBIp`5$ON<+f_XR`4xr#UkQnj!ib0fnI~VH^ zd!;#Hz`>}FkR;}9;CO3Ck?%P+j`|qZ!Dcmh8iqI_&L##Po@FdkFVjv*uI0Cik-!|1 z*#VIZiM&-jk?5V@dZNJE#sPjIQM7ihK&iv zVxTe)0vapjM@sphwWzdJ&Q76kE~-#A)e4|w+9hXK$<-Z7Z-?sD*BG?cbX1wAVtEyr zZ>?49lV1l11w}z%^RlS@7m$5XW!O)TkR}ryOeIPkgv<&icYVm6R5vw-I9XX z!E##l&9Ch^K>N`COS5E|O9C(;TT~UuB0>>_0yAh61~$CZYSuB_3XQg_YTHgI10+}0 z1O7JLWD(Vfy$xhs7^rz#I|Wuqr5Ms{)_T$N;Jxj8?iife!XB+VNGJAylSjM%@l?L1(C4!{$pi`%VC5JxPDvI%l5iR%^~rPXsM2DtIxoqE33pejWX5sl;9 z_%z2jbJ_&U&xOpUVG_8_o%I1*{9VZNxy?1H6w!<%vESTTA@E%cY8Ot+Fp=I93Pp_lvF}x5AYeu9n4cGjA`q$tobC;y>vToz7-Q=vt4z zNND8K>VNyEnEzAtzu$!Z@BB>Ir$7HS=nsY}{LwWy?T5$ z{`?%^R{I}T?SFVO=qUT&2jma@H5lbdWJJrxhG#$;^|e8b`jU~xEt%xTrYuwAw&ka> zWp38qcPW;H(!g1!^}U-Ap>Ofhib8L_j|CEJ`;Y$gq9bNcX)QuJ(#;fj7|AH;-7@NX zwf{O9e%btgr@LzZy>9 z4>e!M{!a(h^zu_wsue@(O3={__b8ofcI^vJ(yc8r1Y5#O`@-#KQnz5f5CYX7~i z+W+ra|H{af{U6I9urr-~NgiA6zu&9A|LJs~>i_q1{s%WNDg@sgG`Kyp-X@;!5|hYZ z>B|B-SU{p|<-4)}J3sOJN%r5xVh?Hmo#C)2-v4+qRQdnCK>BD-$kMlci3z~N(9d7? zC9bpyzGlaYZ08+5^^rYWfip*+ipu}d$|D$IL<2o!Mr8B3@q6eMKU^s3xa@}C~_4%^@GMCS)}y|k~$)qS}|v}^qm{&6A`8cb2z(Zi)sN=TdyQo#jr#@ zfvIh*C&E~%+s{ZR)#2R98B$}@sq4^ zl-3(CQ?r9*!SgVbb%@!cI#P+|ic0m2uor+u_`a1L`^{Hc-60WQ;Z!{*YH!*rEO7m> z%@3ujSxp;}SK58>FxdV+o+z@n!+cEJmeUR8w#`bUx>}as+$nI~TxE91DdQGPJiaoo z47{94^-nLdF!pIawS9a-PCd4+K!E}U3KS?%pg@5F1qu`>P@q780tE^bC{Uo_n}z=a LJw3*%0C)fZsjb=3.7.0 diff --git a/final_task/rss_reader.egg-info/requires.txt b/final_task/rss_reader.egg-info/requires.txt index 8ac37f0..fcadc2b 100644 --- a/final_task/rss_reader.egg-info/requires.txt +++ b/final_task/rss_reader.egg-info/requires.txt @@ -1,2 +1 @@ html2text==2019.9.26 -dataclasses==0.6 diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index 4a89ad5..ca2e8cd 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -44,11 +44,11 @@ def dicts_to_articles(dict_list): """This function receive list of dictionaries and convert it to list of articles """ article_list = [] for item in dict_list: - article_list.append(MyArticle(item)) + article_list.append(Article(item)) return article_list -@dataclass -class MyArticle: + +class Article: """This is news class, which receives dictionary and have title, date, link, article and links keys fields""" def __init__(self, article_dict): self.title = article_dict['title'] @@ -58,10 +58,15 @@ def __init__(self, article_dict): self.links_list = article_dict['links'] def __str__(self): - result_string_article = '\n' - result_string_article += "Title: {}\nDate: {}\nLink: {}\n\n{}\n\n".format(self.title, self.date, self.link, - self.article) + result_string_article = "\nTitle: %s\nDate: %s\nLink: %s\n\n%s\n\n" % (self.title, self.date, self.link, + self.article) for link_idx, link in enumerate(self.links_list): - result_string_article += "[{}]: {}\n".format(link_idx + 1, link) + result_string_article += "[%d]: %s\n" % (link_idx + 1, link) result_string_article += '\n' return result_string_article + + def __eq__(self, other): + if self.article == other.article and self.title == other.title and self.link == other.link and \ + self.date == other.date: + return True + return False \ No newline at end of file diff --git a/final_task/rss_reader/__pycache__/rss_reader.cpython-37.pyc b/final_task/rss_reader/__pycache__/rss_reader.cpython-37.pyc deleted file mode 100644 index 6ca6632e79e71b68143bd2b972a8aa9e4d65937e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmah~&2!tv6~_V~0fHZ*WZ8-x$AKL?4yTryPkb5E#3pK!X6i zyHq5U?8QBG#xp*3+McLm|AS5sJ?GrxPHs8nm}^dbZvk1n6&Nh`z5VU`*nJs!BF7UcP%bh6 z63U72M@)!tz(nq>uP5;+miePS{P`*SM))!t$C2>kzAsN=;g3Tej+kWJAM@-qri_AR zwmcs*ZC9tF+>j3dC75bG=7Y(IrSbqtt{New0jz4CvcN^lqI$RfFY@c8qB(F?_kLm>+3$9=>E5_rd4h=8+@GQKd~7@w=!=sYNN zG%y0%Fc_vwTBKdPFz3j88!$~EFsgOH^dNlRkn^!LUO~u6GBn|ejiJSF!`#;M3jb7A zDUptJUy(KA716;{<4=HVN(a!jOFry@Se_DUW5`J|hlsuayll*yfNNclnK?CwOEXKa zRp;%gbwLm@HRsD05bK)n6rAA-b#EH9_QHHa_=dbTUxmHbL56+y@zkE*pxy=f%=qfw zta5gHT7lW>tU9d@*JvGb=UbS)Gjm>k`^($rcdQPuym}YFX^@S zhIgheZPVq~=By5q>L>}Md}qU%4BsF6FFe@sR|1}E-|x~D-1i3~{dbADrxE{JKwK*k ze=89mXoOlotd@w=5^*08CijRjYY-!Efqi!=oFiHSRS39$YJ7=0cS`&NjeoQt@kS}} zeu?-{BlZ^%YbC<`5+p*2cxOLf-kNX@sdAb0n||Kd$Nbyd{d~6v)XfJUCG3J!3v+5sObjL7G8zN`2Vx_v3{5eV&c{a2!AKMaKF0|Eps^*pP%!Hmh+;!Lod9 zSNc$mQ0j@4W6<+*!i2n=-{{3721N^e0~;fa!a8{El8p3o%<7v%T^7n3Fv+pAsd`b-1H5RyjGQ(PW5EIlkDypn&WSFJLYdn=<>57eLbT8+ zZyn@Ac~_PUL6u}@Qq{JSPza1hwFVdXwuB2UH^N1=Oyfw3KxVKi<0xT5Ip2glMaedH zDpjGA(O4*tokeVn!6a03H`NE*jZWAoRBps$*c&FQ1+L=l;ibVvsrn%peM!`Q*Xtc@ z<0&hz6aYO{EtPvfvR>>oIaY7gEUzHYxuNPsbI{?!?<2tGSteDZjOsw2E}p?id805+ z10CgR8CqjEv96rHe4Y#jeb=r-qAn~ra{0?HVrM@)) r3s?{=oCJ1xu8+h0#VDhbg#D5LORU1+k`-_aUeh&g%Wb;9b; Date: Wed, 20 Nov 2019 17:06:00 +0300 Subject: [PATCH 07/11] iteration 3, fixed readme and tests --- final_task/README.md | 14 ++++ final_task/rss_reader/CSVEntities.py | 50 ++++++++++++ final_task/rss_reader/ClassNews.py | 26 +++--- final_task/rss_reader/datecsv.csv | 68 ++++++++++++++++ final_task/rss_reader/rss_reader.py | 86 ++++++++++++++------ final_task/test/RssUnitTest.py | 114 +++++++++++++++++++++++++++ final_task/test/__init__.py | 0 7 files changed, 320 insertions(+), 38 deletions(-) create mode 100644 final_task/rss_reader/CSVEntities.py create mode 100644 final_task/rss_reader/datecsv.csv create mode 100644 final_task/test/RssUnitTest.py create mode 100644 final_task/test/__init__.py diff --git a/final_task/README.md b/final_task/README.md index 32153cc..25a6a19 100644 --- a/final_task/README.md +++ b/final_task/README.md @@ -42,3 +42,17 @@ to run rss parser on your computer you need to: 4) `$cd dist` 3) `$pip install rss_reader-1.1.tar.gz` 4) run `$rss_reader https://news.yahoo.com/rss --limit 2 --verbose` + + +## Iteration 3 +News is stored in the csv cache in following format and with tab delimiter. + +`date title link article list_links` + +Now we are searching for the news in the cache with O(n) complexity. But in the near future we plan to optimize this process. + +If you want to receive news for the 15/11/2019, please enter the following command in the command line + +`$python rss_reader.py https://news.yahoo.com/rss --date 20191115` + +--date argument works without internet connection and with --verbose, --json, --limit LIMIT arguments the same way. \ No newline at end of file diff --git a/final_task/rss_reader/CSVEntities.py b/final_task/rss_reader/CSVEntities.py new file mode 100644 index 0000000..55a56bd --- /dev/null +++ b/final_task/rss_reader/CSVEntities.py @@ -0,0 +1,50 @@ +import csv +from datetime import date +from dateutil.parser import parse + +import ClassNews + +FIELDNAMES = ['date', 'title', 'link', 'article', 'links'] + + +def csv_to_python(articles_list, csv_file): + """This function inserts news to the source csv file that has never been seen in it.""" + articles_list_from_csv = [] + with open(csv_file, "r") as file: + reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') + for items in reader: + r = ClassNews.Article(dict(items)) + articles_list_from_csv.append(r) + + union_list = articles_list_from_csv[:] + for item in articles_list: + if item not in articles_list_from_csv: + union_list.append(item) + + with open(csv_file, "w") as file: + writer = csv.DictWriter(file, fieldnames=FIELDNAMES, delimiter='\t') + for item in union_list: + writer.writerow(item.__dict__) + + +def return_news_to_date(input_date, csv_file, limit): + """This function read from the file those news that match by date""" + article_list_by_date = [] + datetime_input = date(int(input_date[0:4]), int(input_date[4:6]), int(input_date[6:8])) + with open(csv_file, "r") as file: + reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') + match_counter = 0 + for items in reader: + article_from_file = ClassNews.Article(dict(items)) + + date_time = parse(article_from_file.date) + date_from_file = date_time.date() + + if date_from_file == datetime_input: + match_counter += 1 + article_list_by_date.append(article_from_file) + + if limit == match_counter: + return article_list_by_date + + return article_list_by_date \ No newline at end of file diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index ca2e8cd..b7c8f8f 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -1,7 +1,5 @@ import re import html2text -from dataclasses import dataclass - LINKS_TEMPLATE = '\"((http|https)://(\w|.)+?)\"' @@ -28,11 +26,7 @@ def xml_arguments_for_class(xml_string, limit): if xml_news_item.tag == 'description': parser_dictionary['article'] = text.handle(xml_news_item.text).replace('\n', '') - - list_links = [] - for group1 in re.finditer(LINKS_TEMPLATE, xml_news_item.text): - list_links.append(group1.group(1)) - parser_dictionary['links'] = list_links + parser_dictionary['links'] = xml_news_item.text.replace('\n', '') dict_article_list.append(parser_dictionary) @@ -47,20 +41,28 @@ def dicts_to_articles(dict_list): article_list.append(Article(item)) return article_list +def html_text_to_list_links(html_links): + html_links = html_links.replace("\'", "\"") + list_links = [] + for group1 in re.finditer(LINKS_TEMPLATE, html_links): + list_links.append(group1.group(1)) + return list_links + class Article: """This is news class, which receives dictionary and have title, date, link, article and links keys fields""" def __init__(self, article_dict): - self.title = article_dict['title'] self.date = article_dict['date'] + self.title = article_dict['title'] self.link = article_dict['link'] self.article = article_dict['article'] - self.links_list = article_dict['links'] + self.links = html_text_to_list_links(article_dict['links']) + def __str__(self): result_string_article = "\nTitle: %s\nDate: %s\nLink: %s\n\n%s\n\n" % (self.title, self.date, self.link, - self.article) - for link_idx, link in enumerate(self.links_list): + self.article) + for link_idx, link in enumerate(self.links): result_string_article += "[%d]: %s\n" % (link_idx + 1, link) result_string_article += '\n' return result_string_article @@ -69,4 +71,4 @@ def __eq__(self, other): if self.article == other.article and self.title == other.title and self.link == other.link and \ self.date == other.date: return True - return False \ No newline at end of file + return False diff --git a/final_task/rss_reader/datecsv.csv b/final_task/rss_reader/datecsv.csv new file mode 100644 index 0000000..41f8148 --- /dev/null +++ b/final_task/rss_reader/datecsv.csv @@ -0,0 +1,68 @@ +Thu, 14 Nov 2019 21:26:12 -0500 Trump: Impeachment 'has been very hard on my family' https://news.yahoo.com/trump-impeachment-has-been-very-hard-on-my-family-022612387.html President Trump campaigned in Louisiana for the first time since the Housebegan public hearings in his impeachment inquiry. ['https://news.yahoo.com/trump-impeachment-has-been-very-hard-on-my-family-022612387.html', 'http://l2.yimg.com/uu/api/res/1.2/3iv8IvZCkg3m2uXvIKwFkQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/e3f7e8e0-074e-11ea-bdfe-16810a7d0c4a'] +Fri, 15 Nov 2019 12:14:23 -0500 Man caught at Houston airport with 35 pounds of liquid cocaine in shampoobottles https://news.yahoo.com/man-caught-houston-airport-35-155046738.html The U.S. Customs and Border Patrol says an arriving passenger tried to smuggle35 pounds worth of liquid cocaine in shampoo bottles into the country. ['https://news.yahoo.com/man-caught-houston-airport-35-155046738.html', 'http://l.yimg.com/uu/api/res/1.2/FoHJGXtRUrlAQhP0nHokkA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_travel_320/c5fe2f56eb0a5e2e66b4982ffcea0a53'] +Wed, 13 Nov 2019 19:43:14 -0500 Colorado officers who shot black teenager won�t be charged https://news.yahoo.com/colorado-officers-shot-black-teenager-004314411.html A grand jury found that two Colorado police officers were justified in killinga black teenager who was shot multiple times in the back during a foot chase,the district attorney said Wednesday. As a result, no criminal charges will befiled against the officers involved in the Aug. 3 death of De'Von Bailey inColorado Springs, KRDO reported, citing El Paso County District Attorney DanMay. Bailey, 19, was shot three times in the back and once in the arm. ['https://news.yahoo.com/colorado-officers-shot-black-teenager-004314411.html', 'http://l1.yimg.com/uu/api/res/1.2/LC7nUrDC4grj90i1UFWwfQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/1d279d3c82ebfdc9281ebb50161b5741'] +Thu, 14 Nov 2019 23:43:25 -0500 DNC Announces 10 Candidates in Atlanta Democratic Debate https://news.yahoo.com/dnc-announces-10-candidates-atlanta-040356917.html (Bloomberg) -- The Democratic National Committee on Thursday announced the 10candidates who will participate in the fifth Democratic primary debate inAtlanta on Wednesday.They are: Joe Biden, Cory Booker, Pete Buttigieg, TulsiGabbard, Kamala Harris, Amy Klobuchar, Bernie Sanders, Tom Steyer, ElizabethWarren and Andrew Yang.Julian Castro, who participated in previous debates,most recently in October at Otterbein University in Westerville, Ohio, didn�tmake the cut. Another October participant, Beto O�Rourke, has dropped out ofthe race. Deval Patrick, a former governor of Massachusetts who announced hiscandidacy on Thursday, also won�t be on the stage at the Tyler PerryStudios.The forum will be co-hosted by the Washington Post and MSNBC.Candidates will be questioned by four female moderators: Rachel Maddow, AndreaMitchell and Kristen Welker from the network, and Ashley Parker from thePost.The two-hour event had a higher bar to qualify than previous debates.Candidates must have contributions from 165,000 donors, up from 135,000.Andthe donors must be geographically dispersed, with a minimum of 600 per statein at least 20 states. In addition, participants must either show 3% supportin four qualifying national or single-state polls, or have at least 5% supportin two qualifying single-state polls released between Sept. 13 and Nov. 13 inthe early nominating states of Iowa, New Hampshire, South Carolina orNevada.The sixth debate will take place next month in Los Angeles.To contactthe reporter on this story: Max Berley in Washington atmberley@bloomberg.netTo contact the editors responsible for this story: WendyBenjaminson at wbenjaminson@bloomberg.net, John HarneyFor more articles likethis, please visit us at bloomberg.com�2019 Bloomberg L.P. ['https://news.yahoo.com/dnc-announces-10-candidates-atlanta-040356917.html', 'http://l2.yimg.com/uu/api/res/1.2/Ao65mpoUzysdT53oXRH8lQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/9d6f2eccaafd5f3f5d74a13988351f71'] +Thu, 14 Nov 2019 18:29:07 -0500 Virginia police say wanted Marine deserter sought family https://news.yahoo.com/virginia-police-hunt-marine-deserter-131347684.html Police in Virginia say the Marine deserter wanted for questioning in a murdercase was trying to reach out to a family member when he was spotted. RoanokePolice Chief Tim Jones told a news conference that it�s believed MichaelAlexander Brown was trying to contact his grandmother when a neighbor saw himearly Thursday. The Roanoke Times reports the U.S. Marshals Service learnedSunday night that Brown might be driving a recreational vehicle near ClarendonCounty, South Carolina, about four hours southwest of Camp Lejeune, in NorthCarolina, where he had been stationed as a U.S. Marine until leaving his postlast month. ['https://news.yahoo.com/virginia-police-hunt-marine-deserter-131347684.html', 'http://l1.yimg.com/uu/api/res/1.2/chw_x2nao2cBnzzqwtEkfA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/14bcbf482ca4b514a138400b6c3de809'] +Fri, 15 Nov 2019 08:41:42 -0500 Turkey sends American Islamic State fighter to U.S. after stalemate withGreece https://news.yahoo.com/turkey-sends-american-islamic-state-134142157.html Turkey sent a U.S. citizen suspected of fighting for Islamic State to theUnited States by plane on Friday, Interior Minister Suleyman Soylu said, afterthe man was refused entry to Greece earlier this week. Turkish authoritiesstarted deporting captured Islamic State suspects to their home countries onMonday. Ankara says it has captured 287 militants in northeast Syria, whereTurkish troops launched an assault against the Kurdish YPG militia last month,and has hundreds more jihadist suspects in detention. ['https://news.yahoo.com/turkey-sends-american-islamic-state-134142157.html'] +Sun, 17 Nov 2019 09:36:14 -0500 On an upswing, the Pete Buttigieg show rolls through New Hampshire https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It�s aspectacle that hasn�t been seen in recent presidential races, but it�s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ['https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', 'http://l2.yimg.com/uu/api/res/1.2/cqp8V_ndESsAGfj_ke5adw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/9e842ef0-04eb-11ea-a66f-fec562b3bef1'] +Sun, 17 Nov 2019 05:29:47 -0500 French interior minister blames protest violence on 'thugs' https://news.yahoo.com/french-interior-minister-blames-protest-102947823.html "French Interior Minister Christophe Castaner blamed ""thugs"" and ""bullies"" onSunday for the violence that hit demonstrations the previous day markingmarked the first anniversary of the anti-government ""yellow vest"" protests.""Yesterday, what we saw were few (legitimate) demonstrators but thugs, bulliesand morons,"" Castaner told Europe 1 radio when asked about the violence inParis on Saturday. Demonstrators torched cars and pelted police with stonesand bottles and police fired tear gas and water cannon during the rallies tomark a year since the birth of the anti-government yellow vest movement. " ['https://news.yahoo.com/french-interior-minister-blames-protest-102947823.html', 'http://l1.yimg.com/uu/api/res/1.2/fjSSGZbaqftFt_tu8zxqdg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/ce71df2daade2be230c0a82d0212503f'] +Sat, 16 Nov 2019 19:45:37 -0500 Chile police stopped rescue workers helping dying protester: human rightswatchdog https://news.yahoo.com/chile-police-stopped-rescue-workers-004537157.html Chile's independent human rights watchdog said on Saturday it would file aformal complaint for murder against police officers who allegedly preventedparamedics from attending a heart attack victim amid a protest Friday.Security forces firing tear gas, rubber bullets and water cannons made itimpossible for rescue workers to properly treat the victim, Chile's publicly-funded National Institute for Human Rights said. Twenty-nine year old AbelAcuna died shortly after at a nearby Santiago hospital. ['https://news.yahoo.com/chile-police-stopped-rescue-workers-004537157.html', 'http://l1.yimg.com/uu/api/res/1.2/msfkqScfjEDGkZw0FpwuYQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/4fcd3b80fd76604f970966b9f77b32bd'] +Sat, 16 Nov 2019 16:11:50 -0500 NATO ally expels undercover Russian spy https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliatedwith the Russian military intelligence service, according to a Westernintelligence source. ['https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', 'http://l1.yimg.com/uu/api/res/1.2/IKBjTl0jeU0BCnrjqbCKAw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/440e0010-0714-11ea-9bcb-45ff7f6277b3'] +Mon, 18 Nov 2019 00:00:00 -0500 If A Chinese-American War Happens, It Will Start In The South China Sea https://news.yahoo.com/chinese-american-war-happens-start-050000239.html China has been preparing for just that fight. ['https://news.yahoo.com/chinese-american-war-happens-start-050000239.html', 'http://l.yimg.com/uu/api/res/1.2/RmE79ZMwdqb210wL3E0QIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/6c65a0e958cf5690f7c9f85d39cd2087'] +Sun, 17 Nov 2019 20:42:09 -0500 Massachusetts man arrested after son, 5, allegedly takes heroin to school andbrags it makes him feel like Spider-Man https://news.yahoo.com/massachusetts-man-arrested-son-5-233157331.html A father is facing drug possession charges after his son, 5, allegedly tookheroin to school and said tasting it made him feel like Spider-Man. ['https://news.yahoo.com/massachusetts-man-arrested-son-5-233157331.html', 'http://l2.yimg.com/uu/api/res/1.2/yJXppUCKiBRdSORVsq5jbQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/2ca040e3-872d-4331-ba74-ed1d8c61fdd8/a1aece82-5dc4-5e6b-9f10-446fc5ee1d3c/data_3_0.jpg?s=6fcf5a11f548dd38cb0998975e629751&c=5f6d48426e972b3807d2f842bafafa4e&a=tripleplay4us&mr=0'] +Sun, 17 Nov 2019 10:44:20 -0500 Trump disputes North Korea: Joe Biden 'somewhat better' than a 'rabid dog' https://news.yahoo.com/trump-biden-north-korea-rabid-dog-154420234.html President Trump came to the defense of his potential 2020 rival Joe Biden onSunday, disputing a characterization of the former vice president as a �rabiddog� who �must be beaten to death with a stick.� ['https://news.yahoo.com/trump-biden-north-korea-rabid-dog-154420234.html', 'http://l2.yimg.com/uu/api/res/1.2/4r6PAR_tChOJsKG20onXdw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-images/2019-11/388e3630-094c-11ea-af78-84edfb292bc3'] +Mon, 18 Nov 2019 02:26:00 -0500 "The Problem with Hypersonic Missiles: ""None of this stuff works yet.""" https://news.yahoo.com/problem-hypersonic-missiles-none-stuff-072600256.html Don�t get too excited about hypersonic weapons, one prominent U.S. defensejournalist advised. According to him, we still don�t know for sure whether theMach-5-plus munitions actually work. ['https://news.yahoo.com/problem-hypersonic-missiles-none-stuff-072600256.html', 'http://l2.yimg.com/uu/api/res/1.2/YOhob5Hzzh5bR_GUbztqLg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/ef38aa18f65ca8d1c745a2f38867a67c'] +Sun, 17 Nov 2019 06:00:35 -0500 Rep. Justin Amash turned on Trump. Will his Michigan district follow him � orturn on him? https://news.yahoo.com/rep-justin-amash-turned-on-trump-will-his-michigan-district-follow-him-or-turn-on-him-110017880.html If you want to understand how impeachment is being seen by actual Americans,there may be no better place to go than Grand Rapids, Mich. In part that�sbecause the area around Grand Rapids, comprising Michigan�s ThirdCongressional District, is one of only about two dozen districts in the nationto vote for Barack Obama and for Donald Trump. ['https://news.yahoo.com/rep-justin-amash-turned-on-trump-will-his-michigan-district-follow-him-or-turn-on-him-110017880.html', 'http://l.yimg.com/uu/api/res/1.2/5MxK.YN._EndjO7h3DUbpA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/cf4e8b20-0892-11ea-afe6-4b378b4fa34e'] +Sat, 16 Nov 2019 18:44:44 -0500 Man kills wife, three young sons in San Diego home: police https://news.yahoo.com/man-kills-wife-three-young-234444448.html "Three other boys, ages 5, 9 and 11, were taken to a hospital where two of themdied, San Diego Police Chief David Nisleit said during a news conference.""When the officers arrived on the scene, they were able to look into one ofthe windows and see a small child inside covered in blood,"" San Diego PoliceLieutenant Matt Dobbs said. " ['https://news.yahoo.com/man-kills-wife-three-young-234444448.html'] +Mon, 18 Nov 2019 08:09:09 -0500 PHOTOS: Deadly shooting at California football party https://news.yahoo.com/photos-deadly-shooting-at-california-football-party-130909246.html Four people were killed and six more wounded when �unknown suspects� sneakedinto a backyard filled with people at a party in central California and firedinto the crowd, police said. ['https://news.yahoo.com/photos-deadly-shooting-at-california-football-party-130909246.html', 'http://l.yimg.com/uu/api/res/1.2/zk3Vm4IumKHd15y_m9XXFQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/53b14e90-0a03-11ea-9a77-714a8e20d9a5'] +Mon, 18 Nov 2019 14:26:15 -0500 PHOTOS: Hong Kong police storm university held by protesters https://news.yahoo.com/photos-hong-kong-police-storm-university-held-by-protesters-192615683.html Police breached a Hong Kong university campus held by protesters early Mondayafter an all-night siege that included firing repeated barrages of tear gasand water cannons. Anti-government protesters have barricaded themselvesinside Hong Kong Polytechnic University for days. ['https://news.yahoo.com/photos-hong-kong-police-storm-university-held-by-protesters-192615683.html', 'http://l2.yimg.com/uu/api/res/1.2/uHYV90L3jWuIGcBWBTISCA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/a3736830-0a37-11ea-97a7-c60f5626b0aa'] +Mon, 18 Nov 2019 11:39:30 -0500 The real danger of impeachment for Trump and Dem candidates: It's the calendar https://news.yahoo.com/the-real-danger-of-impeachment-for-trump-and-dem-candidates-its-the-calendar-163930854.html The real problem for President Trump and his would-be 2020 rivals is the lossof something even more precious and irrevocable than polling percentagepoints: time. ['https://news.yahoo.com/the-real-danger-of-impeachment-for-trump-and-dem-candidates-its-the-calendar-163930854.html', 'http://l2.yimg.com/uu/api/res/1.2/k9Q1aeXSueHWF5XA7i8R1g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/83d2c140-0a20-11ea-bfbf-871c274eead4'] +Wed, 20 Nov 2019 07:16:37 -0500 FBI seeks interview with CIA whistleblower https://news.yahoo.com/fbi-seeks-interview-with-cia-whistleblower-121637359.html The FBI recently sought to question the CIA whistleblower who filed acomplaint over President Trumps July 25 Ukraine call a move that came aftera vigorous internal debate within the bureau over how to respond to some ofthe issues raised by the complaints allegations and whether they needed to bemore thoroughly investigated, according to sources familiar with the matter. ['https://news.yahoo.com/fbi-seeks-interview-with-cia-whistleblower-121637359.html', 'http://l1.yimg.com/uu/api/res/1.2/FFYc1t5HNe2lipnQae0Hiw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/3d948520-0b0f-11ea-9eff-d96ddf8d2605'] +Wed, 20 Nov 2019 07:24:15 -0500 A Catholic priest condemned a teen's suicide at his own funeral. Now, his momis suing https://news.yahoo.com/catholic-priest-condemned-teens-suicide-122415843.html The complaint filed in Wayne County on behalf of Linda Hullibarger said thatRev. Don LaCuesta questioned whether her son, Maison, would go to heaven. ['https://news.yahoo.com/catholic-priest-condemned-teens-suicide-122415843.html', 'http://l2.yimg.com/uu/api/res/1.2/E.uR4YBCDMQMtlFIyuNsBQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/71bd64433e82e5dd682942ae8986a6df'] +Mon, 18 Nov 2019 14:25:16 -0500 Russia offers job to Maria Butina, woman convicted by U.S. of being an agent https://news.yahoo.com/russia-offers-job-maria-butina-172441526.html In her first public appearance since being deported by U.S. authorities whohad jailed her for being a Russian agent, Maria Butina was on Monday offered ajob by Moscow to defend Russians imprisoned abroad. During an event for themedia, Russia's human rights commissioner, Tatyana Moskalkova, offered Butina,31, a job working for her commission. Butina, who flew back to Russia on Oct.26 after being deported, did not say whether she would accept the offer madeat what she called her first public appearance since she was mobbed bywellwishers in front of the media at the airport on her arrival home. ['https://news.yahoo.com/russia-offers-job-maria-butina-172441526.html', 'http://l1.yimg.com/uu/api/res/1.2/oxY5OuKzQwBTeFCkvfV48w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/9059272a78d86d6f901aa06a91c51e3d'] +Tue, 19 Nov 2019 11:20:19 -0500 As Epstein died, guards allegedly shopped online and slept https://news.yahoo.com/epstein-jail-guards-charged-falsifying-162019489.html Two jail guards responsible for monitoring Jeffrey Epstein the night he killedhimself were sleeping and browsing the internet instead, according to anindictment released Tuesday charging the guards with lying on prison recordsto cover themselves. The grand jury indictment provides a damning glimpse ofsafety lapses inside a high-security unit at the Metropolitan CorrectionalCenter in New York, where Epstein had been awaiting trial on sex traffickingcharges. The indictment, leaning in part on images from security cameras onthe cell block, also contains new details reinforcing the idea that, for allthe intrigue regarding Epstein and his connections to powerful people, hisdeath was a suicide and possibly preventable. ['https://news.yahoo.com/epstein-jail-guards-charged-falsifying-162019489.html', 'http://l.yimg.com/uu/api/res/1.2/GMWaLXqyRo4WR7N3kOA.qQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/59491a74f2fdf35975566f71b8c83e86'] +Tue, 19 Nov 2019 12:00:00 -0500 Meet Britain's Deadly Nuclear Missile Submarines https://news.yahoo.com/meet-britains-deadly-nuclear-missile-170000192.html A powerful deterrent. ['https://news.yahoo.com/meet-britains-deadly-nuclear-missile-170000192.html', 'http://l2.yimg.com/uu/api/res/1.2/5qfozsZI36JdRni9rlV7uA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/70d55e367b213e3b1414ee9e1cc7a0ab'] +Mon, 18 Nov 2019 15:07:00 -0500 The New York Times report on China's mass detention of Muslims seems to havebroken through Beijing's internet firewall https://news.yahoo.com/york-times-report-chinas-mass-200700476.html "The Great Firewall may have been breached.Beijing doubled down Monday afterThe New York Times published a report on over 400 leaked documents thatprovided a look into China's mass detention of Muslims in the Xinjiang region,though the government didn't dispute the authenticity of the documents.""It isprecisely because of a series of preventative counterterrorism and de-extremism measures taken in a timely manner that Xinjiang, which had beendeeply plagued by terrorism, has not had a violent terrorist incident forthree years,"" said Geng Shuang, a spokesman for China's Ministry of ForeignAffairs. Geng added that the Times took things out of context in an attempt to""smear and discredit China's antiterrorism and de-extremism capabilities.""Butaside from Geng's comments, the Times reports that Chinese state media saidlittle else about the issue, which is not surprising given the sensitivenature of the issue. But there were signs that at least some aspects of theleak snuck past Beijing's internet firewall, which blocks access to the Times.One user on Chinese social media platform Weibo reportedly posted about WangYongzhi, an official cited in the report who initially helped implementChina's harsh measure, but eventually ordered the release of more than 7,000detention camp inmates before he was arrested. ""History will not forget thisperson and this page of paper,"" the Weibo user wrote, indicating that thedocuments might have made their way through. Read more at The New YorkTimes.More stories from theweek.com The potential lie that could actuallydestroy Trump The coming death of just about every rock legend Everyone willeventually turn on Trump. Even Steve Doocy. " ['https://news.yahoo.com/york-times-report-chinas-mass-200700476.html'] +Mon, 18 Nov 2019 09:35:00 -0500 Give me the guinea pigs!: Pet shop owner says stolen animal thrown at himafter chasing thieves https://news.yahoo.com/guinea-pigs-pet-shop-owner-143533395.html Two women attempted to steal guinea pigs from a pet store in Kentucky, beforethrowing one of the animals at the shop owner, he has alleged.US news outletsreport that 21-year-old Isabelle Mason and 19-year-old Jaimee Pack tried tosmuggle out the animals from a Pet Paradise store in Danville on Saturdaywithout paying. ['https://news.yahoo.com/guinea-pigs-pet-shop-owner-143533395.html', 'http://l2.yimg.com/uu/api/res/1.2/RGAveUbG9NBk6McOJU6G7Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/267cefc30507a89e67e9d543d4a34bdc'] +Mon, 18 Nov 2019 13:57:49 -0500 Israels New Way of War https://news.yahoo.com/israel-way-war-185749787.html Commuters on Route 4, driving toward the Israeli coastal city of Ashdod onNovember 12, were shocked by an explosion, a rocket impact next to a majorintersection. Had it fallen on a car or one of the many trucks plying theroute, there would have been deaths, and the road would have been closed.Instead, police and Israeli Home Front Command units came and cordoned off thesidewalk, and drivers went about their day. Twenty-five miles south of wherethe rocket landed, other rocket teams from Palestinian Islamic Jihad (PIJ), anIranian-backed terrorist group, were preparing to fire more than 400 rocketsat Israel during a brief flare-up in fighting. Most of them would beintercepted by Israels high-tech air defense.The ability of millions ofIsraelis to mostly go about their day while Israels air force carries outprecision air strikes nearby is due to Israels latest achievements infighting war. It also comes with questions about whether Israel is beingeffective and what this latest revolution in military affairs means in thelong term.A week after the November 12 clashes, they had faded into thebackground, one day of battle among dozens since March 2018, when Hamaslaunched a series of protests called the Great Return March. More than 2,000rockets have been fired, many of them in short spurts. Several times, Israelalmost launched a major ground operation. But it has held back. Its Iron Domeair-defense system, which looks like a giant green pack of cigarettes mountedon a truck, intercepted 90 percent of the rockets in the battle with IslamicJihad. The sophisticated system, developed with U.S. support, not only targetsincoming projectiles by firing a missile at them; it even calculates preciselywhere the threat might hit and works accordingly with a separate system ofsirens that warn Israelis to seek shelter.As in almost every attack sinceIsrael pulled its forces from Gaza in 2005, I went down to the border. Thearea has changed dramatically over the years. In 2008, before Operation CastLead, areas of Sderot, a border town, were dilapidated and depressing. Underfire, without any protection, the people were traumatized. Now there are newparks and shopping centers. Israel didnt go to war on November 12 because itdidnt need to, and it sees diminishing returns in entering Gaza and gettingbogged down in fighting. It also knows that civilian casualties would result.In Cast Lead, around 1,400 Palestinians were killed; in the Gaza war in 2014,more than 2,400, according to estimates. Gaza is densely populated; imaginetrying to fight a war in Manhattan. Civilians will suffer.However, the volumeof rocket fire from Gaza in the past year and the extent of Israeli airstrikesare as large as in previous wars. In July 2018, Israel struck 40 targets inwhat it said were the largest strikes since the 2014 war. In November 2018,around 500 rockets were fired. In response, Israel struck 160 targets thatmonth. In May 2019, more than 600 rockets were fired at Israel. In the recentbattle with Islamic Jihad, Israel hit around 20 PIJ targets. A mistakenairstrike also killed eight civilians from one Palestinian family.Israeldubbed its recent operation Black Belt and aimed it at deterring PIJ, whichposes a challenge for Israel if there is also conflict with Hezbollah in thenorth. Delivering a blow to the organization by killing a senior commander tostabilize the situation is what Jerusalem hoped to achieve. Our assessmentshows we dealt a significant blow to PIJs capabilities, an IDF spokesmansaid in a press briefing.This is Israels new way of war. It mirrors a type ofwar that most advanced Western countries, particularly the United States, nowfight. It involves precision airstrikes or special forces and complexintelligence-gathering through the use of satellites, cyber technology, andother sources. Gone are the days of heavy armor, of Israels Moshe Dayan orAmericas George Patton and all that. This revolution in military affairsthat was unveiled in the early 1990s mandates the use of technology and nowinvolves asymmetry, which basically means that on one side you have an F-35and on the other you have a guy with an AK-47. Its not simple in reality,because groups such as Islamic Jihad have developed long-range rockets, withIrans backing.Nevertheless, in the overall picture, Israel has reachedextreme precision in its airstrikes, putting a missile in a bedroom ratherthan taking out a whole house. Air defense, including Iron Dome and othersystems such as the U.S.-made Patriot, enable Jerusalem to avoid a ground warand to focus on the Iranian threat. This is a major revolution for Israel.Thirteen years ago the country was dragged into a conflict with Hezbollah inLebanon and suffered many early setbacks on the ground. That war taught Israelthat its decade and a half of fighting Palestinian terror in the West Bank andGaza had degraded the armys ability to engage in a larger complexconflict.Now Israel prefers to prepare for the larger conflict with Iranian-backed groups while managing the conflict in Gaza and carrying out airstrikesin Syria against Iranian targets that are largely shrouded in secrecy. Theseprecise strikes, such as one on a Hezbollah killer drone team in August,could lead to a larger conflict. As it faces a variety of threats, fromHezbollah and other Iranian-backed groups, Israel will have to use its airdefense against major rocket threats, relying on the tactics it honed in theprecision strikes. New technologies enabled Israel to refrain from majorconflicts with the Palestinians. In the next war, they will be tested on amuch larger scale, on multiple fronts. ['https://news.yahoo.com/israel-way-war-185749787.html', 'http://l2.yimg.com/uu/api/res/1.2/zQ9tLzgXrwaXxUe2qf1VFQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/5ce7b772aa8aa3826c171a9cf5990cea'] +Tue, 19 Nov 2019 15:23:45 -0500 Syracuse University has suspended all fraternity activities for the rest ofthe semester after a black student said a group of students accosted her andcalled her a racial slur https://news.yahoo.com/syracuse-university-suspended-fraternity-activities-165636345.html The student newspaper reported that a black female student was called theN-word while walking on campus Saturday night. ['https://news.yahoo.com/syracuse-university-suspended-fraternity-activities-165636345.html', 'http://l2.yimg.com/uu/api/res/1.2/T_cWe9l7aVHQAWGb84DOIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/a1a5218393b2cc91e77dc1e96a159e45'] +Tue, 19 Nov 2019 11:16:36 -0500 Army officer on Trump phone call said it was his 'duty' to report president https://news.yahoo.com/army-officer-on-trump-phone-call-said-it-was-his-duty-to-report-president-161636306.html Lt. Col. Alexander Vindman told Congress Tuesday that he listened to PresidentTrumps July phone call with the president of Ukraine and immediately knew itwas his duty to report Trumps improper behavior to White House lawyers. ['https://news.yahoo.com/army-officer-on-trump-phone-call-said-it-was-his-duty-to-report-president-161636306.html', 'http://l.yimg.com/uu/api/res/1.2/GuVmmYGnI7_JgB8Ppc2fGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/3381a5d0-0ae3-11ea-b57f-7a1dbefe1cb2'] +Tue, 19 Nov 2019 18:16:31 -0500 Corbyn Catches Up With Johnson in Dramatic U.K. Election Debate https://news.yahoo.com/corbyn-catches-johnson-dramatic-u-213442076.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.Labour Leader Jeremy Corbyn defied his negative ratings to drawlevel with Prime Minister Boris Johnson in a crucial television debate aheadof the U.K.s general election.The opposition leader, whos been laggingbehind Johnson in personal approval scores, effectively tied with the premierin a snap poll on which candidate won the clash Tuesday night. The poundremained lower after the survey.The YouGov/Sky News poll of 1,600 people gaveJohnson a narrow victory, with 51% saying he won the ITV debate, against 49%saying Corbyn performed best.That was a significant turnaround for Corbyn, 70,who has struggled to persuade the public that he is prime minister material.Hewent into the election campaign with a net satisfaction rating of minus 60.That was by far the lowest such score since IpsosMORI started tracking theratings in 1979. Johnsons score stood at plus 2 when the figures werecompiled at the end of October.While Corbyn fared better than expected thistime, his party remains stuck behind the Conservatives in the polls. It wasonly one debate, and more are planned, including another head-to-head betweenthe two leaders on Dec. 6.The YouGov verdict followed an hour of clashesbetween the two men vying to lead the U.K. in what is one of the higheststakes elections in recent British history.When voters cast their ballots onDec. 12, they will face a choice between Johnsons promise to deliver a speedyBrexit and Corbyns pledge to call another referendum on European Unionmembership that could ultimately allow the divorce to be canceled.Corbynreceived applause and landed verbal punches on Johnson, 55, who struggled towin over an audience that laughed and groaned as he tried to steer the topicback to Brexit.In his most successful moments, Corbyn said he would give theprime minister a festive present of Charles Dickenss classic short story, AChristmas Carol, so he could learn how nasty the miserly Scrooge was.Corbyn also attacked the royal family over its handling of Prince Andrewsfriendship with the pedophile Jeffrey Epstein, saying the monarchy neededimprovement.Corbyn struggled to shake off allegations that antisemitism isrife inside the Labour Party, and was mocked by some audience members forclaiming his policy on Brexit was clear, when he could not say whether hewould vote to remain or leave the bloc in a referendum hes promising to hold.But he won a cheer for promising to end the privatization of the NationalHealth Service.Johnson had one big message: That he could get Brexit done and quickly. It served him well in the opening 20 minutes, but then hisrepeated attempts to make it all about Brexit began to look forced. Forexample, when trying to think of a Christmas gift for Corbyn, he said hedsend him a copy of my brilliant Brexit deal.There were other awkward momentsfor the Tory leader. Some audience members laughed when Johnson said hebelieved trust was important in politics.The theme of trustworthiness alsofeatured in the spin battle between the rival parties afterward. Tory ForeignSecretary Dominic Raab appeared among reporters backstage in Salford,northwestern England, to say there is a real issue of trust with CorbynsBrexit stance. Labours trade spokesman accused Johnson of telling lie afterlie after lie. YouGovs pollsters found Corbyn beat Johnson 45% to 40% ontrustworthiness.The choice is very simple: we can get Brexit done or we canspend another year with another referendum, Johnson said in his closingremarks. If we have a working majority Conservative government, I pledge wewill have a Parliament that works for you, that focuses on the NHS and thecost of living, because when we get Brexit done by Jan. 31 we will goforward.Corbyn used his final message of the night to promise to protect theNHS and invest in good jobs across the country. Vote for hope and vote forLabour on the 12th of December, he said.According to the YouGove poll, Corbynbeat Johnson 59% to 25% on being in touch with ordinary people. But Johnsonbeat Corbyn 54% to 29% on appearing prime ministerial and 54% to 37% on beinglikeable.Although the headline result was a draw, 67% of respondents thoughtCorbyn performed well, against 59% for Johnson. That suggested the Labourleader had done better than people thought he would.(Adds pound, quotes,context.)\\--With assistance from Greg Ritchie.To contact the reporters onthis story: Kitty Donaldson in Salford, England atkdonaldson1@bloomberg.net;Tim Ross in London at tross54@bloomberg.net;RobertHutton in London at rhutton1@bloomberg.netTo contact the editor responsiblefor this story: Flavia Krause-Jackson at fjackson@bloomberg.netFor morearticles like this, please visit us at bloomberg.com2019 Bloomberg L.P. ['https://news.yahoo.com/corbyn-catches-johnson-dramatic-u-213442076.html', 'http://l.yimg.com/uu/api/res/1.2/GCrJ1cJ3.W01Lk5pDu4MNg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d5b474e68d9ac6f864bec2d7932ea3c8'] +Tue, 19 Nov 2019 12:50:48 -0500 UPDATE 1-France regrets U.S. decision on Fordow, rebukes Iran https://news.yahoo.com/1-france-regrets-u-decision-175048759.html "France lamented on Tuesday a U.S. decision to end a sanctions waiver relatedto Iran's Fordow nuclear facility, but also said it feared Tehran's latestviolations of a 2015 deal could lead to serious nuclear proliferation. ""Weregret the decision of the United States, following Iran's resumption ofenrichment on the Fordow site, to terminate an exemption that would facilitatethe conduct of civilian projects on this site,"" foreign ministry spokeswomanAgnes von der Muhll told reporters in an online briefing. The Trumpadministration, which last year pulled out of the Iran nuclear deal and re-imposed sanctions on Tehran, had until Monday let the work go forward at theFordow fuel enrichment plant by issuing waivers to sanctions that bar non-U.S.firms from dealing with the Atomic Energy Organization of Iran (AEOI). " ['https://news.yahoo.com/1-france-regrets-u-decision-175048759.html'] +Tue, 19 Nov 2019 21:34:32 -0500 A California nanny promised children would be 'safe' in his care. He insteadused them in porn videos, authorities say https://news.yahoo.com/california-nanny-promised-children-safe-021742033.html A former California nanny will serve 30 years in federal prison for filmingchild pornography with at least 5 victims in his care, authorities said. ['https://news.yahoo.com/california-nanny-promised-children-safe-021742033.html', 'http://l1.yimg.com/uu/api/res/1.2/zezKuR6qyzXMZ.b5zGA3Zw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/84deca56-95e2-44d0-b494-c8c3ff9affb9/69db1434-7ab7-501d-a836-370c584bf49c/data_3_0.jpg?s=32f3f70f2133d8b6aef8542be34b14f1&c=31346c427d4d7bf536f3eac189a4dc21&a=tripleplay4us&mr=0'] +Tue, 19 Nov 2019 10:20:08 -0500 Embattled Illinois prosecutor announces bid for reelection https://news.yahoo.com/embattled-illinois-prosecutor-announces-bid-152008606.html A prosecutor who came under harsh criticism when her office suddenly droppedcharges against actor Jussie Smollett and is now the subject of a court-ordered investigation announced Tuesday she is running for reelection. In hernews release saying shes seeking the position again, Cook County StatesAttorney Kim Foxx addressed the Smollett case and the furor over the handlingof it. Four years ago, I ran for States Attorney to change criminal justicein Cook County, said Foxx, who grew up in Chicagos crime-ridden CabriniGreen housing project. ['https://news.yahoo.com/embattled-illinois-prosecutor-announces-bid-152008606.html', 'http://l2.yimg.com/uu/api/res/1.2/sB92tKJgCPBs9H6VMDmwGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/908049066e5e7a58b15350087260125d'] +Wed, 20 Nov 2019 01:00:00 -0500 Navy Killer: Is This Chinas Dangerous New Anti-Ship Missile? https://news.yahoo.com/navy-killer-china-dangerous-anti-060000877.html A Chinese magazine might have revealed a new and potentially powerful anti-ship and land-attack missile ['https://news.yahoo.com/navy-killer-china-dangerous-anti-060000877.html', 'http://l1.yimg.com/uu/api/res/1.2/3GE9gTHe1WgF.EEUM1Bmnw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/2c50480068c192de5996e855f06b1688'] +Mon, 18 Nov 2019 19:54:03 -0500 China signs defense agreement with South Korea as U.S. angers Seoul withdemand for $5 billion troop payment https://news.yahoo.com/china-signs-defense-agreement-south-005403276.html The defense ministers of South Korea and China have agreed to develop theirsecurity ties to ensure stability in northeast Asia, the latest indicationthat Washingtons longstanding alliances in the region are fraying. ['https://news.yahoo.com/china-signs-defense-agreement-south-005403276.html', 'http://l2.yimg.com/uu/api/res/1.2/Rdav7iC8YEBnmzc3gI_gRw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-317815-1574124771604.jpg'] +Mon, 18 Nov 2019 11:50:52 -0500 Obama indirectly rebukes Bernie Sanders and Elizabeth Warren by warning donorsnot to be deluded into thinking voters want radical change https://news.yahoo.com/obama-indirectly-rebukes-bernie-sanders-165052231.html """The average American doesn't think we have to completely tear down the systemand remake it,"" Obama said. " ['https://news.yahoo.com/obama-indirectly-rebukes-bernie-sanders-165052231.html', 'http://l2.yimg.com/uu/api/res/1.2/UR_kjMuNdpk1o211c7e__g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/3e443985ce95e493fcf7854b8ff93fc1'] +Tue, 19 Nov 2019 18:04:00 -0500 7 Amazing Facts About Jaguars, One of the World's Coolest Cats https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html ['https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html'] +Tue, 19 Nov 2019 21:01:02 -0500 Alexandria Ocasio-Cortez calls for ousting White House adviser Stephen Milleras a 'white supremacist' https://news.yahoo.com/alexandria-ocasio-cortez-calls-for-ousting-white-house-adviser-stephen-miller-as-a-white-supremacist-020102025.html Ocasio-Cortez described Millers presence as one of the more disturbingaspects of the Trump administration. She is among many Democrats who havecalled for Millers removal. ['https://news.yahoo.com/alexandria-ocasio-cortez-calls-for-ousting-white-house-adviser-stephen-miller-as-a-white-supremacist-020102025.html', 'http://l.yimg.com/uu/api/res/1.2/2Qp2hTcB8nvmwcM0_Ev3ww--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/fdba6c20-0b00-11ea-9ecb-bf452d87d58d'] +Wed, 20 Nov 2019 00:10:22 -0500 Jimmy Kimmel Unloads on Donald Trump Jr. for Smearing Alexander Vindman https://news.yahoo.com/jimmy-kimmel-unloads-donald-trump-051022605.html Jimmy Kimmel said Tuesday night that the way Republicans treated impeachmenthearing witness Lt. Col. Alexander Vindman was embarrassing even for them.They tried to smear the recipient of a Purple Heart, the late-night hostsaid, to protect a president who doesnt even have a red one. Kimmel firstzeroed in on Republican Congressman Jim Jordan, who not only implied thatVindman was a leaker but also that he had questionable judgement. He thenadded, You know, questionable judgement, like say if you were a wrestlingcoach and the team doctor was abusing your wrestlers. And you knew about itbut you didnt say anything. Thats questionable judgement, right, JimJordan?But as always, Kimmel saved his sickest burns for the presidentsthird favorite son. During the hearing, Donald Trump Jr. tweeted, Anyonelistening to Vindman stammer through this seemingly trying to remember theCatch Phrases he was well coached on should get that. Hes a low levelpartisan bureaucrat and nothing more. Thats right, the slicked-back spermsample who never served anybody is questioning the integrity of a lieutenantcolonel with a Purple Heart, Kimmel shot back. Daddy Bone Spurs must be veryproud of him. But thats their strategy, he continued, turning more seriousthan usual. The goal of the Republicans is to smear them, to confuse us, tobore us, to question the loyalty and patriotism of lifelong civil servants andeven members of our military, whove served heroically. They are intentionallydamaging these Americans to protect the lowlife they know is a lowlife, butthey also know that defending him makes them popular amongst a certain group.So they do it anyway. Read more at The Daily Beast.Get our top stories inyour inbox every day. Sign up now!Daily Beast Membership: Beast Inside goesdeeper on the stories that matter to you. Learn more. ['https://news.yahoo.com/jimmy-kimmel-unloads-donald-trump-051022605.html', 'http://l.yimg.com/uu/api/res/1.2/b4DuPDp89rxtD8Svrw9rjw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/b18ab4125d5b98bdadb4b46659e5f57b'] +Tue, 19 Nov 2019 08:43:10 -0500 Fire magicians and medieval weaponry: a Hong Kong university under siege https://news.yahoo.com/fire-magicians-medieval-weaponry-hong-134310453.html For three days last week, anti-government protesters camped out at Hong Kong'ssprawling Polytechnic University prepared for what they feared might be abloody, even deadly, battle with police. In the university's heart, litteredwith smashed glass and covered in revolutionary graffiti spray-painted on thewalls, the black-clad demonstrators in gas masks sawed metal poles into batonsand practiced firing rocks from a makeshift catapult. Nearby, others ferriedaround crates of petrol bombs and wrapped arrows in cloth to set aflame. ['https://news.yahoo.com/fire-magicians-medieval-weaponry-hong-134310453.html', 'http://l.yimg.com/uu/api/res/1.2/mBogOOoTG8Xh.mo5vIukAw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/85f93b08d9cab2c070f917d49aaa4265'] +Tue, 19 Nov 2019 05:47:50 -0500 A Saudi Arabian princess and rights activist who 'fell off the radar' in late2018 is reportedly detained under house arrest with 24/7 surveillance https://news.yahoo.com/saudi-arabian-princess-rights-activist-104750986.html Sources close to Princess Basmah told Deutsche Welle that Saudi authoritiesstopped her travelling to Europe for urgent medical care in December 2018. ['https://news.yahoo.com/saudi-arabian-princess-rights-activist-104750986.html', 'http://l.yimg.com/uu/api/res/1.2/kFedUuwjqIyhJ5RljpNzrw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/00d6a03a74fef76c309fb5c6660557cb'] +Wed, 20 Nov 2019 05:31:01 -0500 Israel to host largest event ever focused on anti-Semitism https://news.yahoo.com/israel-host-largest-event-ever-103101072.html Israeli officials announced Wednesday that dozens of world leaders will arrivein Jerusalem for the largest-ever gathering focused on combatting anti-Semitism amid a global spike in violence against Jews. Israeli PresidentReuven Rivlin said the fifth World Holocaust Forum in January will coincidewith the 75th anniversary of the liberation of the Auschwitz death camp.Russian President Vladimir Putin, French President Emmanuel Macron and thepresidents of Germany, Italy and Austria are among the more than 30 heads ofstate who have already confirmed their participation. ['https://news.yahoo.com/israel-host-largest-event-ever-103101072.html'] +Tue, 19 Nov 2019 11:40:00 -0500 10 Things We Want to Leave Behind in the 2010s https://news.yahoo.com/10-things-want-leave-behind-164000711.html ['https://news.yahoo.com/10-things-want-leave-behind-164000711.html'] +Tue, 19 Nov 2019 06:52:40 -0500 Chinese bishop 'on the run' after refusing to join state-sanctioned church https://news.yahoo.com/chinese-bishop-run-refusing-join-115240747.html A Catholic bishop in China is believed to be on the run from state securityafter refusing to bring his church under a government-sanctioned religiousassociation. Guo Xijin, 61, has fled the custody of state agents and has goneinto hiding, reported Catholic Asia News, a website, and cannot be immediatelyreached for comment. Mr Guo is part of a group of bishops that many religiousand human rights experts feared would be persecuted after the Vatican inked adeal with Beijing last year on the ordaining bishops. China has long insistedthat it approve appointments, clashing with absolute papal authority to pickbishops. The agreement broke that standoff, and could help pave the way forformal diplomatic ties, but also stoked worries that the Chinese state wouldhave too much power to regulate religion. Since Communism took hold in China,there have been in practice two Catholic churches - one sanctioned by thegovernment, and an underground one loyal to the Vatican, and it remainsunclear what would happen to bishops who refused to fall in line with thegovernment. Chinas officially atheist Communist Party has engaged in awidespread crackdown on religion in the last few years. Authorities havebanned Arab-style onion domes on mosques and other buildings even if merelydecorative. The UN estimates more than a million Muslims have been detained inchilling re-education camps, where former detainees have told The Telegraphthey were subject to physical torture, psychological intimidation andpolitical indoctrination. The government has shut down churches not sanctionedby the Party, detaining priests and members of various congregations. Andhouses of worship, including Buddhist temples, are now mandated to havepictures of Xi Jinping, the leader of the Party. Chinese authorities claimthat people have freedom of religion provided that they worship in state-sanctioned temples, churches, and mosques. The government has said that allreligious believers must be subordinate to and serve the overall interests ofthe nation and the Chinese people, making it explicit that they must alsosupport the leadership of the Chinese Communist Party. ['https://news.yahoo.com/chinese-bishop-run-refusing-join-115240747.html', 'http://l.yimg.com/uu/api/res/1.2/icztvzV7SWTUYxCQZuFiWQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/893ccf20b81f6b70cfc5fb4a26512e97'] +Mon, 18 Nov 2019 17:00:00 -0500 The Fighter Planes Iran Desperately Wants (This Picture Is a Clue) https://news.yahoo.com/fighter-planes-iran-desperately-wants-220000100.html But no one is selling. ['https://news.yahoo.com/fighter-planes-iran-desperately-wants-220000100.html', 'http://l.yimg.com/uu/api/res/1.2/HX0vn8i6RneFRoZVJap0Uw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/0d47f814a25bbe6fc0ca4c1d4330e3e6'] +Tue, 19 Nov 2019 14:59:37 -0500 Passenger dies after fall from balcony on Carnivals Horizon during cruise https://news.yahoo.com/passenger-dies-fall-balcony-carnival-221819817.html A man fell from a balcony to a deck below on the Carnival Horizon cruise shipas it was returning to port in Miami, officials say. ['https://news.yahoo.com/passenger-dies-fall-balcony-carnival-221819817.html'] +Tue, 19 Nov 2019 20:43:10 -0500 Trump impeachment: US military officer on Trump 'bribery' says conversationwas 'inappropriate' https://news.yahoo.com/trump-impeachment-us-military-officer-014310206.html A decorated US military officer, his chest shining with medals, has testifiedthat Donald Trumps controversial phone call with the leader of Ukraine wasboth inappropriate and improper, and that he reported his concernsimmediately.Lt Col Alexander Vindman, 44, whose family moved to the US fromthe Soviet Union four decades ago, emotionally told an impeachment hearingthat he felt empowered to speak out, and to even challenge the most powerfulman in the world, because of the soil on which he was standing. ['https://news.yahoo.com/trump-impeachment-us-military-officer-014310206.html', 'http://l.yimg.com/uu/api/res/1.2/Lg.58DhyUXNEogWChkBqTA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/2f1b1980d038ecc676434c0a763d5a77'] +Tue, 19 Nov 2019 02:42:16 -0500 In northeast Syria, last Assyrians fear Turkish advance https://news.yahoo.com/northeast-syria-last-assyrians-fear-turkish-advance-074216737.html Since fleeing her hometown in northeastern Syria, Suad Simon prays every dayfor the safety of her husband, who stayed behind with other fighters to defendtheir majority-Assyrian village. Assyrian Christians like Simon, who escapedthe town's occupation by the Islamic State group in 2015 and did not choose toemigrate, now anxiously watch the advance of Turkish forces towards theirvillages in the south of Hasakeh province. Simon, 56, fled her village of TalKefji that is not far from areas still hit by sporadic fighting and soughtrefuge with a relative in Tal Tamr to the south. ['https://news.yahoo.com/northeast-syria-last-assyrians-fear-turkish-advance-074216737.html', 'http://l.yimg.com/uu/api/res/1.2/2TxOb0tmtCCakZK6E0VKKA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/3ff7afac8f2a43a4228cf8a8270eeeaf653ec016.jpg'] +Tue, 19 Nov 2019 14:42:11 -0500 UPDATE 3-Dutch find 25 migrants in refrigerated container on UK-bound ferry https://news.yahoo.com/1-dutch-26-migrants-alive-194211013.html Dutch authorities found 25 migrants stowed away on a cargo ferry bound forBritain shortly after it left the Netherlands on Tuesday and the vesselquickly returned to the Dutch port of Vlaardingen, emergency services said.Two of the migrants were taken to hospital for treatment while the other 23received a medical check-up in the port before being taken away by police forprocessing, according to a statement posted on the website of regionalemergency services. Authorities found the migrants in a refrigerated containeron a truck aboard the ferry, the statement said. ['https://news.yahoo.com/1-dutch-26-migrants-alive-194211013.html'] +Tue, 19 Nov 2019 10:30:10 -0500 EU Poised to Send Warning to China on 5G https://news.yahoo.com/eu-poised-send-warning-china-133252152.html (Bloomberg) -- The European Union is poised to say potential 5G suppliers willbe evaluated based on their home countrys laws, a stance that could excludeChinese businesses from some lucrative contracts for the advancedtelecommunications networks.Factors, such as the legal and policy frameworkto which suppliers may be subject to in third countries, should beconsidered, according to a draft of a joint statement obtained by Bloombergand planned for release next month. The document is due to be approved on aninformal basis this week by government envoys with formal sign off byministers due in December, and the wording is subject to changes.The EUstatement outlines the blocs position following a risk assessment thatdescribed a nightmare scenario where hackers or hostile states could takecontrol of everything from electricity grids to police communications. Itwarned against reliance on suppliers from countries with non-democraticsystems of government.U.S. and European officials have repeatedly flaggedconcerns about partnering with Chinese equipment makers, such as HuaweiTechnologies Co., for 5G networks. Chinese companies are obliged to assist thecountrys national intelligence organization in their investigations, thoughChinese officials and Huawei have said there are exceptions to those rules andthe company wouldnt necessarily be forced to do so.U.S. Secretary of StateMike Pompeo tweeted on Tuesday that the EUs risk assessment report highlightshow nations should install 5G equipment and software only from companies thatwont threaten their security, privacy, intellectual property, or humanrights.Key parts of the next-generation infrastructure such as componentscritical for national security, will only be sourced from trustworthyparties, according to the draft statement of EU governments. The 5G build outshould be firmly grounded in the core values of the EU, such as human rightsand fundamental freedoms, rule of law, protection of privacy, personal dataand intellectual property, in the commitment to transparency.A spokesman forthe EUs Council declined to comment on the content of the draftcommunique.German StanceEuropean countries have the ultimate say whether ornot to ban a supplier from their national networks for security reasons.German Chancellor Angela Merkel has decided to let Huawei supply some gear aslong as the company fulfills certain security standards, despite intensepressure from her own party for an outright ban.The draft also stresses theneed to diversify suppliers in order to avoid or limit the creation of a majordependency on a single supplier as well as the importance of Europeantechnological sovereignty and promoting globally the EU approach to cybersecurity.Besides Huawei, Europes Nokia Oyj and Ericsson AB supply 5Gequipment.(Updates with U.S. Secretary of States tweet in fifth paragraph.)Tocontact the reporters on this story: Nikos Chrysoloras in Brussels atnchrysoloras@bloomberg.net;Natalia Drozdiak in Brussels atndrozdiak1@bloomberg.netTo contact the editors responsible for this story:Chad Thomas at cthomas16@bloomberg.net, ;Giles Turner atgturner35@bloomberg.net, Amy Thomson, Richard BravoFor more articles likethis, please visit us at bloomberg.com2019 Bloomberg L.P. ['https://news.yahoo.com/eu-poised-send-warning-china-133252152.html', 'http://l1.yimg.com/uu/api/res/1.2/1qSFIXzhApng_0hhqJC.ew--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/95cadda90680cc2febfb85b25539d06f'] +Tue, 19 Nov 2019 11:00:57 -0500 Lieutenant Colonel Vindman refuses to answer question that could outwhistleblower https://news.yahoo.com/vindman-refuses-answer-could-whistleblower-160057394.html During Lieutenant Colonel Alexander Vindman's testimony at a public hearing inthe House's impeachment inquiry, he declined to answer questions from RankingMember Nunes about who he may have told about the July 25 phone call. ['https://news.yahoo.com/vindman-refuses-answer-could-whistleblower-160057394.html', 'http://l1.yimg.com/uu/api/res/1.2/WhitR9vnNWkm1Z06gpPa2w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/creatr-uploaded-videos/2019-11/da557b54-ee5c-5b7c-8835-8a36c4d47e4f/74e31890-0ae5-11ea-b82f-56bed0de680b_3_0.jpg?s=58280f9c8b4f5ca261fa331cabc37efc&c=0d9084dbebcacbac3212571cb99cbc2a&a=ynewskatiecouric&mr=0'] +Tue, 19 Nov 2019 23:11:20 -0500 Last campus protesters hold out as Hong Kong schools reopen https://news.yahoo.com/last-campus-protesters-hold-hong-041120367.html Hong Kong schools reopened Wednesday after a six-day shutdown but students andcommuters faced transit disruptions as the last protesters remained holed upon a university campus. A small group of protesters refused to leave Hong KongPolytechnic University, the remnants of hundreds who took over the campus forseveral days. The occupation of Polytechnic capped more than a week of intenseprotests, the latest flareup in the often violent unrest that has gripped thesemi-autonomous Chinese city for more than five months. ['https://news.yahoo.com/last-campus-protesters-hold-hong-041120367.html', 'http://l1.yimg.com/uu/api/res/1.2/2X_LtvftfcmwLdq9WxvMYg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/264671d2fb663eb3cc5e6a2b6099c8e2'] +Mon, 18 Nov 2019 09:14:08 -0500 4 Killed, 6 Injured in Targeted' Shooting at Backyard Party in California.Heres What to Know https://news.yahoo.com/4-people-were-killed-10-141408450.html The group was gathered to watch a football game ['https://news.yahoo.com/4-people-were-killed-10-141408450.html', 'http://l.yimg.com/uu/api/res/1.2/4Xj7S_U4g1Adt5syleDGGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/77ece3c8b81bc76b6137db891f72597f'] +Tue, 19 Nov 2019 08:27:52 -0500 Isil leaders with 'vast amounts of cash' planning comeback in Turkey, Iraq spychief claims https://news.yahoo.com/isil-leaders-vast-amounts-cash-132752628.html "Senior Islamic State members with access to huge amounts of money are inTurkey and plotting a comeback, an Iraqi spy chief has warned. LieutenantGeneral Saad al-Allaq, head of Iraqs Military Intelligence, claimed in aninterview with CNN that Iraq has given Ankara dossiers on nine alleged leadersof Islamic State of Iraq and the Levant (Isil), including top financiers forthe terror group. The general said senior Isil figures known as ""emirs"" haveaccess to vast reserves of cash and were forming new cells in Turkey. Heclaimed many of them had managed to escape from Isils final patch ofterritory in Baghouz, eastern Syria, after bribing Western-backed SyrianDemocratic Forces (SDF) to reach Idlib in the north-west. From there, he said,they crossed the border to Gaziantep in southern Turkey. ""Some of itsimportant leadership fled north, I mean in the direction of neighbouringcountries and into border areas like Gazientep,"" Lt. Gen. Allaq said. USSpecial Forces, figures at lower right, moving toward compound of IslamicState leader Abu Bakr al-Baghdadi Credit: Department of Defense ""They havesecretly crossed into these areas from the Syrian-Turkish border - top leaderswho have money. They crossed with the help of smugglers by paying large amountof money and have secretly entered Turkish territory."" He added: ""Thoseelements who are right now in Turkey play a key role in the recruitment offighters and terrorists."" CNN was shown Iraqs arrest warrants for the ninemen, who are described as bomb makers. Lt. Gen. Allaq said the men were ""amongthe best bomb makers that Isis ever had."" Lt. Gen. Allaq, who rarely givesinterviews, said Iraq had intelligence that Isil leaders were planningjailbreaks of its supporters held in prisons and camps across Syria and Iraq.Isil members are led away to be questioned by coalition forces aftersurrendering, near Baghuz, eastern Syria Credit: Sam Tarling Turkey told theUS network they were looking into the allegations. He said a new Isil missioncode-named ""Break Down the Fences"" intended to storm jails where theirfollowers were being held and try to replenish its manpower. Several high-profile Isil figures and their family members have been discovered in recentweeks in or near Turkey. Abu Bakr al-Baghdadi, the groups leader, was foundhiding three miles from the border of Turkey in the Syria village of Barishain Idlib, where he was killed in a US raid on October 26. Abu Hassan al-Muhajir, Isils spokesman, was killed the following day several miles awaynear the town of Jarablus, which is under Turkish administration. Turkey thenannounced arrests it had made of Baghdadis relatives, who had apparently beenhiding in the country. " ['https://news.yahoo.com/isil-leaders-vast-amounts-cash-132752628.html', 'http://l.yimg.com/uu/api/res/1.2/KEcfH81TkTEMYNucmVLIRQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/9e533aaaee658c2b621bb30c4b822057'] +Tue, 19 Nov 2019 14:31:17 -0500 She can't vote, but 2020 Democratic candidates want her support anyway https://news.yahoo.com/she-cant-vote-2020-democratic-193117097.html One of the most sought-after presidential endorsements in a key early votingstate is from a woman who cannot vote. ['https://news.yahoo.com/she-cant-vote-2020-democratic-193117097.html', 'http://l.yimg.com/uu/api/res/1.2/JKRYR692ONT8VHmgNnuPJA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-317926-1574191502647.jpg'] +Wed, 20 Nov 2019 04:32:00 -0500 Mike Pompeo planning to resign because Trump hurting his reputation, reportclaims https://news.yahoo.com/mike-pompeo-planning-resign-because-093230187.html Donald Trumps secretary of state has reportedly told three prominentRepublicans that he is planning to resign from the White House to run for aSenate seat.Mike Pompeo had planned to stay at the State Department untilearly spring 2020 but he is now concerned that his connection to Mr Trump,particularly through the impeachment inquiry, is hurting his reputation,according to a Time report. ['https://news.yahoo.com/mike-pompeo-planning-resign-because-093230187.html', 'http://l1.yimg.com/uu/api/res/1.2/uRZ6JCcsT.ZqZJUmhgqSdQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/b1e80211a2a291dc2c832fb6d80284c4'] +Tue, 19 Nov 2019 18:30:00 -0500 Russia's TU-22M3 Backfire Bomber Has A New Supersonic Missile (And The Navy IsWorried) https://news.yahoo.com/russias-tu-22m3-backfire-bomber-233000508.html A formidable strike capability. ['https://news.yahoo.com/russias-tu-22m3-backfire-bomber-233000508.html', 'http://l1.yimg.com/uu/api/res/1.2/dBgn0U.ttkOyJhVv78FEXQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/916b80d6866376e363157e57441a2c14'] +Tue, 19 Nov 2019 05:15:06 -0500 Emirates wants new Boeing jet put through 'hell on Earth' in testing https://news.yahoo.com/emirates-wants-boeing-jet-put-101506564.html "Emirates, the largest customer of Boeing's upcoming 777x aircraft, wants theplane to be put through ""hell on Earth"" in testing to ensure it is safe to flyand meets performance expectations, the president of the Gulf airline said onTuesday. Tim Clark was speaking at the Dubai Airshow after meeting the head ofthe U.S. Federal Aviation Administration (FAA). The testing and certificationof aircraft has been under scrutiny after the grounding of Boeing's 737 MAXjet following two fatal crashes, while problems with a number of models haveled some airlines to accuse plane and engine makers of over-promising onperformance capabilities. " ['https://news.yahoo.com/emirates-wants-boeing-jet-put-101506564.html', 'http://l2.yimg.com/uu/api/res/1.2/R9hdUE1UfATl8akp1w0PzA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/9d11d3adfa7f22f85128b0a82dafc4f6'] +Mon, 18 Nov 2019 14:55:31 -0500 Dreaming of traveling to Australia? Qantas offers $100 flights but you haveto book fast https://news.yahoo.com/dreaming-traveling-australia-qantas-offers-195531473.html Qantas has $100 flights to Australia from Los Angeles, San Francisco,Dallas/Fort Worth and Chicago, but seats and dates are limited. ['https://news.yahoo.com/dreaming-traveling-australia-qantas-offers-195531473.html', 'http://l.yimg.com/uu/api/res/1.2/6ajhthuAYKlxjXJmSiJbJg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_travel_320/6c7feecc40097e801532a22897e4fa0b'] +Tue, 19 Nov 2019 20:43:02 -0500 School district in rural Colorado tries new ways to attract teachers https://news.yahoo.com/school-district-rural-colorado-tries-093105429.html The Big Sandy School District in Simla, Colorado, has 335 students from gradespre-K to 12th grade who learn under one roof ['https://news.yahoo.com/school-district-rural-colorado-tries-093105429.html', 'http://l2.yimg.com/uu/api/res/1.2/c1xjRhFgiaidM1iTpi9lGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/860c7e526ca1edb45437462d74ee70d8'] +Tue, 19 Nov 2019 16:37:00 -0500 Titan's New Geologic Map Shows Why Its One of the Most Exciting Moons in theSolar System https://news.yahoo.com/titans-geologic-map-shows-why-213700350.html From flowing streams to hummocky hills, scientists have charted the moon'sspellbinding surface. ['https://news.yahoo.com/titans-geologic-map-shows-why-213700350.html', 'http://l2.yimg.com/uu/api/res/1.2/TDnY3cv5oe54pTTxLmv4pw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/popular_mechanics_642/f2a4dc0ecba1863c696c46271a882a5a'] +Tue, 19 Nov 2019 16:47:37 -0500 Condemned Tennessee inmates supporters seek clemency https://news.yahoo.com/condemned-tennessee-inmate-supporters-seek-214737639.html Supporters of Tennessee death row inmate Abu-Ali AbdurRahman kicked off aclemency campaign on Tuesday amid uncertainty over whether his death sentencewill be upheld. Abdur'Rahman (AHB'-dur-RAK'-mahn) was sentenced to die in 1987for the murder of Patrick Daniels, who was stabbed to death. Norma Jean Normanwas also stabbed but survived. ['https://news.yahoo.com/condemned-tennessee-inmate-supporters-seek-214737639.html', 'http://l2.yimg.com/uu/api/res/1.2/_TcorovG3BPFJYB1T34wRA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/016f54f5ae79fc5bf39e4f84ed4190c6'] +Mon, 18 Nov 2019 14:29:32 -0500 Israel's Gantz races to form government https://news.yahoo.com/israels-gantz-races-form-government-103435036.html After weeks of talks over a new Israeli government have gone around incircles, Benjamin Netanyahu's rival Benny Gantz had just two days left Mondayto form a coalition and become prime minister. Netanyahu's right-wing Likudparty and Gantz's centrist Blue and White coalition achieved near parity inSeptember's repeat elections, but even with allied parties both fell short ofthe 61 seats needed to form a majority in parliament. Netanyahu was firstgiven 28 days to form a coalition government but failed, so President ReuvenRivlin granted Gantz a similar timeframe. ['https://news.yahoo.com/israels-gantz-races-form-government-103435036.html', 'http://l2.yimg.com/uu/api/res/1.2/4Vf0HA_nPePOKRDk01tmDQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/43fbef1ac3f8fbaa95f4318ad736464f075f9619.jpg'] +Tue, 19 Nov 2019 06:39:02 -0500 One Million Brexit Coins Melted Down After Johnson Misses Deadline https://news.yahoo.com/one-million-brexit-coins-melted-113902454.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.The U.K. has used the seven-sided 50 pence coin to celebratenational achievements ranging from the London Olympics of 2012 to the work ofchildrens author Beatrix Potter.Now about one million of the distinctivecoins minted to mark the U.K.s planned divorce from the European Union onOct. 31 are being melted down. The Royal Mint acted after Prime Minister BorisJohnson requested a delay until Jan. 31.As Bloomberg revealed in October, someof the coins had already been made when Johnson wrote to the EU asking for aBrexit extension. But the extent of his governments over-confidence was onlyfully revealed on Tuesday.A spokeswoman for the mint confirmed around onemillion Oct. 31 Brexit coins were made and will now be destroyed. The responsecame after a freedom of information request by the Daily Telegraph newspaper.She wouldnt comment on the cost of the production and destruction of thecoins, but the price will ultimately be borne by taxpayers.In 2007, a 50 pencepiece was produced to celebrate 100 years of the boy scout movement, bearingthe legend be prepared. Chancellor of the Exchequer Sajid Javid and theTreasury may have taken that advice too literally.To contact the reporter onthis story: Thomas Penny in London at tpenny@bloomberg.netTo contact theeditors responsible for this story: Tim Ross at tross54@bloomberg.net, AdamBlenfordFor more articles like this, please visit us at bloomberg.com2019Bloomberg L.P. ['https://news.yahoo.com/one-million-brexit-coins-melted-113902454.html', 'http://l.yimg.com/uu/api/res/1.2/ZwIZPSHXQ4FxcSPwcQlbdQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/9169a077ed3077fcaaa3d72d2ea79ee2'] +Tue, 19 Nov 2019 09:48:34 -0500 Read: Jennifer Williams opening statement at today's impeachment hearings https://www.politico.com/news/2019/11/19/jennifer-williams-opening-statement-today-impeachment-hearings-071495 Follow our live coverage of today's hearing, and read House IntelligenceChairman Adam Schiff's opening statement. Thank you, Chairman Schiff, RankingMember Nunes, and other Members of the Committee for the opportunity toprovide this statement. ['https://www.politico.com/news/2019/11/19/jennifer-williams-opening-statement-today-impeachment-hearings-071495', 'http://l.yimg.com/uu/api/res/1.2/p8AJNHJMkdkU6tFZHkL6FA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/politico_453/93540fee1b8486a363c2b77e98f53bc0'] +Tue, 19 Nov 2019 17:00:00 -0500 Russia Has Captured A U.S. Tomahawk Missile In Syria (And Is PlanningCountermeasures) https://news.yahoo.com/russia-captured-u-tomahawk-missile-220000554.html What does this mean for America? ['https://news.yahoo.com/russia-captured-u-tomahawk-missile-220000554.html', 'http://l.yimg.com/uu/api/res/1.2/vtsdf5iVXHwt9QBJ8ziviQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/bcc275e78ceeb3f0f2f25c0536074b58'] +Wed, 20 Nov 2019 03:29:56 -0500 UPDATE 2-China tortured me over Hong Kong, says former British consulateemployee https://news.yahoo.com/1-former-uk-consulate-employee-082956424.html A former employee of Britain's consulate in Hong Kong said Chinese secretpolice beat him, deprived him of sleep and shackled him in an attempt to forcehim to give information about activists leading pro-democracy protests. HongKong, which was returned to China by Britain in 1997, has been convulsed bysometimes violent protests and mass demonstrations, the biggest politicalcrisis for Beijing since the Tiananmen Square protests of 1989. ['https://news.yahoo.com/1-former-uk-consulate-employee-082956424.html'] +Mon, 18 Nov 2019 19:17:55 -0500 Nikki Haley and George Conway spat on Twitter after he calls GOP Rep. EliseStefanik 'lying trash' https://news.yahoo.com/nikki-haley-george-conway-spat-001755313.html "After George Conway called GOP Rep. Elise Stefanik ""lying trash,"" Nikki Haleysaid he is ""the last person that can call someone 'trash.'"" " ['https://news.yahoo.com/nikki-haley-george-conway-spat-001755313.html', 'http://l2.yimg.com/uu/api/res/1.2/z0TwYE_wQrb2JSfx5_RtYQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/cf9580cb104b0c238ad8d6a8c6527269'] diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index d3822eb..762385e 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -3,76 +3,110 @@ import requests import json import logging +import sys import rss_reader.ClassNews as ClassNews +import rss_reader.CSVEntities as CSVEntities VERSION = 1.1 -def arg_parser(): +def args_parser(args): # Parse our arguments parser = argparse.ArgumentParser() - parser.add_argument("source", nargs='?', help="RSS URL") + parser.add_argument('source', nargs='?', help="RSS URL") parser.add_argument('--version', action='store_true', help='Print version info') parser.add_argument('--json', action='store_true', help='Print result as JSON in stdout') parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') + parser.add_argument('--date', type=str, help='Date for selecting topics') - args = parser.parse_args() - return args + res_args = parser.parse_args(args) + return res_args + + +def get_dict_from_xml(rss_request, limit): + main_title = '' + root = ET.fromstring(rss_request.content) + + # Here we get title of api + for channel_info in root.iter('channel'): + for item in channel_info: + if item.tag == 'title': + main_title = item.text + + # Here we have the dictionary of articles + res_dict_articles = ClassNews.xml_arguments_for_class(root, limit) + return res_dict_articles, main_title + + +def get_request(args_source, timeout=None): + + logging.info('Start parsing') + rss_request = requests.get(args_source, timeout=timeout) + + # Check status code + status_code = rss_request.status_code + logging.info("Status code {}".format(status_code)) + # if status_code == 404: + # raise requests.exceptions.HTTPError + rss_request.raise_for_status() + + return rss_request def main(): try: - args = arg_parser() + args = args_parser(sys.argv[1:]) + res_dict_articles = '' logging_level = logging.CRITICAL if args.verbose: logging_level = logging.INFO + if args.version: print("Current version: " + str(VERSION)) if args.limit: print('News LIMIT: ' + str(args.limit)) - res_dict_articles = [] + if args.source and (not args.date): + logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) - logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) - if args.source: # Get request - logging.info('Start parsing') - rss_request = requests.get(args.source) - - # Check status code - status_code = rss_request.status_code - logging.info("Status code {}".format(status_code)) - - rss_request.raise_for_status() - + rss_request = get_request(args.source) + print(rss_request.status_code) logging.info('Parsing completed successfully') # Here we check the type of response. To correctly process it if rss_request.headers['content-type'] == "application/xml": - root = ET.fromstring(rss_request.content) - # Here we get title of api - for channel_info in root.iter('channel'): - for item in channel_info: - if item.tag == 'title': - main_title = item.text - - # Here we have the dictionary of articles - res_dict_articles = ClassNews.xml_arguments_for_class(root, args.limit) + res_dict_articles, main_title = get_dict_from_xml(rss_request, args.limit) logging.info('Print news:') + if main_title: print("\nFeed: {}".format(main_title)) + result_articles = ClassNews.dicts_to_articles(res_dict_articles) for article in result_articles: print(article) + + res = CSVEntities.csv_to_python(result_articles, "datecsv.csv") else: logging.info(rss_request.headers['content-type']) logging.warning('We received not an xml file from api, sorry') + + if args.date: + logging.info('Print news by date: ') + res_list_articles = CSVEntities.return_news_to_date(args.date, "datecsv.csv", args.limit) + res_dict_articles=[] + if res_list_articles: + for article in res_list_articles: + res_dict_articles.append(article.__dict__) + else: + print("We don't have any news for the %s"%args.date) + if args.json and res_dict_articles: logging.info('Print result as JSON in stdout') json_articles = json.dumps(res_dict_articles, indent=4) diff --git a/final_task/test/RssUnitTest.py b/final_task/test/RssUnitTest.py new file mode 100644 index 0000000..150a417 --- /dev/null +++ b/final_task/test/RssUnitTest.py @@ -0,0 +1,114 @@ +import unittest +import sys +import requests.exceptions as rexc +sys.path.append('../rss_reader') +from rss_reader import get_request, args_parser, get_dict_from_xml +import ClassNews + + +class RssReaderTestCase(unittest.TestCase): + def test_html_to_links(self): + self.assertTrue(ClassNews.html_text_to_list_links( + "

\"Racist,Syracuse suspended a fraternity and halted social activities at all of them for the semester after a series of racist and anti-Semitic incidents.


" + )),[ + 'https://news.yahoo.com/syracuse-suspends-fraternity-activities-string-150512659.html', + 'http://l.yimg.com/uu/api/res/1.2/WtsFIK_rUo0Z_cSM4WlEhA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/0303a78836e137c91b44145a8c735262' + ] + + def test_dicts_to_articles(self): + self.assertEqual( + ClassNews.dicts_to_articles([{ + 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', + 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', + 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'article': 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ', + 'links': '

On '
+                                 'an upswing, the Pete Buttigieg show rolls through New Hampshire' + 'Pete Buttigieg traveled more than 100 miles through the Granite State on a bus ' + 'emblazoned with his name and packed with over a dozen journalists. It’s a spectacle ' + 'that hasn’t been seen in recent presidential races, but it’s part of a freewheeling ' + 'strategy has helped bring Buttigieg from relative obscurity to the top of the ' + 'Democratic primary field.


'.replace('\n',"") + }, + { + 'title': 'NATO ally expels undercover Russian spy ', + 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', + 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' + 'with the Russian military intelligence service, according to a Westernintelligence source.', + 'links': '

NATO ally expels undercover Russian spy In a rare move, NATO ' + 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' + 'intelligence service, according to a Western intelligence source.


'.replace('\n','') + } + ] + ),[ + ClassNews.Article( + { + 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', + 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', + 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'article': 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ', + 'links': '

On '
+                                 'an upswing, the Pete Buttigieg show rolls through New Hampshire' + 'Pete Buttigieg traveled more than 100 miles through the Granite State on a bus ' + 'emblazoned with his name and packed with over a dozen journalists. It’s a spectacle ' + 'that hasn’t been seen in recent presidential races, but it’s part of a freewheeling ' + 'strategy has helped bring Buttigieg from relative obscurity to the top of the ' + 'Democratic primary field.


'.replace('\n',"") + } + ), + ClassNews.Article( + { + 'title': 'NATO ally expels undercover Russian spy ', + 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', + 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' + 'with the Russian military intelligence service, according to a Westernintelligence source.', + 'links': '

NATO ally expels undercover Russian spy In a rare move, NATO ' + 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' + 'intelligence service, according to a Western intelligence source.


'.replace( + '\n', '') + } + ) + ] + ) + + def test_args_parser(self): + parser = args_parser(['https://news_api.com', '--version', '--json', '--verbose', '--limit', '2', '--date', '20191119']) + self.assertEqual(parser.sourсe,'https://news_api.com') + self.assertTrue(parser.version) + self.assertTrue(parser.json) + self.assertTrue(parser.verbose) + self.assertEqual(parser.limit, 2) + self.assertEqual(parser.date, '20191119') + + def test_requests_exceptions_inv_schema(self): + self.assertRaises(rexc.InvalidSchema, get_request, 'htps://news.yahoo.com') + #self.assertRaises(rexc.ConnectionError) + + def test_requests_exceptions_read_timeout(self): + self.assertRaises(rexc.ReadTimeout, get_request,'https://news.yahoo.com', timeout=(1, 0.01)) + + def test_requests_exceptions_httperror(self): + self.assertRaises(rexc.HTTPError, get_request, 'https://yahoo.com/rss') + +if __name__ == '__main__': + unittest.main() diff --git a/final_task/test/__init__.py b/final_task/test/__init__.py new file mode 100644 index 0000000..e69de29 From 4f66310401a6c74e317eb3e6576927a3c917abe0 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Sun, 24 Nov 2019 13:57:20 +0300 Subject: [PATCH 08/11] fixed iteration 3 and iteration 4 --- final_task/rss_reader.egg-info/PKG-INFO | 23 +-- final_task/rss_reader.egg-info/SOURCES.txt | 5 +- final_task/rss_reader.egg-info/requires.txt | 1 + final_task/rss_reader.egg-info/top_level.txt | 1 + final_task/rss_reader/CSVEntities.py | 17 +- final_task/rss_reader/ClassNews.py | 19 ++- final_task/rss_reader/ToHTML.py | 14 ++ final_task/rss_reader/ToPDF.py | 9 + final_task/rss_reader/__main__.py | 2 +- final_task/rss_reader/datecsv.csv | 168 +++++++++++-------- final_task/rss_reader/requirements.txt | 5 +- final_task/rss_reader/rss_reader.py | 41 +++-- final_task/rss_reader/template.html | 18 ++ final_task/setup.py | 4 +- final_task/test/RssUnitTest.py | 52 +++--- 15 files changed, 238 insertions(+), 141 deletions(-) create mode 100644 final_task/rss_reader/ToHTML.py create mode 100644 final_task/rss_reader/ToPDF.py create mode 100644 final_task/rss_reader/template.html diff --git a/final_task/rss_reader.egg-info/PKG-INFO b/final_task/rss_reader.egg-info/PKG-INFO index fceb73a..6976af4 100644 --- a/final_task/rss_reader.egg-info/PKG-INFO +++ b/final_task/rss_reader.egg-info/PKG-INFO @@ -7,20 +7,20 @@ Author: Elizaveta Lapunova Author-email: liza.lapunova99@gmail.com License: BSD Description: ## Iteration 1 - RSS reader it's command line utility, which receives RSS URL and prints result in convenient output format + RSS reader is a command utility, which receives RSS URL and prints the result in convenient output format - Input data has following interface: + Input data has the following interface: `rss_reader.py source [-h] [--version] [--verbose] [--json] [--limit LIMIT]` ```` positional arguments: - source - that's news API - optionals arguments: - -h - provides common information about our rss parser - --version - print in stdout current version - --verbose - print all logs in stdout - --json - print news in JSON format - --limit LIMIT - limit amount of news topics + source - URL which provides a RSS feed + optional arguments: + -h - prints this help page + --version - prints in stdout current version + --verbose - prints all logs in stdout + --json - prints news in JSON format + --limit LIMIT - limits the amount of news entries in the output ```` JSON structure: ``` @@ -51,12 +51,15 @@ Description: ## Iteration 1 3) `$pip install rss_reader-1.1.tar.gz` 4) run `$rss_reader https://news.yahoo.com/rss --limit 2 --verbose` + ## Iteration 3 News is stored in the csv cache in following format and with tab delimiter. `date title link article list_links` - To run application with updates: + Now we are searching for the news in the cache with O(n) complexity. But in the near future we plan to optimize this process. + + If you want to receive news for the 15/11/2019, please enter the following command in the command line `$python rss_reader.py https://news.yahoo.com/rss --date 20191115` diff --git a/final_task/rss_reader.egg-info/SOURCES.txt b/final_task/rss_reader.egg-info/SOURCES.txt index bf480c9..6ab2004 100644 --- a/final_task/rss_reader.egg-info/SOURCES.txt +++ b/final_task/rss_reader.egg-info/SOURCES.txt @@ -1,5 +1,6 @@ README.md setup.py +rss_reader/CSVEntities.py rss_reader/ClassNews.py rss_reader/__init__.py rss_reader/__main__.py @@ -11,4 +12,6 @@ rss_reader.egg-info/dependency_links.txt rss_reader.egg-info/entry_points.txt rss_reader.egg-info/not-zip-safe rss_reader.egg-info/requires.txt -rss_reader.egg-info/top_level.txt \ No newline at end of file +rss_reader.egg-info/top_level.txt +test/RssUnitTest.py +test/__init__.py \ No newline at end of file diff --git a/final_task/rss_reader.egg-info/requires.txt b/final_task/rss_reader.egg-info/requires.txt index fcadc2b..8bfa697 100644 --- a/final_task/rss_reader.egg-info/requires.txt +++ b/final_task/rss_reader.egg-info/requires.txt @@ -1 +1,2 @@ html2text==2019.9.26 +dateutil==2.4.1 diff --git a/final_task/rss_reader.egg-info/top_level.txt b/final_task/rss_reader.egg-info/top_level.txt index 4d1a3d9..fd7f51c 100644 --- a/final_task/rss_reader.egg-info/top_level.txt +++ b/final_task/rss_reader.egg-info/top_level.txt @@ -1 +1,2 @@ rss_reader +test diff --git a/final_task/rss_reader/CSVEntities.py b/final_task/rss_reader/CSVEntities.py index 55a56bd..1e4f497 100644 --- a/final_task/rss_reader/CSVEntities.py +++ b/final_task/rss_reader/CSVEntities.py @@ -1,6 +1,7 @@ import csv from datetime import date from dateutil.parser import parse +from dataclasses import dataclass, asdict import ClassNews @@ -10,10 +11,10 @@ def csv_to_python(articles_list, csv_file): """This function inserts news to the source csv file that has never been seen in it.""" articles_list_from_csv = [] - with open(csv_file, "r") as file: + with open(csv_file, "r", encoding='utf-8') as file: reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') - for items in reader: - r = ClassNews.Article(dict(items)) + for item in reader: + r = ClassNews.Article(item['title'], item['date'], item['link'], item['article'], item['links']) articles_list_from_csv.append(r) union_list = articles_list_from_csv[:] @@ -21,21 +22,21 @@ def csv_to_python(articles_list, csv_file): if item not in articles_list_from_csv: union_list.append(item) - with open(csv_file, "w") as file: + with open(csv_file, "w",encoding='utf-8') as file: writer = csv.DictWriter(file, fieldnames=FIELDNAMES, delimiter='\t') for item in union_list: - writer.writerow(item.__dict__) + writer.writerow(asdict(item)) def return_news_to_date(input_date, csv_file, limit): """This function read from the file those news that match by date""" article_list_by_date = [] datetime_input = date(int(input_date[0:4]), int(input_date[4:6]), int(input_date[6:8])) - with open(csv_file, "r") as file: + with open(csv_file, "r", encoding='utf-8') as file: reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') match_counter = 0 - for items in reader: - article_from_file = ClassNews.Article(dict(items)) + for item in reader: + article_from_file = ClassNews.Article(item['title'], item['date'], item['link'], item['article'], item['links']) date_time = parse(article_from_file.date) date_from_file = date_time.date() diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index b7c8f8f..6f30bfa 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -1,5 +1,7 @@ import re import html2text +from dataclasses import dataclass + LINKS_TEMPLATE = '\"((http|https)://(\w|.)+?)\"' @@ -38,7 +40,7 @@ def dicts_to_articles(dict_list): """This function receive list of dictionaries and convert it to list of articles """ article_list = [] for item in dict_list: - article_list.append(Article(item)) + article_list.append(Article(item['title'], item['date'], item['link'], item['article'], item['links'])) return article_list def html_text_to_list_links(html_links): @@ -48,16 +50,17 @@ def html_text_to_list_links(html_links): list_links.append(group1.group(1)) return list_links - +@dataclass class Article: """This is news class, which receives dictionary and have title, date, link, article and links keys fields""" - def __init__(self, article_dict): - self.date = article_dict['date'] - self.title = article_dict['title'] - self.link = article_dict['link'] - self.article = article_dict['article'] - self.links = html_text_to_list_links(article_dict['links']) + title: str + date: str + link: str + article: str + links :str + def __post_init__(self): + self.links = html_text_to_list_links(self.links) def __str__(self): result_string_article = "\nTitle: %s\nDate: %s\nLink: %s\n\n%s\n\n" % (self.title, self.date, self.link, diff --git a/final_task/rss_reader/ToHTML.py b/final_task/rss_reader/ToHTML.py new file mode 100644 index 0000000..ee07ab8 --- /dev/null +++ b/final_task/rss_reader/ToHTML.py @@ -0,0 +1,14 @@ +from jinja2 import Environment, FileSystemLoader + + +def print_article_list_to_html(list_articles, path): + html_stream = print_article_list(list_articles) + with open(path, "w", encoding='utf-8') as html: + html.write(html_stream) + + +def print_article_list(list_articles): + # directory with templates + env = Environment(loader=FileSystemLoader('.')) + template = env.get_template('template.html') + return template.render(articles=list_articles) \ No newline at end of file diff --git a/final_task/rss_reader/ToPDF.py b/final_task/rss_reader/ToPDF.py new file mode 100644 index 0000000..ceff0fc --- /dev/null +++ b/final_task/rss_reader/ToPDF.py @@ -0,0 +1,9 @@ +from xhtml2pdf import pisa +import ToHTML + +def print_article_list_to_pdf(list_articles, file_name): + with open(file_name, "wb") as pdf: + list_articles + pisa_pdf = pisa.CreatePDF(ToHTML.print_article_list(list_articles), dest=pdf) + if not pisa_pdf.err: + print('Please, check %s' % file_name) \ No newline at end of file diff --git a/final_task/rss_reader/__main__.py b/final_task/rss_reader/__main__.py index ec247e5..2601d90 100644 --- a/final_task/rss_reader/__main__.py +++ b/final_task/rss_reader/__main__.py @@ -1,4 +1,4 @@ -from rss_reader import rss_reader +from rss_parser import rss_reader if __name__ == "__main__": # execute only if run as a script diff --git a/final_task/rss_reader/datecsv.csv b/final_task/rss_reader/datecsv.csv index 41f8148..fac75c1 100644 --- a/final_task/rss_reader/datecsv.csv +++ b/final_task/rss_reader/datecsv.csv @@ -1,68 +1,102 @@ -Thu, 14 Nov 2019 21:26:12 -0500 Trump: Impeachment 'has been very hard on my family' https://news.yahoo.com/trump-impeachment-has-been-very-hard-on-my-family-022612387.html President Trump campaigned in Louisiana for the first time since the Housebegan public hearings in his impeachment inquiry. ['https://news.yahoo.com/trump-impeachment-has-been-very-hard-on-my-family-022612387.html', 'http://l2.yimg.com/uu/api/res/1.2/3iv8IvZCkg3m2uXvIKwFkQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/e3f7e8e0-074e-11ea-bdfe-16810a7d0c4a'] -Fri, 15 Nov 2019 12:14:23 -0500 Man caught at Houston airport with 35 pounds of liquid cocaine in shampoobottles https://news.yahoo.com/man-caught-houston-airport-35-155046738.html The U.S. Customs and Border Patrol says an arriving passenger tried to smuggle35 pounds worth of liquid cocaine in shampoo bottles into the country. ['https://news.yahoo.com/man-caught-houston-airport-35-155046738.html', 'http://l.yimg.com/uu/api/res/1.2/FoHJGXtRUrlAQhP0nHokkA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_travel_320/c5fe2f56eb0a5e2e66b4982ffcea0a53'] -Wed, 13 Nov 2019 19:43:14 -0500 Colorado officers who shot black teenager won�t be charged https://news.yahoo.com/colorado-officers-shot-black-teenager-004314411.html A grand jury found that two Colorado police officers were justified in killinga black teenager who was shot multiple times in the back during a foot chase,the district attorney said Wednesday. As a result, no criminal charges will befiled against the officers involved in the Aug. 3 death of De'Von Bailey inColorado Springs, KRDO reported, citing El Paso County District Attorney DanMay. Bailey, 19, was shot three times in the back and once in the arm. ['https://news.yahoo.com/colorado-officers-shot-black-teenager-004314411.html', 'http://l1.yimg.com/uu/api/res/1.2/LC7nUrDC4grj90i1UFWwfQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/1d279d3c82ebfdc9281ebb50161b5741'] -Thu, 14 Nov 2019 23:43:25 -0500 DNC Announces 10 Candidates in Atlanta Democratic Debate https://news.yahoo.com/dnc-announces-10-candidates-atlanta-040356917.html (Bloomberg) -- The Democratic National Committee on Thursday announced the 10candidates who will participate in the fifth Democratic primary debate inAtlanta on Wednesday.They are: Joe Biden, Cory Booker, Pete Buttigieg, TulsiGabbard, Kamala Harris, Amy Klobuchar, Bernie Sanders, Tom Steyer, ElizabethWarren and Andrew Yang.Julian Castro, who participated in previous debates,most recently in October at Otterbein University in Westerville, Ohio, didn�tmake the cut. Another October participant, Beto O�Rourke, has dropped out ofthe race. Deval Patrick, a former governor of Massachusetts who announced hiscandidacy on Thursday, also won�t be on the stage at the Tyler PerryStudios.The forum will be co-hosted by the Washington Post and MSNBC.Candidates will be questioned by four female moderators: Rachel Maddow, AndreaMitchell and Kristen Welker from the network, and Ashley Parker from thePost.The two-hour event had a higher bar to qualify than previous debates.Candidates must have contributions from 165,000 donors, up from 135,000.Andthe donors must be geographically dispersed, with a minimum of 600 per statein at least 20 states. In addition, participants must either show 3% supportin four qualifying national or single-state polls, or have at least 5% supportin two qualifying single-state polls released between Sept. 13 and Nov. 13 inthe early nominating states of Iowa, New Hampshire, South Carolina orNevada.The sixth debate will take place next month in Los Angeles.To contactthe reporter on this story: Max Berley in Washington atmberley@bloomberg.netTo contact the editors responsible for this story: WendyBenjaminson at wbenjaminson@bloomberg.net, John HarneyFor more articles likethis, please visit us at bloomberg.com�2019 Bloomberg L.P. ['https://news.yahoo.com/dnc-announces-10-candidates-atlanta-040356917.html', 'http://l2.yimg.com/uu/api/res/1.2/Ao65mpoUzysdT53oXRH8lQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/9d6f2eccaafd5f3f5d74a13988351f71'] -Thu, 14 Nov 2019 18:29:07 -0500 Virginia police say wanted Marine deserter sought family https://news.yahoo.com/virginia-police-hunt-marine-deserter-131347684.html Police in Virginia say the Marine deserter wanted for questioning in a murdercase was trying to reach out to a family member when he was spotted. RoanokePolice Chief Tim Jones told a news conference that it�s believed MichaelAlexander Brown was trying to contact his grandmother when a neighbor saw himearly Thursday. The Roanoke Times reports the U.S. Marshals Service learnedSunday night that Brown might be driving a recreational vehicle near ClarendonCounty, South Carolina, about four hours southwest of Camp Lejeune, in NorthCarolina, where he had been stationed as a U.S. Marine until leaving his postlast month. ['https://news.yahoo.com/virginia-police-hunt-marine-deserter-131347684.html', 'http://l1.yimg.com/uu/api/res/1.2/chw_x2nao2cBnzzqwtEkfA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/14bcbf482ca4b514a138400b6c3de809'] -Fri, 15 Nov 2019 08:41:42 -0500 Turkey sends American Islamic State fighter to U.S. after stalemate withGreece https://news.yahoo.com/turkey-sends-american-islamic-state-134142157.html Turkey sent a U.S. citizen suspected of fighting for Islamic State to theUnited States by plane on Friday, Interior Minister Suleyman Soylu said, afterthe man was refused entry to Greece earlier this week. Turkish authoritiesstarted deporting captured Islamic State suspects to their home countries onMonday. Ankara says it has captured 287 militants in northeast Syria, whereTurkish troops launched an assault against the Kurdish YPG militia last month,and has hundreds more jihadist suspects in detention. ['https://news.yahoo.com/turkey-sends-american-islamic-state-134142157.html'] -Sun, 17 Nov 2019 09:36:14 -0500 On an upswing, the Pete Buttigieg show rolls through New Hampshire https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It�s aspectacle that hasn�t been seen in recent presidential races, but it�s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ['https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', 'http://l2.yimg.com/uu/api/res/1.2/cqp8V_ndESsAGfj_ke5adw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/9e842ef0-04eb-11ea-a66f-fec562b3bef1'] -Sun, 17 Nov 2019 05:29:47 -0500 French interior minister blames protest violence on 'thugs' https://news.yahoo.com/french-interior-minister-blames-protest-102947823.html "French Interior Minister Christophe Castaner blamed ""thugs"" and ""bullies"" onSunday for the violence that hit demonstrations the previous day markingmarked the first anniversary of the anti-government ""yellow vest"" protests.""Yesterday, what we saw were few (legitimate) demonstrators but thugs, bulliesand morons,"" Castaner told Europe 1 radio when asked about the violence inParis on Saturday. Demonstrators torched cars and pelted police with stonesand bottles and police fired tear gas and water cannon during the rallies tomark a year since the birth of the anti-government yellow vest movement. " ['https://news.yahoo.com/french-interior-minister-blames-protest-102947823.html', 'http://l1.yimg.com/uu/api/res/1.2/fjSSGZbaqftFt_tu8zxqdg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/ce71df2daade2be230c0a82d0212503f'] -Sat, 16 Nov 2019 19:45:37 -0500 Chile police stopped rescue workers helping dying protester: human rightswatchdog https://news.yahoo.com/chile-police-stopped-rescue-workers-004537157.html Chile's independent human rights watchdog said on Saturday it would file aformal complaint for murder against police officers who allegedly preventedparamedics from attending a heart attack victim amid a protest Friday.Security forces firing tear gas, rubber bullets and water cannons made itimpossible for rescue workers to properly treat the victim, Chile's publicly-funded National Institute for Human Rights said. Twenty-nine year old AbelAcuna died shortly after at a nearby Santiago hospital. ['https://news.yahoo.com/chile-police-stopped-rescue-workers-004537157.html', 'http://l1.yimg.com/uu/api/res/1.2/msfkqScfjEDGkZw0FpwuYQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/4fcd3b80fd76604f970966b9f77b32bd'] -Sat, 16 Nov 2019 16:11:50 -0500 NATO ally expels undercover Russian spy https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliatedwith the Russian military intelligence service, according to a Westernintelligence source. ['https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', 'http://l1.yimg.com/uu/api/res/1.2/IKBjTl0jeU0BCnrjqbCKAw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/440e0010-0714-11ea-9bcb-45ff7f6277b3'] -Mon, 18 Nov 2019 00:00:00 -0500 If A Chinese-American War Happens, It Will Start In The South China Sea https://news.yahoo.com/chinese-american-war-happens-start-050000239.html China has been preparing for just that fight. ['https://news.yahoo.com/chinese-american-war-happens-start-050000239.html', 'http://l.yimg.com/uu/api/res/1.2/RmE79ZMwdqb210wL3E0QIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/6c65a0e958cf5690f7c9f85d39cd2087'] -Sun, 17 Nov 2019 20:42:09 -0500 Massachusetts man arrested after son, 5, allegedly takes heroin to school andbrags it makes him feel like Spider-Man https://news.yahoo.com/massachusetts-man-arrested-son-5-233157331.html A father is facing drug possession charges after his son, 5, allegedly tookheroin to school and said tasting it made him feel like Spider-Man. ['https://news.yahoo.com/massachusetts-man-arrested-son-5-233157331.html', 'http://l2.yimg.com/uu/api/res/1.2/yJXppUCKiBRdSORVsq5jbQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/2ca040e3-872d-4331-ba74-ed1d8c61fdd8/a1aece82-5dc4-5e6b-9f10-446fc5ee1d3c/data_3_0.jpg?s=6fcf5a11f548dd38cb0998975e629751&c=5f6d48426e972b3807d2f842bafafa4e&a=tripleplay4us&mr=0'] -Sun, 17 Nov 2019 10:44:20 -0500 Trump disputes North Korea: Joe Biden 'somewhat better' than a 'rabid dog' https://news.yahoo.com/trump-biden-north-korea-rabid-dog-154420234.html President Trump came to the defense of his potential 2020 rival Joe Biden onSunday, disputing a characterization of the former vice president as a �rabiddog� who �must be beaten to death with a stick.� ['https://news.yahoo.com/trump-biden-north-korea-rabid-dog-154420234.html', 'http://l2.yimg.com/uu/api/res/1.2/4r6PAR_tChOJsKG20onXdw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-images/2019-11/388e3630-094c-11ea-af78-84edfb292bc3'] -Mon, 18 Nov 2019 02:26:00 -0500 "The Problem with Hypersonic Missiles: ""None of this stuff works yet.""" https://news.yahoo.com/problem-hypersonic-missiles-none-stuff-072600256.html Don�t get too excited about hypersonic weapons, one prominent U.S. defensejournalist advised. According to him, we still don�t know for sure whether theMach-5-plus munitions actually work. ['https://news.yahoo.com/problem-hypersonic-missiles-none-stuff-072600256.html', 'http://l2.yimg.com/uu/api/res/1.2/YOhob5Hzzh5bR_GUbztqLg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/ef38aa18f65ca8d1c745a2f38867a67c'] -Sun, 17 Nov 2019 06:00:35 -0500 Rep. Justin Amash turned on Trump. Will his Michigan district follow him � orturn on him? https://news.yahoo.com/rep-justin-amash-turned-on-trump-will-his-michigan-district-follow-him-or-turn-on-him-110017880.html If you want to understand how impeachment is being seen by actual Americans,there may be no better place to go than Grand Rapids, Mich. In part that�sbecause the area around Grand Rapids, comprising Michigan�s ThirdCongressional District, is one of only about two dozen districts in the nationto vote for Barack Obama and for Donald Trump. ['https://news.yahoo.com/rep-justin-amash-turned-on-trump-will-his-michigan-district-follow-him-or-turn-on-him-110017880.html', 'http://l.yimg.com/uu/api/res/1.2/5MxK.YN._EndjO7h3DUbpA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/cf4e8b20-0892-11ea-afe6-4b378b4fa34e'] -Sat, 16 Nov 2019 18:44:44 -0500 Man kills wife, three young sons in San Diego home: police https://news.yahoo.com/man-kills-wife-three-young-234444448.html "Three other boys, ages 5, 9 and 11, were taken to a hospital where two of themdied, San Diego Police Chief David Nisleit said during a news conference.""When the officers arrived on the scene, they were able to look into one ofthe windows and see a small child inside covered in blood,"" San Diego PoliceLieutenant Matt Dobbs said. " ['https://news.yahoo.com/man-kills-wife-three-young-234444448.html'] -Mon, 18 Nov 2019 08:09:09 -0500 PHOTOS: Deadly shooting at California football party https://news.yahoo.com/photos-deadly-shooting-at-california-football-party-130909246.html Four people were killed and six more wounded when �unknown suspects� sneakedinto a backyard filled with people at a party in central California and firedinto the crowd, police said. ['https://news.yahoo.com/photos-deadly-shooting-at-california-football-party-130909246.html', 'http://l.yimg.com/uu/api/res/1.2/zk3Vm4IumKHd15y_m9XXFQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/53b14e90-0a03-11ea-9a77-714a8e20d9a5'] -Mon, 18 Nov 2019 14:26:15 -0500 PHOTOS: Hong Kong police storm university held by protesters https://news.yahoo.com/photos-hong-kong-police-storm-university-held-by-protesters-192615683.html Police breached a Hong Kong university campus held by protesters early Mondayafter an all-night siege that included firing repeated barrages of tear gasand water cannons. Anti-government protesters have barricaded themselvesinside Hong Kong Polytechnic University for days. ['https://news.yahoo.com/photos-hong-kong-police-storm-university-held-by-protesters-192615683.html', 'http://l2.yimg.com/uu/api/res/1.2/uHYV90L3jWuIGcBWBTISCA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/a3736830-0a37-11ea-97a7-c60f5626b0aa'] -Mon, 18 Nov 2019 11:39:30 -0500 The real danger of impeachment for Trump and Dem candidates: It's the calendar https://news.yahoo.com/the-real-danger-of-impeachment-for-trump-and-dem-candidates-its-the-calendar-163930854.html The real problem for President Trump and his would-be 2020 rivals is the lossof something even more precious and irrevocable than polling percentagepoints: time. ['https://news.yahoo.com/the-real-danger-of-impeachment-for-trump-and-dem-candidates-its-the-calendar-163930854.html', 'http://l2.yimg.com/uu/api/res/1.2/k9Q1aeXSueHWF5XA7i8R1g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/83d2c140-0a20-11ea-bfbf-871c274eead4'] -Wed, 20 Nov 2019 07:16:37 -0500 FBI seeks interview with CIA whistleblower https://news.yahoo.com/fbi-seeks-interview-with-cia-whistleblower-121637359.html The FBI recently sought to question the CIA whistleblower who filed acomplaint over President Trumps July 25 Ukraine call a move that came aftera vigorous internal debate within the bureau over how to respond to some ofthe issues raised by the complaints allegations and whether they needed to bemore thoroughly investigated, according to sources familiar with the matter. ['https://news.yahoo.com/fbi-seeks-interview-with-cia-whistleblower-121637359.html', 'http://l1.yimg.com/uu/api/res/1.2/FFYc1t5HNe2lipnQae0Hiw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/3d948520-0b0f-11ea-9eff-d96ddf8d2605'] -Wed, 20 Nov 2019 07:24:15 -0500 A Catholic priest condemned a teen's suicide at his own funeral. Now, his momis suing https://news.yahoo.com/catholic-priest-condemned-teens-suicide-122415843.html The complaint filed in Wayne County on behalf of Linda Hullibarger said thatRev. Don LaCuesta questioned whether her son, Maison, would go to heaven. ['https://news.yahoo.com/catholic-priest-condemned-teens-suicide-122415843.html', 'http://l2.yimg.com/uu/api/res/1.2/E.uR4YBCDMQMtlFIyuNsBQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/71bd64433e82e5dd682942ae8986a6df'] -Mon, 18 Nov 2019 14:25:16 -0500 Russia offers job to Maria Butina, woman convicted by U.S. of being an agent https://news.yahoo.com/russia-offers-job-maria-butina-172441526.html In her first public appearance since being deported by U.S. authorities whohad jailed her for being a Russian agent, Maria Butina was on Monday offered ajob by Moscow to defend Russians imprisoned abroad. During an event for themedia, Russia's human rights commissioner, Tatyana Moskalkova, offered Butina,31, a job working for her commission. Butina, who flew back to Russia on Oct.26 after being deported, did not say whether she would accept the offer madeat what she called her first public appearance since she was mobbed bywellwishers in front of the media at the airport on her arrival home. ['https://news.yahoo.com/russia-offers-job-maria-butina-172441526.html', 'http://l1.yimg.com/uu/api/res/1.2/oxY5OuKzQwBTeFCkvfV48w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/9059272a78d86d6f901aa06a91c51e3d'] -Tue, 19 Nov 2019 11:20:19 -0500 As Epstein died, guards allegedly shopped online and slept https://news.yahoo.com/epstein-jail-guards-charged-falsifying-162019489.html Two jail guards responsible for monitoring Jeffrey Epstein the night he killedhimself were sleeping and browsing the internet instead, according to anindictment released Tuesday charging the guards with lying on prison recordsto cover themselves. The grand jury indictment provides a damning glimpse ofsafety lapses inside a high-security unit at the Metropolitan CorrectionalCenter in New York, where Epstein had been awaiting trial on sex traffickingcharges. The indictment, leaning in part on images from security cameras onthe cell block, also contains new details reinforcing the idea that, for allthe intrigue regarding Epstein and his connections to powerful people, hisdeath was a suicide and possibly preventable. ['https://news.yahoo.com/epstein-jail-guards-charged-falsifying-162019489.html', 'http://l.yimg.com/uu/api/res/1.2/GMWaLXqyRo4WR7N3kOA.qQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/59491a74f2fdf35975566f71b8c83e86'] -Tue, 19 Nov 2019 12:00:00 -0500 Meet Britain's Deadly Nuclear Missile Submarines https://news.yahoo.com/meet-britains-deadly-nuclear-missile-170000192.html A powerful deterrent. ['https://news.yahoo.com/meet-britains-deadly-nuclear-missile-170000192.html', 'http://l2.yimg.com/uu/api/res/1.2/5qfozsZI36JdRni9rlV7uA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/70d55e367b213e3b1414ee9e1cc7a0ab'] -Mon, 18 Nov 2019 15:07:00 -0500 The New York Times report on China's mass detention of Muslims seems to havebroken through Beijing's internet firewall https://news.yahoo.com/york-times-report-chinas-mass-200700476.html "The Great Firewall may have been breached.Beijing doubled down Monday afterThe New York Times published a report on over 400 leaked documents thatprovided a look into China's mass detention of Muslims in the Xinjiang region,though the government didn't dispute the authenticity of the documents.""It isprecisely because of a series of preventative counterterrorism and de-extremism measures taken in a timely manner that Xinjiang, which had beendeeply plagued by terrorism, has not had a violent terrorist incident forthree years,"" said Geng Shuang, a spokesman for China's Ministry of ForeignAffairs. Geng added that the Times took things out of context in an attempt to""smear and discredit China's antiterrorism and de-extremism capabilities.""Butaside from Geng's comments, the Times reports that Chinese state media saidlittle else about the issue, which is not surprising given the sensitivenature of the issue. But there were signs that at least some aspects of theleak snuck past Beijing's internet firewall, which blocks access to the Times.One user on Chinese social media platform Weibo reportedly posted about WangYongzhi, an official cited in the report who initially helped implementChina's harsh measure, but eventually ordered the release of more than 7,000detention camp inmates before he was arrested. ""History will not forget thisperson and this page of paper,"" the Weibo user wrote, indicating that thedocuments might have made their way through. Read more at The New YorkTimes.More stories from theweek.com The potential lie that could actuallydestroy Trump The coming death of just about every rock legend Everyone willeventually turn on Trump. Even Steve Doocy. " ['https://news.yahoo.com/york-times-report-chinas-mass-200700476.html'] -Mon, 18 Nov 2019 09:35:00 -0500 Give me the guinea pigs!: Pet shop owner says stolen animal thrown at himafter chasing thieves https://news.yahoo.com/guinea-pigs-pet-shop-owner-143533395.html Two women attempted to steal guinea pigs from a pet store in Kentucky, beforethrowing one of the animals at the shop owner, he has alleged.US news outletsreport that 21-year-old Isabelle Mason and 19-year-old Jaimee Pack tried tosmuggle out the animals from a Pet Paradise store in Danville on Saturdaywithout paying. ['https://news.yahoo.com/guinea-pigs-pet-shop-owner-143533395.html', 'http://l2.yimg.com/uu/api/res/1.2/RGAveUbG9NBk6McOJU6G7Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/267cefc30507a89e67e9d543d4a34bdc'] -Mon, 18 Nov 2019 13:57:49 -0500 Israels New Way of War https://news.yahoo.com/israel-way-war-185749787.html Commuters on Route 4, driving toward the Israeli coastal city of Ashdod onNovember 12, were shocked by an explosion, a rocket impact next to a majorintersection. Had it fallen on a car or one of the many trucks plying theroute, there would have been deaths, and the road would have been closed.Instead, police and Israeli Home Front Command units came and cordoned off thesidewalk, and drivers went about their day. Twenty-five miles south of wherethe rocket landed, other rocket teams from Palestinian Islamic Jihad (PIJ), anIranian-backed terrorist group, were preparing to fire more than 400 rocketsat Israel during a brief flare-up in fighting. Most of them would beintercepted by Israels high-tech air defense.The ability of millions ofIsraelis to mostly go about their day while Israels air force carries outprecision air strikes nearby is due to Israels latest achievements infighting war. It also comes with questions about whether Israel is beingeffective and what this latest revolution in military affairs means in thelong term.A week after the November 12 clashes, they had faded into thebackground, one day of battle among dozens since March 2018, when Hamaslaunched a series of protests called the Great Return March. More than 2,000rockets have been fired, many of them in short spurts. Several times, Israelalmost launched a major ground operation. But it has held back. Its Iron Domeair-defense system, which looks like a giant green pack of cigarettes mountedon a truck, intercepted 90 percent of the rockets in the battle with IslamicJihad. The sophisticated system, developed with U.S. support, not only targetsincoming projectiles by firing a missile at them; it even calculates preciselywhere the threat might hit and works accordingly with a separate system ofsirens that warn Israelis to seek shelter.As in almost every attack sinceIsrael pulled its forces from Gaza in 2005, I went down to the border. Thearea has changed dramatically over the years. In 2008, before Operation CastLead, areas of Sderot, a border town, were dilapidated and depressing. Underfire, without any protection, the people were traumatized. Now there are newparks and shopping centers. Israel didnt go to war on November 12 because itdidnt need to, and it sees diminishing returns in entering Gaza and gettingbogged down in fighting. It also knows that civilian casualties would result.In Cast Lead, around 1,400 Palestinians were killed; in the Gaza war in 2014,more than 2,400, according to estimates. Gaza is densely populated; imaginetrying to fight a war in Manhattan. Civilians will suffer.However, the volumeof rocket fire from Gaza in the past year and the extent of Israeli airstrikesare as large as in previous wars. In July 2018, Israel struck 40 targets inwhat it said were the largest strikes since the 2014 war. In November 2018,around 500 rockets were fired. In response, Israel struck 160 targets thatmonth. In May 2019, more than 600 rockets were fired at Israel. In the recentbattle with Islamic Jihad, Israel hit around 20 PIJ targets. A mistakenairstrike also killed eight civilians from one Palestinian family.Israeldubbed its recent operation Black Belt and aimed it at deterring PIJ, whichposes a challenge for Israel if there is also conflict with Hezbollah in thenorth. Delivering a blow to the organization by killing a senior commander tostabilize the situation is what Jerusalem hoped to achieve. Our assessmentshows we dealt a significant blow to PIJs capabilities, an IDF spokesmansaid in a press briefing.This is Israels new way of war. It mirrors a type ofwar that most advanced Western countries, particularly the United States, nowfight. It involves precision airstrikes or special forces and complexintelligence-gathering through the use of satellites, cyber technology, andother sources. Gone are the days of heavy armor, of Israels Moshe Dayan orAmericas George Patton and all that. This revolution in military affairsthat was unveiled in the early 1990s mandates the use of technology and nowinvolves asymmetry, which basically means that on one side you have an F-35and on the other you have a guy with an AK-47. Its not simple in reality,because groups such as Islamic Jihad have developed long-range rockets, withIrans backing.Nevertheless, in the overall picture, Israel has reachedextreme precision in its airstrikes, putting a missile in a bedroom ratherthan taking out a whole house. Air defense, including Iron Dome and othersystems such as the U.S.-made Patriot, enable Jerusalem to avoid a ground warand to focus on the Iranian threat. This is a major revolution for Israel.Thirteen years ago the country was dragged into a conflict with Hezbollah inLebanon and suffered many early setbacks on the ground. That war taught Israelthat its decade and a half of fighting Palestinian terror in the West Bank andGaza had degraded the armys ability to engage in a larger complexconflict.Now Israel prefers to prepare for the larger conflict with Iranian-backed groups while managing the conflict in Gaza and carrying out airstrikesin Syria against Iranian targets that are largely shrouded in secrecy. Theseprecise strikes, such as one on a Hezbollah killer drone team in August,could lead to a larger conflict. As it faces a variety of threats, fromHezbollah and other Iranian-backed groups, Israel will have to use its airdefense against major rocket threats, relying on the tactics it honed in theprecision strikes. New technologies enabled Israel to refrain from majorconflicts with the Palestinians. In the next war, they will be tested on amuch larger scale, on multiple fronts. ['https://news.yahoo.com/israel-way-war-185749787.html', 'http://l2.yimg.com/uu/api/res/1.2/zQ9tLzgXrwaXxUe2qf1VFQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/5ce7b772aa8aa3826c171a9cf5990cea'] -Tue, 19 Nov 2019 15:23:45 -0500 Syracuse University has suspended all fraternity activities for the rest ofthe semester after a black student said a group of students accosted her andcalled her a racial slur https://news.yahoo.com/syracuse-university-suspended-fraternity-activities-165636345.html The student newspaper reported that a black female student was called theN-word while walking on campus Saturday night. ['https://news.yahoo.com/syracuse-university-suspended-fraternity-activities-165636345.html', 'http://l2.yimg.com/uu/api/res/1.2/T_cWe9l7aVHQAWGb84DOIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/a1a5218393b2cc91e77dc1e96a159e45'] -Tue, 19 Nov 2019 11:16:36 -0500 Army officer on Trump phone call said it was his 'duty' to report president https://news.yahoo.com/army-officer-on-trump-phone-call-said-it-was-his-duty-to-report-president-161636306.html Lt. Col. Alexander Vindman told Congress Tuesday that he listened to PresidentTrumps July phone call with the president of Ukraine and immediately knew itwas his duty to report Trumps improper behavior to White House lawyers. ['https://news.yahoo.com/army-officer-on-trump-phone-call-said-it-was-his-duty-to-report-president-161636306.html', 'http://l.yimg.com/uu/api/res/1.2/GuVmmYGnI7_JgB8Ppc2fGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/3381a5d0-0ae3-11ea-b57f-7a1dbefe1cb2'] -Tue, 19 Nov 2019 18:16:31 -0500 Corbyn Catches Up With Johnson in Dramatic U.K. Election Debate https://news.yahoo.com/corbyn-catches-johnson-dramatic-u-213442076.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.Labour Leader Jeremy Corbyn defied his negative ratings to drawlevel with Prime Minister Boris Johnson in a crucial television debate aheadof the U.K.s general election.The opposition leader, whos been laggingbehind Johnson in personal approval scores, effectively tied with the premierin a snap poll on which candidate won the clash Tuesday night. The poundremained lower after the survey.The YouGov/Sky News poll of 1,600 people gaveJohnson a narrow victory, with 51% saying he won the ITV debate, against 49%saying Corbyn performed best.That was a significant turnaround for Corbyn, 70,who has struggled to persuade the public that he is prime minister material.Hewent into the election campaign with a net satisfaction rating of minus 60.That was by far the lowest such score since IpsosMORI started tracking theratings in 1979. Johnsons score stood at plus 2 when the figures werecompiled at the end of October.While Corbyn fared better than expected thistime, his party remains stuck behind the Conservatives in the polls. It wasonly one debate, and more are planned, including another head-to-head betweenthe two leaders on Dec. 6.The YouGov verdict followed an hour of clashesbetween the two men vying to lead the U.K. in what is one of the higheststakes elections in recent British history.When voters cast their ballots onDec. 12, they will face a choice between Johnsons promise to deliver a speedyBrexit and Corbyns pledge to call another referendum on European Unionmembership that could ultimately allow the divorce to be canceled.Corbynreceived applause and landed verbal punches on Johnson, 55, who struggled towin over an audience that laughed and groaned as he tried to steer the topicback to Brexit.In his most successful moments, Corbyn said he would give theprime minister a festive present of Charles Dickenss classic short story, AChristmas Carol, so he could learn how nasty the miserly Scrooge was.Corbyn also attacked the royal family over its handling of Prince Andrewsfriendship with the pedophile Jeffrey Epstein, saying the monarchy neededimprovement.Corbyn struggled to shake off allegations that antisemitism isrife inside the Labour Party, and was mocked by some audience members forclaiming his policy on Brexit was clear, when he could not say whether hewould vote to remain or leave the bloc in a referendum hes promising to hold.But he won a cheer for promising to end the privatization of the NationalHealth Service.Johnson had one big message: That he could get Brexit done and quickly. It served him well in the opening 20 minutes, but then hisrepeated attempts to make it all about Brexit began to look forced. Forexample, when trying to think of a Christmas gift for Corbyn, he said hedsend him a copy of my brilliant Brexit deal.There were other awkward momentsfor the Tory leader. Some audience members laughed when Johnson said hebelieved trust was important in politics.The theme of trustworthiness alsofeatured in the spin battle between the rival parties afterward. Tory ForeignSecretary Dominic Raab appeared among reporters backstage in Salford,northwestern England, to say there is a real issue of trust with CorbynsBrexit stance. Labours trade spokesman accused Johnson of telling lie afterlie after lie. YouGovs pollsters found Corbyn beat Johnson 45% to 40% ontrustworthiness.The choice is very simple: we can get Brexit done or we canspend another year with another referendum, Johnson said in his closingremarks. If we have a working majority Conservative government, I pledge wewill have a Parliament that works for you, that focuses on the NHS and thecost of living, because when we get Brexit done by Jan. 31 we will goforward.Corbyn used his final message of the night to promise to protect theNHS and invest in good jobs across the country. Vote for hope and vote forLabour on the 12th of December, he said.According to the YouGove poll, Corbynbeat Johnson 59% to 25% on being in touch with ordinary people. But Johnsonbeat Corbyn 54% to 29% on appearing prime ministerial and 54% to 37% on beinglikeable.Although the headline result was a draw, 67% of respondents thoughtCorbyn performed well, against 59% for Johnson. That suggested the Labourleader had done better than people thought he would.(Adds pound, quotes,context.)\\--With assistance from Greg Ritchie.To contact the reporters onthis story: Kitty Donaldson in Salford, England atkdonaldson1@bloomberg.net;Tim Ross in London at tross54@bloomberg.net;RobertHutton in London at rhutton1@bloomberg.netTo contact the editor responsiblefor this story: Flavia Krause-Jackson at fjackson@bloomberg.netFor morearticles like this, please visit us at bloomberg.com2019 Bloomberg L.P. ['https://news.yahoo.com/corbyn-catches-johnson-dramatic-u-213442076.html', 'http://l.yimg.com/uu/api/res/1.2/GCrJ1cJ3.W01Lk5pDu4MNg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d5b474e68d9ac6f864bec2d7932ea3c8'] -Tue, 19 Nov 2019 12:50:48 -0500 UPDATE 1-France regrets U.S. decision on Fordow, rebukes Iran https://news.yahoo.com/1-france-regrets-u-decision-175048759.html "France lamented on Tuesday a U.S. decision to end a sanctions waiver relatedto Iran's Fordow nuclear facility, but also said it feared Tehran's latestviolations of a 2015 deal could lead to serious nuclear proliferation. ""Weregret the decision of the United States, following Iran's resumption ofenrichment on the Fordow site, to terminate an exemption that would facilitatethe conduct of civilian projects on this site,"" foreign ministry spokeswomanAgnes von der Muhll told reporters in an online briefing. The Trumpadministration, which last year pulled out of the Iran nuclear deal and re-imposed sanctions on Tehran, had until Monday let the work go forward at theFordow fuel enrichment plant by issuing waivers to sanctions that bar non-U.S.firms from dealing with the Atomic Energy Organization of Iran (AEOI). " ['https://news.yahoo.com/1-france-regrets-u-decision-175048759.html'] -Tue, 19 Nov 2019 21:34:32 -0500 A California nanny promised children would be 'safe' in his care. He insteadused them in porn videos, authorities say https://news.yahoo.com/california-nanny-promised-children-safe-021742033.html A former California nanny will serve 30 years in federal prison for filmingchild pornography with at least 5 victims in his care, authorities said. ['https://news.yahoo.com/california-nanny-promised-children-safe-021742033.html', 'http://l1.yimg.com/uu/api/res/1.2/zezKuR6qyzXMZ.b5zGA3Zw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/84deca56-95e2-44d0-b494-c8c3ff9affb9/69db1434-7ab7-501d-a836-370c584bf49c/data_3_0.jpg?s=32f3f70f2133d8b6aef8542be34b14f1&c=31346c427d4d7bf536f3eac189a4dc21&a=tripleplay4us&mr=0'] -Tue, 19 Nov 2019 10:20:08 -0500 Embattled Illinois prosecutor announces bid for reelection https://news.yahoo.com/embattled-illinois-prosecutor-announces-bid-152008606.html A prosecutor who came under harsh criticism when her office suddenly droppedcharges against actor Jussie Smollett and is now the subject of a court-ordered investigation announced Tuesday she is running for reelection. In hernews release saying shes seeking the position again, Cook County StatesAttorney Kim Foxx addressed the Smollett case and the furor over the handlingof it. Four years ago, I ran for States Attorney to change criminal justicein Cook County, said Foxx, who grew up in Chicagos crime-ridden CabriniGreen housing project. ['https://news.yahoo.com/embattled-illinois-prosecutor-announces-bid-152008606.html', 'http://l2.yimg.com/uu/api/res/1.2/sB92tKJgCPBs9H6VMDmwGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/908049066e5e7a58b15350087260125d'] -Wed, 20 Nov 2019 01:00:00 -0500 Navy Killer: Is This Chinas Dangerous New Anti-Ship Missile? https://news.yahoo.com/navy-killer-china-dangerous-anti-060000877.html A Chinese magazine might have revealed a new and potentially powerful anti-ship and land-attack missile ['https://news.yahoo.com/navy-killer-china-dangerous-anti-060000877.html', 'http://l1.yimg.com/uu/api/res/1.2/3GE9gTHe1WgF.EEUM1Bmnw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/2c50480068c192de5996e855f06b1688'] -Mon, 18 Nov 2019 19:54:03 -0500 China signs defense agreement with South Korea as U.S. angers Seoul withdemand for $5 billion troop payment https://news.yahoo.com/china-signs-defense-agreement-south-005403276.html The defense ministers of South Korea and China have agreed to develop theirsecurity ties to ensure stability in northeast Asia, the latest indicationthat Washingtons longstanding alliances in the region are fraying. ['https://news.yahoo.com/china-signs-defense-agreement-south-005403276.html', 'http://l2.yimg.com/uu/api/res/1.2/Rdav7iC8YEBnmzc3gI_gRw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-317815-1574124771604.jpg'] -Mon, 18 Nov 2019 11:50:52 -0500 Obama indirectly rebukes Bernie Sanders and Elizabeth Warren by warning donorsnot to be deluded into thinking voters want radical change https://news.yahoo.com/obama-indirectly-rebukes-bernie-sanders-165052231.html """The average American doesn't think we have to completely tear down the systemand remake it,"" Obama said. " ['https://news.yahoo.com/obama-indirectly-rebukes-bernie-sanders-165052231.html', 'http://l2.yimg.com/uu/api/res/1.2/UR_kjMuNdpk1o211c7e__g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/3e443985ce95e493fcf7854b8ff93fc1'] +Thu, 21 Nov 2019 08:54:16 -0500 Former Trump adviser blasts 'false narrative' of Ukraine election interference https://news.yahoo.com/fiona-hill-trump-impeachment-statement-135416423.html Fiona Hill, a former top national security adviser to President Trump, toldRepublicans in the House impeachment inquiry Thursday morning to stopadvancing a “fictional narrative” that Ukraine interfered in the 2016 U.S.elections rather than Russia. ['https://news.yahoo.com/fiona-hill-trump-impeachment-statement-135416423.html', 'http://l1.yimg.com/uu/api/res/1.2/_LvA_xP5hTgeXwPgGY3Vaw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/f2a11830-0c67-11ea-bdee-2d0817fc8570'] +Wed, 20 Nov 2019 22:19:39 -0500 Gabbard and Harris clash over visions for the Democratic Party https://news.yahoo.com/tulsi-gabbard-kamala-harris-clash-democratic-debate-031939352.html At the Democratic debate in Atlanta on Wednesday, Rep. Tulsi Gabbard of Hawaiiand Sen. Kamala Harris of California clashed over their differing visions forthe party, particularly when it comes to foreign policy. ['https://news.yahoo.com/tulsi-gabbard-kamala-harris-clash-democratic-debate-031939352.html', 'http://l2.yimg.com/uu/api/res/1.2/BVMM7lYcyyPjRShYHzIJWw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/0b0ad970-0c0d-11ea-bf7e-115b57c10a59'] +Thu, 21 Nov 2019 06:55:32 -0500 A mother who claims Hunter Biden fathered her child went public with a DNAtest because he stopped paying child support, lawyers say https://news.yahoo.com/mother-claims-hunter-biden-fathered-115532081.html "A court filing in Arkansas on Tuesday stated that Hunter Biden had ""withscientific certainty"" fathered a child with Lunden Alexis Roberts. " ['https://news.yahoo.com/mother-claims-hunter-biden-fathered-115532081.html', 'http://l.yimg.com/uu/api/res/1.2/BI6ztflxJlXE2gp9nIpRAg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/357c472525b1b0d1f0f72846ac9ed2c0'] +Tue, 19 Nov 2019 22:33:18 -0500 Seller of bullets to Las Vegas gunman pleads guilty to ammo licensing offense https://news.yahoo.com/seller-bullets-las-vegas-gunman-221224268.html Douglas Haig, 57, of Mesa, Arizona, became the first and only person arrestedand charged in connection with the Oct. 1, 2017, massacre, which ended whenthe gunman, Stephen Paddock, killed himself. Haig told reporters following hisarrest early last year that none of the surplus military ammunition he sold toPaddock in September 2017 was ever fired during the killing spree, which ranksas the deadliest mass shooting in modern U.S. history. ['https://news.yahoo.com/seller-bullets-las-vegas-gunman-221224268.html', 'http://l1.yimg.com/uu/api/res/1.2/If3Su21CslVfEk9o4jr_iQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/c07a229f9c79fa757c83531dba58a322'] +Wed, 20 Nov 2019 14:19:02 -0500 American Airlines admits a midair accident that knocked out 2 flight crew wasnot caused by spilled soap https://news.yahoo.com/american-airlines-admits-midair-accident-191902211.html American Airlines admitted Tuesday the powerful fumes that knocked two flightattendants unconscious and forced a flight to make an emergency landing werenot caused by spilled soap, as the airline had previously claimed. ['https://news.yahoo.com/american-airlines-admits-midair-accident-191902211.html', 'http://l.yimg.com/uu/api/res/1.2/6.sZO.RzKk0ekzRwQjxzEg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318377-1574277411700.jpg'] +Wed, 20 Nov 2019 19:49:26 -0500 Lawsuit: US border officers questioned journalists at length https://news.yahoo.com/lawsuit-us-border-officers-questioned-004926618.html Five American journalists sued the U.S. government Wednesday, alleging borderauthorities violated their First Amendment rights by inspecting their camerasand notebooks and questioning them extensively about their coverage of lastyear’s migrant caravan. The lawsuit filed by the American Civil LibertiesUnion recounts the experiences of the freelance photographers and seeks totest the limits of U.S. officials’ broad authority to question anyone,including journalists, entering the country. While KNSD, the NBC affiliate inSan Diego, reported on the existence of the dossier in March, the journalistshave never shared such detailed accounts of how they were treated by U.S. andMexican officials. ['https://news.yahoo.com/lawsuit-us-border-officers-questioned-004926618.html', 'http://l1.yimg.com/uu/api/res/1.2/cHLH7fVNc5XchvWlZVWfPw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/49996ac36c2f3cca4a536b63e3c858b6'] +Wed, 20 Nov 2019 17:13:19 -0500 Mexicans sue Walmart over El Paso shooting https://news.yahoo.com/mexicans-sue-walmart-over-el-paso-shooting-185938190.html "Mexico's government said Wednesday it has helped 10 Mexican citizens filelawsuits against Walmart over an August shooting at a store in El Paso, Texas,where a suspected white nationalist killed 22 people. ""The objective of thesesuits, presented in El Paso county, is to hold the company responsible for nottaking reasonable and necessary measures to protect its clients from theattack,"" the foreign ministry said in a statement. Eight Mexicans were killedand eight wounded in the August 3 attack in El Paso, a city on the US-Mexicanborder where 83 percent of the population is Latino. " ['https://news.yahoo.com/mexicans-sue-walmart-over-el-paso-shooting-185938190.html', 'http://l1.yimg.com/uu/api/res/1.2/1NUZ55i2I3XXwUakwDXh7Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/72f026b1846d063d466939a26a2cbd8323107404.jpg'] +Thu, 21 Nov 2019 03:59:41 -0500 Delisting Chinese Firms From U.S. Is a ‘Terrible Idea,’ Hank Paulson Says https://news.yahoo.com/delisting-chinese-firms-u-terrible-085941467.html (Bloomberg) -- Terms of Trade is a daily newsletter that untangles a worldembroiled in trade wars. Sign up here. Former U.S. Treasury Secretary HankPaulson said calls to oust Chinese companies from American stock indexes wascontrary to the foundations of capitalism, as he warned against the dangers ofdecoupling the world’s two largest economies.Paulson, who’s now chairman ofthe Paulson Institute, told Bloomberg’s New Economy Forum in Beijing thatmoves to reduce ties between the U.S. and China would weaken Americanleadership and New York’s leading role in finance. He said less cooperationbetween Washington and Beijing would also make it more difficult to tackleanother financial crisis like the one he was forced to manage as treasurysecretary in 2008.“When the next crisis comes -- and a crisis will come,because financial crises are inevitable -- we will regret it if we lackmechanisms for the world’s first and second-largest economies to coordinate,”Paulson told the forum on Thursday, according to a prepared version of hisremarks.Paulson’s speech followed on from his warning at the same forum lastyear that an “economic iron curtain” was descending between the U.S. andChinese economies. Since then, the relations between the two sides have growneven more strained by trade disputes, security spats and disagreement overhuman rights.The Trump administration has been pressuring allies to stop usingChinese technology. U.S. officials are also discussing ways to limit Americaninvestors’ portfolio flows into China, Bloomberg News reported in September,citing people familiar with the internal deliberations.The U.S. Treasury saidthat there was no plan “at this time” to block Chinese companies from listingon U.S. stock exchanges.“Decoupling China from U.S. markets by delistingChinese firms from US exchanges is a terrible idea,” Paulson said. “So isforcing Chinese equities out of the MSCI indexes. It is simply contrary to thefoundations of successful capitalism for politicians and bureaucrats toinstruct private American players how to deploy private capital for privateends.”The New Economy Forum is being organized by Bloomberg Media Group, adivision of Bloomberg LP, the parent company of Bloomberg News.\\--Withassistance from Karen Leigh.To contact Bloomberg News staff for this story:Peter Martin in Beijing at pmartin138@bloomberg.netTo contact the editorsresponsible for this story: Brendan Scott at bscott66@bloomberg.net, JamesMaygerFor more articles like this, please visit us at bloomberg.com©2019Bloomberg L.P. ['https://news.yahoo.com/delisting-chinese-firms-u-terrible-085941467.html', 'http://l2.yimg.com/uu/api/res/1.2/jdKhXVX6T2tZO52IjAfsrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/1b2bdbb22ddaea8c7bfdbd8c706bdc36'] +Wed, 20 Nov 2019 19:00:00 -0500 Why Did Russia Launch 8 Submarines All at Once? https://news.yahoo.com/why-did-russia-launch-8-000000807.html A major war game. ['https://news.yahoo.com/why-did-russia-launch-8-000000807.html', 'http://l1.yimg.com/uu/api/res/1.2/G56bhqpn22wP7lRn1NvuIw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/cdeb63464579ea5a60f6d7721c8dae4a'] +Wed, 20 Nov 2019 20:54:24 -0500 House Democrats ponder expanding impeachment probe after Sondland 'gamechanger' testimony https://news.yahoo.com/house-democrats-ponder-expanding-impeachment-probe-after-sondland-gamechanger-testimony-015424664.html Gordon Sondland’s explosive testimony Wednesday that “everyone was in theloop” on President Trump’s efforts to secure an investigation of a politicalrival prompted rank-and-file Democrats to discuss whether it was time toexpand their probe. ['https://news.yahoo.com/house-democrats-ponder-expanding-impeachment-probe-after-sondland-gamechanger-testimony-015424664.html', 'http://l1.yimg.com/uu/api/res/1.2/zxgigTR7dbw_oCJ8R3Kb3Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/6b659bc0-0bc7-11ea-ad5a-ad1d24864be6'] +Thu, 21 Nov 2019 15:21:37 -0500 Fiona Hill put out fire in her hair with her hands before finishing test,Trump impeachment inquiry hears https://news.yahoo.com/fiona-hill-put-fire-her-202137570.html A witness in the impeachment probe has told Congress that when she was aschoolgirl her pigtails were set on fire by a boy during an exam – and thatshe put the flames out herself before finishing.British-born Fiona Hill wasasked about the incident while giving evidence to members of the HouseIntelligence Committee after it was raised by Democrat Jackie Speier. ['https://news.yahoo.com/fiona-hill-put-fire-her-202137570.html', 'http://l2.yimg.com/uu/api/res/1.2/l0bMxPejzDmc9aiVAHq.eg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/85dfe17b9aacd4fe0236a21fdfb0a79f'] +Thu, 21 Nov 2019 10:41:28 -0500 Russia 'ruined' Ukrainian naval vessels before handing them back, saysUkrainian navy https://news.yahoo.com/russia-ruined-ukrainian-naval-vessels-154128478.html "Three Ukrainian navy boats seized by Russia a year ago were vandalised beforebeing handed back to Ukraine, the country's navy said. The fast gunboatsNikopol and Berdyansk and the tugboat Tany Kapu were welcomed by Ukrainianpresident Volodymyr Zelenskiy and onlookers waving national flags arrived inOchakiv, a Ukrainian naval port on the Black Sea on Wednesday evening. ButUkraine's navy said the vessels had been stripped bare and left so badlydamaged that they had to be towed home by tug. ""The Russians ruined them,""said Admiral Ihor Voronchenko, the head of the Ukrainian Navy. ""They even tookthe ceiling lights, plug sockets, and lavatories,"" he said. Mr Zelenskiy, whoreviewed the vessels as they returned on Thursday morning, said: ""I am veryhappy that our navy vessels are back where they belong. As promised, we havebrought back our sailors and our ships. ""Some of the equipment is missing, aswell as some weapons. There will be an investigation. We will see all of thedetails."" Russia blocked the Kerch strait with a tanker and deployed fighterjets to stop the three vessels entering the Azov Sea last year Credit: PavelRebrov/Reuters Russia's Federal Security Service (FSB), which oversees theborder service that seized the vessels, denied tampering with the ships andsaid they had been ""handed over to the Ukrainian side in normal condition.""The three vessels were boarded by Russian forces after they tried to passthrough the Strait of Kerch in November last year. Russia says they illegallyviolated the Russian border, then impounded the vessels and jailed 24 crewmembers pending trial. Ukraine described the move as an act of war and aflagrant breach of the treaty that gives the countries joint sovereignty ofthe only channel between the Black and Azov seas. Mr Zelenskiy said the returnof the boats as the latest in a series of small steps ""towards peace"" ahead ofa key summit with Vladimir Putin next month. Mr Zelenskiy inspects theartillery boat Nikopol Credit: Arkhip Vereshchagin/TASS The two presidentswill meet in person for the first time in Paris on December 9, at talksbrokered by France and Germany that are designed to end the conflict in eastUkraine, which has killed 13,000 people since 2014. In September the ships'crews were released in a prisoner swap that also saw Russia free Oleg Sentsov,a Ukrainian filmmaker and activist who had been held on trumped-up chargessince the annexation of Crimea in 2014. The sides have also agreed to pullback troops from key points on the line of contact in eastern Ukraine. Thenarrow sea way between Crimea and Russia's Taman peninsula is the only passagefor ships sailing to and from Ukraine's industrial port of Mariupol, to whichthe flotilla was bound when it was seized. Russia annexed Crimea from Ukrainein 2014 and opened a bridge across the strait in 2017 in defiance of Ukrainianobjections. Mariupol is a few miles from the frontline where Ukrainian andRussian-directed separatist forces have been fighting a static war for fiveyears. " ['https://news.yahoo.com/russia-ruined-ukrainian-naval-vessels-154128478.html', 'http://l.yimg.com/uu/api/res/1.2/7PCJpc3XHTES5sxRi9eX2Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/d470c8d6113018f4a2c3e18b14c8dad7'] +Tue, 19 Nov 2019 16:51:33 -0500 Rep. Ilhan Omar Asks Judge for 'Compassion' When Sentencing Man Who ThreatenedHer Life https://news.yahoo.com/rep-ilhan-omar-asks-judge-215133778.html 'A lengthy prison sentence or a burdensome financial fine would notrehabilitate him,' Rep. Omar wrote ['https://news.yahoo.com/rep-ilhan-omar-asks-judge-215133778.html', 'http://l2.yimg.com/uu/api/res/1.2/ud6iaBtdA2J8mDYDbDiZyA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/9ab991d2b3842067e44d331e064d2ef1'] +Wed, 20 Nov 2019 09:34:10 -0500 American Airlines admitted a mid-air accident that knocked out 2 flight crewand forced an emergency landing was not caused by spilled soap https://news.yahoo.com/american-airlines-admitted-mid-air-125912217.html On October 21 a flight from London to Philadelphia was forced to land inDublin, Ireland, when two staff members were knocked unconscious. ['https://news.yahoo.com/american-airlines-admitted-mid-air-125912217.html', 'http://l.yimg.com/uu/api/res/1.2/6Rpz7_hqLen68FcAhPKXqA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/89cf519ed0be8bd228ee32b3f676c448'] +Thu, 21 Nov 2019 13:30:49 -0500 Billionaire Michael Bloomberg files paperwork to run for U.S. president https://news.yahoo.com/billionaire-michael-bloomberg-files-paperwork-183049117.html Billionaire Michael Bloomberg filed paperwork on Thursday with the FederalElection Commission to run for U.S. president as a Democrat, the latest signthat the former New York City Mayor is joining the crowded nominating contest.The filing allows Bloomberg to raise money in a bid for the White House, butan aide said on Thursday that no final decision on whether he will run hasbeen made. Bloomberg, 77, has signaled that he plans a late-entry in theDemocratic primary, suggesting he feels the field of nearly 20 candidates isvulnerable. ['https://news.yahoo.com/billionaire-michael-bloomberg-files-paperwork-183049117.html', 'http://l2.yimg.com/uu/api/res/1.2/9YEXomIX6vQ3otYlVNw7zg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/01a800394ef0321ec3788d173b15e81b'] +Thu, 21 Nov 2019 08:00:00 -0500 20 of the Most Beautiful Bridges in the World https://news.yahoo.com/17-most-beautiful-bridges-world-153143264.html ['https://news.yahoo.com/17-most-beautiful-bridges-world-153143264.html'] +Thu, 21 Nov 2019 01:19:41 -0500 Nearly ¾ of transgender people slain since 2017 killed with guns https://news.yahoo.com/nearly-3-4-transgender-people-041755755.html """Transgender violence is a gun violence issue,"" says Everytown for Gun Safetyresearcher " ['https://news.yahoo.com/nearly-3-4-transgender-people-041755755.html', 'http://l1.yimg.com/uu/api/res/1.2/B9AMNJlsmzb3m0Gv4u9ywQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/aedd790bd6e2e32d9182e5a88f281c52'] +Thu, 21 Nov 2019 06:34:33 -0500 'Don't let them in': Arrests made as hundreds protest Ann Coulter speech at UCBerkeley https://news.yahoo.com/dont-let-them-arrests-made-113433476.html Coulter was invited to the California university by the Berkeley CollegeRepublicans for a speech about immigration called 'Adios, America.' ['https://news.yahoo.com/dont-let-them-arrests-made-113433476.html', 'http://l.yimg.com/uu/api/res/1.2/dleAYKhqCBxOjtgUtgTOWA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/6399782a48097ea7a892fc0605bf35b0'] +Wed, 20 Nov 2019 20:26:09 -0500 GOP claim that Trump cares about corruption takes a hit at impeachment hearing https://news.yahoo.com/gop-claim-that-trump-cares-about-corruption-takes-a-hit-at-impeachment-heaing-012609516.html Rep. Jim Himes, D-Conn., took issue with a defense of President Trump floatedby Rep. John Ratcliffe, R-Texas. ['https://news.yahoo.com/gop-claim-that-trump-cares-about-corruption-takes-a-hit-at-impeachment-heaing-012609516.html', 'http://l.yimg.com/uu/api/res/1.2/cpj4jzp35ZTzQ6ds8B1M0w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/64948b40-0bee-11ea-ad7c-1300326b62d1'] +Wed, 20 Nov 2019 16:53:33 -0500 White House and Trump campaign officials are reportedly 'freaking out' aboutSondland's testimony https://news.yahoo.com/white-house-trump-campaign-officials-215333247.html "White House aides and Trump campaign officials were ""freaking out"" after being""blindsided"" by European Union Ambassador Gordon Sondland's testimony onWednesday, which contained allegations of quid pro quo and pointed fingers atthe president and other top administration officials, CNN's Jim Acostareports.The White House had attempted to get an ""early peek"" at Sondland'sremarks during the jittery hours before the impeachment hearing began, due tothe perception that he was a ""wild card"" witness, The Washington Post reports.Sondland's attorney had refused those attempts.It became clear during thetestimony, though, that Sondland's confirmation that ""everyone was in theloop"" was bad news for Republicans, who pivoted to attempting to distanceTrump from what Democrats say was an attempt to pressure Ukraine into diggingup dirt on Hunter Biden, the son of his potential 2020 rival. Trump's campaignspecifically zeroed in on Sondland saying that Trump ""directly told him hewanted nothing from Ukraine,"" although Sondland did confirm that the requestsof Trump's personal lawyer and fixer Rudy Giuliani ""were a quid pro quo forarranging a White House visit"" for the Ukrainian president, and that ""Mr.Giuliani was expressing the desires of the president of the UnitedStates.""Trump campaign spokeswoman Kayleigh McEnany maintained that ""over andover we've heard from Democrats and the media that the next hearing, the nextwitness, the next testimony would be the bombshell they've been promising,only to have it fizzle out like all the rest. It has happened yet again."" ButKen Starr, the lead prosecutor during the Bill Clinton impeachment hearings,begs to differ: ""This obviously has been one of those bombshell days,"" he toldFox News.More stories from theweek.com CNN's Chris Cuomo struggles to disproveTrump tweet by awkwardly calling his mom live on the air Austria is turningsite of Hitler's birth into a police station to repel neo-Nazis Republicansare throwing Rudy Giuliani under the bus " ['https://news.yahoo.com/white-house-trump-campaign-officials-215333247.html'] +Thu, 21 Nov 2019 15:18:00 -0500 Google's Tour Builder Is a Great New Way to Make Your Friends Hate You https://news.yahoo.com/googles-tour-builder-great-way-201800273.html ['https://news.yahoo.com/googles-tour-builder-great-way-201800273.html'] +Tue, 19 Nov 2019 16:43:01 -0500 US aircraft carrier transits Strait of Hormuz https://news.yahoo.com/us-aircraft-carrier-transits-strait-hormuz-214301889.html "The US aircraft carrier strike group Abraham Lincoln sailed through the keyStrait of Hormuz on Tuesday to show Washington's ""commitment"" to freedom ofnavigation, the Pentagon said, amid tensions with Tehran. The group's movethrough the strategic waterway separating Iran and the United Arab Emiratestowards the Gulf was scheduled, and unfolded without incident, the US Navysaid in a statement. It was the first time a US aircraft carrier group wentthrough the strait since Iran downed a US drone in June in the same area. " ['https://news.yahoo.com/us-aircraft-carrier-transits-strait-hormuz-214301889.html', 'http://l.yimg.com/uu/api/res/1.2/bpElNdn76gEZGcPJSsvZGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/ec78382b5ce01aa8b177270ce80722f67ab6f69a.jpg'] +Thu, 21 Nov 2019 03:00:00 -0500 This Could Be the Royal Navy’s Next Destroyer https://news.yahoo.com/could-royal-navy-next-destroyer-080000064.html The Royal Navy may already have identified a possible replacement for its Type45 destroyers. A version of the new Type 26 frigate, which should enterservice with the U.K. fleet in the mid-2020s, ultimately could replace theair-defense-optimized Type 45s beginning in the 2030s. ['https://news.yahoo.com/could-royal-navy-next-destroyer-080000064.html', 'http://l2.yimg.com/uu/api/res/1.2/zglQl25ZG4ohbvOf2am1Jw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/7c7c9c8cfcc2cf805e38335c67b5e571'] +Thu, 21 Nov 2019 03:27:37 -0500 Russia opens investigation into space center fraud after Putin rebuke https://news.yahoo.com/russia-opens-investigation-space-center-082737719.html Russian investigators said on Thursday they had opened two criminal cases intothe management of a company involved in building the Vostochny Cosmodrome, aspace center in the country's Far East. The announcement came less than twoweeks after President Vladimir Putin complained to government officials aboutcorruption at the facility and called for further investigations. Constructionof the Vostochny Cosmodrome began in January 2011, part of a plan for Russiato reduce its dependency on the Baikonur Cosmodrome in Kazakhstan, whichRussia leases from the former Soviet Republic for space operations. ['https://news.yahoo.com/russia-opens-investigation-space-center-082737719.html', 'http://l.yimg.com/uu/api/res/1.2/8H6zmXQaHb_v7SuJ3t4Ciw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/19ca1d5ffc901a7aaaeac031d7544784'] +Wed, 20 Nov 2019 16:22:23 -0500 Climate activist’s remarks downplaying Holocaust spark anger https://news.yahoo.com/climate-activist-holocaust-remarks-spark-212223899.html A prominent British climate change activist sparked anger Wednesday afterappearing to downplay the Holocaust in an interview with a German newspaper.Roger Hallam, who co-founded the activist group Extinction Rebellion, told theGerman newspaper Die Zeit that the Nazis’ murder of 6 million Jews was merelyone of many genocides. ['https://news.yahoo.com/climate-activist-holocaust-remarks-spark-212223899.html', 'http://l2.yimg.com/uu/api/res/1.2/JeGNpiWU7bdVXhK4dSMKEg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/ef2e33804928a3bbb6d2e4330c502cd1'] +Wed, 20 Nov 2019 14:21:00 -0500 Expelled LSU Student Sentenced to Five Years in Fraternity Hazing Death https://news.yahoo.com/expelled-lsu-student-sentenced-five-192100905.html REUTERS/Sean GardnerThe former Louisiana State University student who wasfound guilty of negligent homicide for the hazing death of 18-year-old PhiDelta Theta pledge Max Gruver was sentenced to five years in prison onWednesday.Jurors reportedly took just one hour to convict Matthew Naquin inJuly. The 21-year-old Texas native was also sentenced to three years ofprobation and 1,000 hours of community service. The judge ordered Naquin towrite a letter of apology to the Gruver family, and for every year he is onprobation he must go to three separate high schools and give a one-hour talkabout hazing, according to WVLA-TV.He was expelled from LSU in the weeksfollowing Gruver’s death.Gruver died of alcohol poisoning andaspiration—choking on his own vomit—after a hazing ritual called “Bible Study”at the fraternity house on Sept. 13, 2017. During the ritual, prosecutors saidNaquin and other fraternity members ordered pledges to stand in a dark hallwayfacing a wall while loud music played; they were told to chug 190-proof liquorif they could not correctly answer questions about Phi Delta Theta, TheAdvocate reported.Witnesses reportedly testified during the trial that Naquin,whom authorities have said was a ringleader of the hazing ritual, targetedGruver that night because he didn’t want him to join the fraternity. Just twodays before Gruver’s death, fraternity brothers said they warned Naquin totone down his extreme and dangerous interactions with pledges, according tocourt documents and testimony during the trial.When he died, Gruver’s blood-alcohol level was 0.495 percent—more than six times the state’s legal limit todrive, according to the local newspaper. Another pledge had testified duringtrial that he believed Gruver “had not had much experience with drinking.” Atoxicology expert said on the stand that Gruver’s high blood-alcoholconcentration led to “sleep, coma and death.” “There was no way his body couldget through this,” said the expert, Patricia Williams. “He was a dead manwalking at midnight.”Naquin’s attorney, John McLindon, argued during the trialthat he was unfairly singled out by the prosecution and that Gruver continuedto drink on his own after the hazing event.“It was a hazing event, but therewere probably 10 other active members up there that night and at least five ofthem were handing out alcohol,” McLindon told The New York Times. “Matthewdidn’t do anything differently from those boys, but he got picked out becausehe is very loud.”But East Baton Rouge District Attorney Hillar Moore IIIcountered, in a separate interview with The Times, that Naquin “stood out”through the ferocity with which he tormented pledges that night.“Everyone keptsaying he was the one who led everything, who made people drink more, whoasked questions,” Moore said. “This is grain alcohol—this is 180-proof or190-proof alcohol. It is what they put tissue samples in to study them in alab, when you have to wear a hood.”Moore added: “We have never alleged thatthe defendant wanted him dead or wanted to kill him, but his actions led tothis young man’s death.”Naquin has been separately charged with obstruction ofjustice after federal agents say he deleted nearly 700 files from his phoneminutes after he learned from his attorney that a search warrant had beenissued for his device. The FBI never successfully recovered the files. He hasnot been tried yet on that charge.After the trial, Max’s mother, Rae AnnGruver, called the guilty verdict “justice for our son and for the man whocaused his death.” Gruver was from Roswell, a suburb of Atlanta.“We want thisto send a message to the country that hazing should not exist,” StephenGruver, Max's father, told The Advocate after the conviction. “It’s dangerousand we have to all work together to bring an end to hazing.”Three otherfraternity brothers face misdemeanor hazing charges in the case, two of whichhave pleaded no contest. Phi Delta Theta has been banned from LSU’s campusuntil 2033. The school also reportedly convened a task force to study Greeklife on campus in the aftermath of Gruver’s death.“Hazing is an irresponsibleand dangerous activity that we do not tolerate at LSU,” a spokesman for theschool said after the trial. “These tragedies, and the penalties that follow,can be prevented, and we have been working diligently to put more safeguards,education and reporting outlets in place for our students regardinghazing.”Read more at The Daily Beast.Got a tip? Send it to The Daily BeasthereGet our top stories in your inbox every day. Sign up now!Daily BeastMembership: Beast Inside goes deeper on the stories that matter to you. Learnmore. ['https://news.yahoo.com/expelled-lsu-student-sentenced-five-192100905.html', 'http://l.yimg.com/uu/api/res/1.2/q0glV5dBT05lisMGAklocw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/d4ce166c48b6d14ce0a182508ed2fd4c'] +Wed, 20 Nov 2019 22:14:09 -0500 Singapore ‘Repatriates’ Hongkonger Who Held Political Meeting https://news.yahoo.com/singapore-repatriates-hongkonger-held-political-031409468.html (Bloomberg) -- A Hong Kong resident living in Singapore has been “repatriated”home after organizing an illegal gathering of mostly ethnic Chinese last monthto talk about the ongoing protests, according to local mediareports.Restaurant owner Alex Yeung, along with a 55-year-old former Hong Kongresident, were issued a “stern warning” over what was said to be a gatheringof about 10 people sharing their views of the escalating protests, which is anoffense under the Public Order Act. Yeung, who has a Youtube channel oflargely pro-Beijing content was further instructed he would not be allowed toenter Singapore again without permission from the authorities.“Singapore hasalways been clear that foreigners should not advocate their political causesin Singapore, through public assemblies, and other prohibited means,” theSingapore Police Force told Channel News Asia late on Wednesday.Speaking fromSingapore’s Changi Airport on Thursday morning ahead of his flight, Yeung saidhe was now free to go where he pleased and thanked Singapore for upholding therule of law.Illegal Gatherings“The Singapore Police Force has made noindictment against me. I am warned to refrain from any criminal conduct in thefuture under their discretion,” he said in a video posted to YouTube.“Singapore is a very civilized country with very good security.”In 2017,Singapore revoked the permanent residency of prominent academic and Chinaexpert Huang Jing after he allegedly used his position to covertly advance theagenda of an unnamed foreign country at Singapore’s expense.Hong Kong has beengripped for days by the standoff at the city’s Polytechnic University, wherehard-core protesters remain surrounded by police. The unrest began in Junewith largely peaceful marches against legislation allowing extraditions tomainland China and have since mushroomed into a broader push for demandsincluding an independent probe into police violence and the ability tonominate and elect city leaders.Speaking to reporters on Monday, Singapore’sTrade and Industry Minister Chan Chun Sing warned a similar situation could“easily happen” in his country if the government is complacent. Underrestrictive laws, cause-related gatherings are illegal without a police permitand participants are subject to fines without it.\\--With assistance fromChester Yung.To contact the reporter on this story: Philip J. Heijmans inSingapore at pheijmans1@bloomberg.netTo contact the editors responsible forthis story: Ruth Pollard at rpollard2@bloomberg.net, Muneeza NaqviFor morearticles like this, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/singapore-repatriates-hongkonger-held-political-031409468.html', 'http://l1.yimg.com/uu/api/res/1.2/pIDa7VY6imQe9dajzRjS6w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d70d6fdd388107dc3f64126ecc7878d9'] +Tue, 19 Nov 2019 19:12:56 -0500 Dem lawmaker says it's his 'mission' to have Trump removed from office https://news.yahoo.com/dem-lawmaker-says-its-his-mission-to-have-trump-removed-from-office-001256131.html “It’s about what he’s doing to our country and how he is corrupting oursociety,” said Rep. Al Green. ['https://news.yahoo.com/dem-lawmaker-says-its-his-mission-to-have-trump-removed-from-office-001256131.html', 'http://l.yimg.com/uu/api/res/1.2/_864JEKv_skcnNYCnmjFrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/f0d235a0-0ae8-11ea-a6af-7c1d7996472e'] +Thu, 21 Nov 2019 08:48:44 -0500 DNC Drops Lackluster Fundraising Numbers During Dem Debate https://news.yahoo.com/dnc-drops-lackluster-fundraising-numbers-134844527.html "The Democratic National Committee released its fundraising numbers during thepresidential primary debate on Wednesday night, revealing that the committeelags far behind Republicans in funding for the 2020 elections.The DNC has $8.7million in cash on hand, but it is $7 million in debt, according to itsOctober Federal Election Commission filing. The Republican National Committee,meanwhile, had raised $156 million and had $61.4 million cash on hand as ofthe end of October.However, it was noted that the DNC is competing fordonations with a wide field of presidential candidates, ten of whichparticipated in Wednesday night's primary debate. At this point in 2011, whenformer president Barack Obama stood for reelection, the DNC had raised roughly$150 million.Bernie Sanders revealed he had personally raised $25.3 millionover the past three months, leading Democratic presidential candidates infundraising. Pete Buttigieg raised $19.1 million over the same period,followed by Kamala Harris with $11.6 million. Joe Biden and Elizabeth Warrenhaven't yet released their fundraising numbers.The RNC has used the Democrats'impeachment inquiry against President Trump to great effect in its fundraisingefforts, receiving record-breaking levels of donations in October andSeptember with its ""Stop the Madness"" campaign.""While Democrats are focused ontheir sham impeachment charade, Republicans had another record-breakingfundraising month in October — the best off-cycle October in our party’shistory,"" RNC Chairwoman Ronna McDaniel told the Washington Examiner. ""In2020, voters will choose results over the Democrats’ polarizing politicalrhetoric, and the RNC is in the strongest position possible to reelectPresident Trump and Republicans up-and-down the ballot.""The RNC has been usingsome of its funds to help House Republicans seeking to topple Democrats invulnerable districts. " ['https://news.yahoo.com/dnc-drops-lackluster-fundraising-numbers-134844527.html', 'http://l.yimg.com/uu/api/res/1.2/_x8Q7NOu92Id_TQ7Uk.i1A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/340121713e96b577808673b3bbe7366d'] +Wed, 20 Nov 2019 18:00:47 -0500 Indiana officer fired after telling black men he had the right 'to do anythingI want' https://news.yahoo.com/indiana-officer-fired-telling-black-230047730.html "The viral video, which has more than 450,000 views, shows the constableyelling ""I got my rights to do anything I want to do! I'm a police officer!"" " ['https://news.yahoo.com/indiana-officer-fired-telling-black-230047730.html'] +Thu, 21 Nov 2019 12:22:44 -0500 Dozens of dogs tested in French search for woman's forest killers https://news.yahoo.com/dozens-dogs-tested-french-search-womans-forest-killers-170750502.html French police investigating the death of a pregnant woman mauled to death bydogs while walking in the woods have carried out DNA tests on 67 dogs to tryidentify those that attacked her, investigators said Thursday. Elisa Pilarski,29, was found dead on Saturday in Retz forest about 90 kilometres (55 miles)northeast of Paris. A deer hunt with hounds was underway in the forest wherePilarski, a dog lover, was walking her own American Staffordshire terrier. ['https://news.yahoo.com/dozens-dogs-tested-french-search-womans-forest-killers-170750502.html', 'http://l2.yimg.com/uu/api/res/1.2/clMntQNGhPcOVFbvpLKMdA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/35979d18e6d21ee069f1f2f0f509fabfd97630d2.jpg'] +Thu, 21 Nov 2019 03:30:00 -0500 Is China’s DF-17 Hypersonic Missile Really a Super-Weapon? https://news.yahoo.com/china-df-17-hypersonic-missile-083000115.html China’s new DF-17 hypersonic missile could penetrate U.S. missile-defense anddestroy ports and air-defense systems, a Hong Kong newspaper warned. ['https://news.yahoo.com/china-df-17-hypersonic-missile-083000115.html', 'http://l2.yimg.com/uu/api/res/1.2/j_cUcmqQ.5voHTWZgWA0mQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/05a37c24e191751b8aec237d8464c7ee'] +Wed, 20 Nov 2019 07:43:58 -0500 Pompeo planning to resign over Trump, report claims https://news.yahoo.com/pompeo-planning-resign-over-trump-124358790.html Secretary of State Mike Pompeo has reportedly told three prominent Republicansthat he is planning to resign from the White House to run for a Senate seat. ['https://news.yahoo.com/pompeo-planning-resign-over-trump-124358790.html', 'http://l1.yimg.com/uu/api/res/1.2/aSqmTtNZ426mNDqetAG8WQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318299-1574253567117.jpg'] +Wed, 20 Nov 2019 02:28:28 -0500 Son of former German president stabbed to death in Berlin https://news.yahoo.com/son-former-german-president-stabbed-072828350.html The son of former German president Richard von Weizsaecker was stabbed todeath while he was giving a lecture at a hospital in Berlin where he worked asa head physician, police said Wednesday. A 57-year-old German man is incustody after he jumped up from the audience at the Schlosspark-Klinik andattacked Fritz von Weizsaecker with a knife on Tuesday evening. VonWeizsaecker died at the scene from a knife wound to the neck despite immediateattention from colleagues, said Martin Steltner, a spokesman for Berlinprosecutors. ['https://news.yahoo.com/son-former-german-president-stabbed-072828350.html', 'http://l.yimg.com/uu/api/res/1.2/8bn4VuJBRJUIW6DLNOzBUQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/ea51ea088c8150af8ff094ba9d9603b0'] +Wed, 20 Nov 2019 09:34:48 -0500 Former Baltimore mayor charged with wire fraud over 'Healthy Holly' book sales https://news.yahoo.com/former-baltimore-mayor-charged-wire-143448076.html "Former Baltimore Mayor Catherine Pugh was charged on Wednesday with wire fraudand tax evasion relating to sales of her self-published ""Healthy Holly""children's book to charities where she worked, federal prosecutors said. Thecharges against the Democrat and former state lawmaker relate to her dealingswith the University of Maryland Medical System, where she was a board member,and which paid her for her children's books. Pugh, 69, who initially defendedthe arrangement, called it a “regrettable mistake” in March and resigned inMay. " ['https://news.yahoo.com/former-baltimore-mayor-charged-wire-143448076.html', 'http://l1.yimg.com/uu/api/res/1.2/crao79dX_sTUoC5gZp2aZQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/34bfbd957bcea92a3baf1b53baf85c3e'] Tue, 19 Nov 2019 18:04:00 -0500 7 Amazing Facts About Jaguars, One of the World's Coolest Cats https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html ['https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html'] -Tue, 19 Nov 2019 21:01:02 -0500 Alexandria Ocasio-Cortez calls for ousting White House adviser Stephen Milleras a 'white supremacist' https://news.yahoo.com/alexandria-ocasio-cortez-calls-for-ousting-white-house-adviser-stephen-miller-as-a-white-supremacist-020102025.html Ocasio-Cortez described Millers presence as one of the more disturbingaspects of the Trump administration. She is among many Democrats who havecalled for Millers removal. ['https://news.yahoo.com/alexandria-ocasio-cortez-calls-for-ousting-white-house-adviser-stephen-miller-as-a-white-supremacist-020102025.html', 'http://l.yimg.com/uu/api/res/1.2/2Qp2hTcB8nvmwcM0_Ev3ww--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/fdba6c20-0b00-11ea-9ecb-bf452d87d58d'] -Wed, 20 Nov 2019 00:10:22 -0500 Jimmy Kimmel Unloads on Donald Trump Jr. for Smearing Alexander Vindman https://news.yahoo.com/jimmy-kimmel-unloads-donald-trump-051022605.html Jimmy Kimmel said Tuesday night that the way Republicans treated impeachmenthearing witness Lt. Col. Alexander Vindman was embarrassing even for them.They tried to smear the recipient of a Purple Heart, the late-night hostsaid, to protect a president who doesnt even have a red one. Kimmel firstzeroed in on Republican Congressman Jim Jordan, who not only implied thatVindman was a leaker but also that he had questionable judgement. He thenadded, You know, questionable judgement, like say if you were a wrestlingcoach and the team doctor was abusing your wrestlers. And you knew about itbut you didnt say anything. Thats questionable judgement, right, JimJordan?But as always, Kimmel saved his sickest burns for the presidentsthird favorite son. During the hearing, Donald Trump Jr. tweeted, Anyonelistening to Vindman stammer through this seemingly trying to remember theCatch Phrases he was well coached on should get that. Hes a low levelpartisan bureaucrat and nothing more. Thats right, the slicked-back spermsample who never served anybody is questioning the integrity of a lieutenantcolonel with a Purple Heart, Kimmel shot back. Daddy Bone Spurs must be veryproud of him. But thats their strategy, he continued, turning more seriousthan usual. The goal of the Republicans is to smear them, to confuse us, tobore us, to question the loyalty and patriotism of lifelong civil servants andeven members of our military, whove served heroically. They are intentionallydamaging these Americans to protect the lowlife they know is a lowlife, butthey also know that defending him makes them popular amongst a certain group.So they do it anyway. Read more at The Daily Beast.Get our top stories inyour inbox every day. Sign up now!Daily Beast Membership: Beast Inside goesdeeper on the stories that matter to you. Learn more. ['https://news.yahoo.com/jimmy-kimmel-unloads-donald-trump-051022605.html', 'http://l.yimg.com/uu/api/res/1.2/b4DuPDp89rxtD8Svrw9rjw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/b18ab4125d5b98bdadb4b46659e5f57b'] -Tue, 19 Nov 2019 08:43:10 -0500 Fire magicians and medieval weaponry: a Hong Kong university under siege https://news.yahoo.com/fire-magicians-medieval-weaponry-hong-134310453.html For three days last week, anti-government protesters camped out at Hong Kong'ssprawling Polytechnic University prepared for what they feared might be abloody, even deadly, battle with police. In the university's heart, litteredwith smashed glass and covered in revolutionary graffiti spray-painted on thewalls, the black-clad demonstrators in gas masks sawed metal poles into batonsand practiced firing rocks from a makeshift catapult. Nearby, others ferriedaround crates of petrol bombs and wrapped arrows in cloth to set aflame. ['https://news.yahoo.com/fire-magicians-medieval-weaponry-hong-134310453.html', 'http://l.yimg.com/uu/api/res/1.2/mBogOOoTG8Xh.mo5vIukAw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/85f93b08d9cab2c070f917d49aaa4265'] -Tue, 19 Nov 2019 05:47:50 -0500 A Saudi Arabian princess and rights activist who 'fell off the radar' in late2018 is reportedly detained under house arrest with 24/7 surveillance https://news.yahoo.com/saudi-arabian-princess-rights-activist-104750986.html Sources close to Princess Basmah told Deutsche Welle that Saudi authoritiesstopped her travelling to Europe for urgent medical care in December 2018. ['https://news.yahoo.com/saudi-arabian-princess-rights-activist-104750986.html', 'http://l.yimg.com/uu/api/res/1.2/kFedUuwjqIyhJ5RljpNzrw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/00d6a03a74fef76c309fb5c6660557cb'] -Wed, 20 Nov 2019 05:31:01 -0500 Israel to host largest event ever focused on anti-Semitism https://news.yahoo.com/israel-host-largest-event-ever-103101072.html Israeli officials announced Wednesday that dozens of world leaders will arrivein Jerusalem for the largest-ever gathering focused on combatting anti-Semitism amid a global spike in violence against Jews. Israeli PresidentReuven Rivlin said the fifth World Holocaust Forum in January will coincidewith the 75th anniversary of the liberation of the Auschwitz death camp.Russian President Vladimir Putin, French President Emmanuel Macron and thepresidents of Germany, Italy and Austria are among the more than 30 heads ofstate who have already confirmed their participation. ['https://news.yahoo.com/israel-host-largest-event-ever-103101072.html'] -Tue, 19 Nov 2019 11:40:00 -0500 10 Things We Want to Leave Behind in the 2010s https://news.yahoo.com/10-things-want-leave-behind-164000711.html ['https://news.yahoo.com/10-things-want-leave-behind-164000711.html'] -Tue, 19 Nov 2019 06:52:40 -0500 Chinese bishop 'on the run' after refusing to join state-sanctioned church https://news.yahoo.com/chinese-bishop-run-refusing-join-115240747.html A Catholic bishop in China is believed to be on the run from state securityafter refusing to bring his church under a government-sanctioned religiousassociation. Guo Xijin, 61, has fled the custody of state agents and has goneinto hiding, reported Catholic Asia News, a website, and cannot be immediatelyreached for comment. Mr Guo is part of a group of bishops that many religiousand human rights experts feared would be persecuted after the Vatican inked adeal with Beijing last year on the ordaining bishops. China has long insistedthat it approve appointments, clashing with absolute papal authority to pickbishops. The agreement broke that standoff, and could help pave the way forformal diplomatic ties, but also stoked worries that the Chinese state wouldhave too much power to regulate religion. Since Communism took hold in China,there have been in practice two Catholic churches - one sanctioned by thegovernment, and an underground one loyal to the Vatican, and it remainsunclear what would happen to bishops who refused to fall in line with thegovernment. Chinas officially atheist Communist Party has engaged in awidespread crackdown on religion in the last few years. Authorities havebanned Arab-style onion domes on mosques and other buildings even if merelydecorative. The UN estimates more than a million Muslims have been detained inchilling re-education camps, where former detainees have told The Telegraphthey were subject to physical torture, psychological intimidation andpolitical indoctrination. The government has shut down churches not sanctionedby the Party, detaining priests and members of various congregations. Andhouses of worship, including Buddhist temples, are now mandated to havepictures of Xi Jinping, the leader of the Party. Chinese authorities claimthat people have freedom of religion provided that they worship in state-sanctioned temples, churches, and mosques. The government has said that allreligious believers must be subordinate to and serve the overall interests ofthe nation and the Chinese people, making it explicit that they must alsosupport the leadership of the Chinese Communist Party. ['https://news.yahoo.com/chinese-bishop-run-refusing-join-115240747.html', 'http://l.yimg.com/uu/api/res/1.2/icztvzV7SWTUYxCQZuFiWQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/893ccf20b81f6b70cfc5fb4a26512e97'] -Mon, 18 Nov 2019 17:00:00 -0500 The Fighter Planes Iran Desperately Wants (This Picture Is a Clue) https://news.yahoo.com/fighter-planes-iran-desperately-wants-220000100.html But no one is selling. ['https://news.yahoo.com/fighter-planes-iran-desperately-wants-220000100.html', 'http://l.yimg.com/uu/api/res/1.2/HX0vn8i6RneFRoZVJap0Uw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/0d47f814a25bbe6fc0ca4c1d4330e3e6'] -Tue, 19 Nov 2019 14:59:37 -0500 Passenger dies after fall from balcony on Carnivals Horizon during cruise https://news.yahoo.com/passenger-dies-fall-balcony-carnival-221819817.html A man fell from a balcony to a deck below on the Carnival Horizon cruise shipas it was returning to port in Miami, officials say. ['https://news.yahoo.com/passenger-dies-fall-balcony-carnival-221819817.html'] -Tue, 19 Nov 2019 20:43:10 -0500 Trump impeachment: US military officer on Trump 'bribery' says conversationwas 'inappropriate' https://news.yahoo.com/trump-impeachment-us-military-officer-014310206.html A decorated US military officer, his chest shining with medals, has testifiedthat Donald Trumps controversial phone call with the leader of Ukraine wasboth inappropriate and improper, and that he reported his concernsimmediately.Lt Col Alexander Vindman, 44, whose family moved to the US fromthe Soviet Union four decades ago, emotionally told an impeachment hearingthat he felt empowered to speak out, and to even challenge the most powerfulman in the world, because of the soil on which he was standing. ['https://news.yahoo.com/trump-impeachment-us-military-officer-014310206.html', 'http://l.yimg.com/uu/api/res/1.2/Lg.58DhyUXNEogWChkBqTA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/2f1b1980d038ecc676434c0a763d5a77'] -Tue, 19 Nov 2019 02:42:16 -0500 In northeast Syria, last Assyrians fear Turkish advance https://news.yahoo.com/northeast-syria-last-assyrians-fear-turkish-advance-074216737.html Since fleeing her hometown in northeastern Syria, Suad Simon prays every dayfor the safety of her husband, who stayed behind with other fighters to defendtheir majority-Assyrian village. Assyrian Christians like Simon, who escapedthe town's occupation by the Islamic State group in 2015 and did not choose toemigrate, now anxiously watch the advance of Turkish forces towards theirvillages in the south of Hasakeh province. Simon, 56, fled her village of TalKefji that is not far from areas still hit by sporadic fighting and soughtrefuge with a relative in Tal Tamr to the south. ['https://news.yahoo.com/northeast-syria-last-assyrians-fear-turkish-advance-074216737.html', 'http://l.yimg.com/uu/api/res/1.2/2TxOb0tmtCCakZK6E0VKKA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/3ff7afac8f2a43a4228cf8a8270eeeaf653ec016.jpg'] -Tue, 19 Nov 2019 14:42:11 -0500 UPDATE 3-Dutch find 25 migrants in refrigerated container on UK-bound ferry https://news.yahoo.com/1-dutch-26-migrants-alive-194211013.html Dutch authorities found 25 migrants stowed away on a cargo ferry bound forBritain shortly after it left the Netherlands on Tuesday and the vesselquickly returned to the Dutch port of Vlaardingen, emergency services said.Two of the migrants were taken to hospital for treatment while the other 23received a medical check-up in the port before being taken away by police forprocessing, according to a statement posted on the website of regionalemergency services. Authorities found the migrants in a refrigerated containeron a truck aboard the ferry, the statement said. ['https://news.yahoo.com/1-dutch-26-migrants-alive-194211013.html'] -Tue, 19 Nov 2019 10:30:10 -0500 EU Poised to Send Warning to China on 5G https://news.yahoo.com/eu-poised-send-warning-china-133252152.html (Bloomberg) -- The European Union is poised to say potential 5G suppliers willbe evaluated based on their home countrys laws, a stance that could excludeChinese businesses from some lucrative contracts for the advancedtelecommunications networks.Factors, such as the legal and policy frameworkto which suppliers may be subject to in third countries, should beconsidered, according to a draft of a joint statement obtained by Bloombergand planned for release next month. The document is due to be approved on aninformal basis this week by government envoys with formal sign off byministers due in December, and the wording is subject to changes.The EUstatement outlines the blocs position following a risk assessment thatdescribed a nightmare scenario where hackers or hostile states could takecontrol of everything from electricity grids to police communications. Itwarned against reliance on suppliers from countries with non-democraticsystems of government.U.S. and European officials have repeatedly flaggedconcerns about partnering with Chinese equipment makers, such as HuaweiTechnologies Co., for 5G networks. Chinese companies are obliged to assist thecountrys national intelligence organization in their investigations, thoughChinese officials and Huawei have said there are exceptions to those rules andthe company wouldnt necessarily be forced to do so.U.S. Secretary of StateMike Pompeo tweeted on Tuesday that the EUs risk assessment report highlightshow nations should install 5G equipment and software only from companies thatwont threaten their security, privacy, intellectual property, or humanrights.Key parts of the next-generation infrastructure such as componentscritical for national security, will only be sourced from trustworthyparties, according to the draft statement of EU governments. The 5G build outshould be firmly grounded in the core values of the EU, such as human rightsand fundamental freedoms, rule of law, protection of privacy, personal dataand intellectual property, in the commitment to transparency.A spokesman forthe EUs Council declined to comment on the content of the draftcommunique.German StanceEuropean countries have the ultimate say whether ornot to ban a supplier from their national networks for security reasons.German Chancellor Angela Merkel has decided to let Huawei supply some gear aslong as the company fulfills certain security standards, despite intensepressure from her own party for an outright ban.The draft also stresses theneed to diversify suppliers in order to avoid or limit the creation of a majordependency on a single supplier as well as the importance of Europeantechnological sovereignty and promoting globally the EU approach to cybersecurity.Besides Huawei, Europes Nokia Oyj and Ericsson AB supply 5Gequipment.(Updates with U.S. Secretary of States tweet in fifth paragraph.)Tocontact the reporters on this story: Nikos Chrysoloras in Brussels atnchrysoloras@bloomberg.net;Natalia Drozdiak in Brussels atndrozdiak1@bloomberg.netTo contact the editors responsible for this story:Chad Thomas at cthomas16@bloomberg.net, ;Giles Turner atgturner35@bloomberg.net, Amy Thomson, Richard BravoFor more articles likethis, please visit us at bloomberg.com2019 Bloomberg L.P. ['https://news.yahoo.com/eu-poised-send-warning-china-133252152.html', 'http://l1.yimg.com/uu/api/res/1.2/1qSFIXzhApng_0hhqJC.ew--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/95cadda90680cc2febfb85b25539d06f'] -Tue, 19 Nov 2019 11:00:57 -0500 Lieutenant Colonel Vindman refuses to answer question that could outwhistleblower https://news.yahoo.com/vindman-refuses-answer-could-whistleblower-160057394.html During Lieutenant Colonel Alexander Vindman's testimony at a public hearing inthe House's impeachment inquiry, he declined to answer questions from RankingMember Nunes about who he may have told about the July 25 phone call. ['https://news.yahoo.com/vindman-refuses-answer-could-whistleblower-160057394.html', 'http://l1.yimg.com/uu/api/res/1.2/WhitR9vnNWkm1Z06gpPa2w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/creatr-uploaded-videos/2019-11/da557b54-ee5c-5b7c-8835-8a36c4d47e4f/74e31890-0ae5-11ea-b82f-56bed0de680b_3_0.jpg?s=58280f9c8b4f5ca261fa331cabc37efc&c=0d9084dbebcacbac3212571cb99cbc2a&a=ynewskatiecouric&mr=0'] -Tue, 19 Nov 2019 23:11:20 -0500 Last campus protesters hold out as Hong Kong schools reopen https://news.yahoo.com/last-campus-protesters-hold-hong-041120367.html Hong Kong schools reopened Wednesday after a six-day shutdown but students andcommuters faced transit disruptions as the last protesters remained holed upon a university campus. A small group of protesters refused to leave Hong KongPolytechnic University, the remnants of hundreds who took over the campus forseveral days. The occupation of Polytechnic capped more than a week of intenseprotests, the latest flareup in the often violent unrest that has gripped thesemi-autonomous Chinese city for more than five months. ['https://news.yahoo.com/last-campus-protesters-hold-hong-041120367.html', 'http://l1.yimg.com/uu/api/res/1.2/2X_LtvftfcmwLdq9WxvMYg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/264671d2fb663eb3cc5e6a2b6099c8e2'] -Mon, 18 Nov 2019 09:14:08 -0500 4 Killed, 6 Injured in Targeted' Shooting at Backyard Party in California.Heres What to Know https://news.yahoo.com/4-people-were-killed-10-141408450.html The group was gathered to watch a football game ['https://news.yahoo.com/4-people-were-killed-10-141408450.html', 'http://l.yimg.com/uu/api/res/1.2/4Xj7S_U4g1Adt5syleDGGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/77ece3c8b81bc76b6137db891f72597f'] -Tue, 19 Nov 2019 08:27:52 -0500 Isil leaders with 'vast amounts of cash' planning comeback in Turkey, Iraq spychief claims https://news.yahoo.com/isil-leaders-vast-amounts-cash-132752628.html "Senior Islamic State members with access to huge amounts of money are inTurkey and plotting a comeback, an Iraqi spy chief has warned. LieutenantGeneral Saad al-Allaq, head of Iraqs Military Intelligence, claimed in aninterview with CNN that Iraq has given Ankara dossiers on nine alleged leadersof Islamic State of Iraq and the Levant (Isil), including top financiers forthe terror group. The general said senior Isil figures known as ""emirs"" haveaccess to vast reserves of cash and were forming new cells in Turkey. Heclaimed many of them had managed to escape from Isils final patch ofterritory in Baghouz, eastern Syria, after bribing Western-backed SyrianDemocratic Forces (SDF) to reach Idlib in the north-west. From there, he said,they crossed the border to Gaziantep in southern Turkey. ""Some of itsimportant leadership fled north, I mean in the direction of neighbouringcountries and into border areas like Gazientep,"" Lt. Gen. Allaq said. USSpecial Forces, figures at lower right, moving toward compound of IslamicState leader Abu Bakr al-Baghdadi Credit: Department of Defense ""They havesecretly crossed into these areas from the Syrian-Turkish border - top leaderswho have money. They crossed with the help of smugglers by paying large amountof money and have secretly entered Turkish territory."" He added: ""Thoseelements who are right now in Turkey play a key role in the recruitment offighters and terrorists."" CNN was shown Iraqs arrest warrants for the ninemen, who are described as bomb makers. Lt. Gen. Allaq said the men were ""amongthe best bomb makers that Isis ever had."" Lt. Gen. Allaq, who rarely givesinterviews, said Iraq had intelligence that Isil leaders were planningjailbreaks of its supporters held in prisons and camps across Syria and Iraq.Isil members are led away to be questioned by coalition forces aftersurrendering, near Baghuz, eastern Syria Credit: Sam Tarling Turkey told theUS network they were looking into the allegations. He said a new Isil missioncode-named ""Break Down the Fences"" intended to storm jails where theirfollowers were being held and try to replenish its manpower. Several high-profile Isil figures and their family members have been discovered in recentweeks in or near Turkey. Abu Bakr al-Baghdadi, the groups leader, was foundhiding three miles from the border of Turkey in the Syria village of Barishain Idlib, where he was killed in a US raid on October 26. Abu Hassan al-Muhajir, Isils spokesman, was killed the following day several miles awaynear the town of Jarablus, which is under Turkish administration. Turkey thenannounced arrests it had made of Baghdadis relatives, who had apparently beenhiding in the country. " ['https://news.yahoo.com/isil-leaders-vast-amounts-cash-132752628.html', 'http://l.yimg.com/uu/api/res/1.2/KEcfH81TkTEMYNucmVLIRQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/9e533aaaee658c2b621bb30c4b822057'] -Tue, 19 Nov 2019 14:31:17 -0500 She can't vote, but 2020 Democratic candidates want her support anyway https://news.yahoo.com/she-cant-vote-2020-democratic-193117097.html One of the most sought-after presidential endorsements in a key early votingstate is from a woman who cannot vote. ['https://news.yahoo.com/she-cant-vote-2020-democratic-193117097.html', 'http://l.yimg.com/uu/api/res/1.2/JKRYR692ONT8VHmgNnuPJA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-317926-1574191502647.jpg'] -Wed, 20 Nov 2019 04:32:00 -0500 Mike Pompeo planning to resign because Trump hurting his reputation, reportclaims https://news.yahoo.com/mike-pompeo-planning-resign-because-093230187.html Donald Trumps secretary of state has reportedly told three prominentRepublicans that he is planning to resign from the White House to run for aSenate seat.Mike Pompeo had planned to stay at the State Department untilearly spring 2020 but he is now concerned that his connection to Mr Trump,particularly through the impeachment inquiry, is hurting his reputation,according to a Time report. ['https://news.yahoo.com/mike-pompeo-planning-resign-because-093230187.html', 'http://l1.yimg.com/uu/api/res/1.2/uRZ6JCcsT.ZqZJUmhgqSdQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/b1e80211a2a291dc2c832fb6d80284c4'] -Tue, 19 Nov 2019 18:30:00 -0500 Russia's TU-22M3 Backfire Bomber Has A New Supersonic Missile (And The Navy IsWorried) https://news.yahoo.com/russias-tu-22m3-backfire-bomber-233000508.html A formidable strike capability. ['https://news.yahoo.com/russias-tu-22m3-backfire-bomber-233000508.html', 'http://l1.yimg.com/uu/api/res/1.2/dBgn0U.ttkOyJhVv78FEXQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/916b80d6866376e363157e57441a2c14'] -Tue, 19 Nov 2019 05:15:06 -0500 Emirates wants new Boeing jet put through 'hell on Earth' in testing https://news.yahoo.com/emirates-wants-boeing-jet-put-101506564.html "Emirates, the largest customer of Boeing's upcoming 777x aircraft, wants theplane to be put through ""hell on Earth"" in testing to ensure it is safe to flyand meets performance expectations, the president of the Gulf airline said onTuesday. Tim Clark was speaking at the Dubai Airshow after meeting the head ofthe U.S. Federal Aviation Administration (FAA). The testing and certificationof aircraft has been under scrutiny after the grounding of Boeing's 737 MAXjet following two fatal crashes, while problems with a number of models haveled some airlines to accuse plane and engine makers of over-promising onperformance capabilities. " ['https://news.yahoo.com/emirates-wants-boeing-jet-put-101506564.html', 'http://l2.yimg.com/uu/api/res/1.2/R9hdUE1UfATl8akp1w0PzA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/9d11d3adfa7f22f85128b0a82dafc4f6'] -Mon, 18 Nov 2019 14:55:31 -0500 Dreaming of traveling to Australia? Qantas offers $100 flights but you haveto book fast https://news.yahoo.com/dreaming-traveling-australia-qantas-offers-195531473.html Qantas has $100 flights to Australia from Los Angeles, San Francisco,Dallas/Fort Worth and Chicago, but seats and dates are limited. ['https://news.yahoo.com/dreaming-traveling-australia-qantas-offers-195531473.html', 'http://l.yimg.com/uu/api/res/1.2/6ajhthuAYKlxjXJmSiJbJg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_travel_320/6c7feecc40097e801532a22897e4fa0b'] -Tue, 19 Nov 2019 20:43:02 -0500 School district in rural Colorado tries new ways to attract teachers https://news.yahoo.com/school-district-rural-colorado-tries-093105429.html The Big Sandy School District in Simla, Colorado, has 335 students from gradespre-K to 12th grade who learn under one roof ['https://news.yahoo.com/school-district-rural-colorado-tries-093105429.html', 'http://l2.yimg.com/uu/api/res/1.2/c1xjRhFgiaidM1iTpi9lGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/860c7e526ca1edb45437462d74ee70d8'] -Tue, 19 Nov 2019 16:37:00 -0500 Titan's New Geologic Map Shows Why Its One of the Most Exciting Moons in theSolar System https://news.yahoo.com/titans-geologic-map-shows-why-213700350.html From flowing streams to hummocky hills, scientists have charted the moon'sspellbinding surface. ['https://news.yahoo.com/titans-geologic-map-shows-why-213700350.html', 'http://l2.yimg.com/uu/api/res/1.2/TDnY3cv5oe54pTTxLmv4pw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/popular_mechanics_642/f2a4dc0ecba1863c696c46271a882a5a'] -Tue, 19 Nov 2019 16:47:37 -0500 Condemned Tennessee inmates supporters seek clemency https://news.yahoo.com/condemned-tennessee-inmate-supporters-seek-214737639.html Supporters of Tennessee death row inmate Abu-Ali AbdurRahman kicked off aclemency campaign on Tuesday amid uncertainty over whether his death sentencewill be upheld. Abdur'Rahman (AHB'-dur-RAK'-mahn) was sentenced to die in 1987for the murder of Patrick Daniels, who was stabbed to death. Norma Jean Normanwas also stabbed but survived. ['https://news.yahoo.com/condemned-tennessee-inmate-supporters-seek-214737639.html', 'http://l2.yimg.com/uu/api/res/1.2/_TcorovG3BPFJYB1T34wRA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/016f54f5ae79fc5bf39e4f84ed4190c6'] -Mon, 18 Nov 2019 14:29:32 -0500 Israel's Gantz races to form government https://news.yahoo.com/israels-gantz-races-form-government-103435036.html After weeks of talks over a new Israeli government have gone around incircles, Benjamin Netanyahu's rival Benny Gantz had just two days left Mondayto form a coalition and become prime minister. Netanyahu's right-wing Likudparty and Gantz's centrist Blue and White coalition achieved near parity inSeptember's repeat elections, but even with allied parties both fell short ofthe 61 seats needed to form a majority in parliament. Netanyahu was firstgiven 28 days to form a coalition government but failed, so President ReuvenRivlin granted Gantz a similar timeframe. ['https://news.yahoo.com/israels-gantz-races-form-government-103435036.html', 'http://l2.yimg.com/uu/api/res/1.2/4Vf0HA_nPePOKRDk01tmDQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/43fbef1ac3f8fbaa95f4318ad736464f075f9619.jpg'] -Tue, 19 Nov 2019 06:39:02 -0500 One Million Brexit Coins Melted Down After Johnson Misses Deadline https://news.yahoo.com/one-million-brexit-coins-melted-113902454.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.The U.K. has used the seven-sided 50 pence coin to celebratenational achievements ranging from the London Olympics of 2012 to the work ofchildrens author Beatrix Potter.Now about one million of the distinctivecoins minted to mark the U.K.s planned divorce from the European Union onOct. 31 are being melted down. The Royal Mint acted after Prime Minister BorisJohnson requested a delay until Jan. 31.As Bloomberg revealed in October, someof the coins had already been made when Johnson wrote to the EU asking for aBrexit extension. But the extent of his governments over-confidence was onlyfully revealed on Tuesday.A spokeswoman for the mint confirmed around onemillion Oct. 31 Brexit coins were made and will now be destroyed. The responsecame after a freedom of information request by the Daily Telegraph newspaper.She wouldnt comment on the cost of the production and destruction of thecoins, but the price will ultimately be borne by taxpayers.In 2007, a 50 pencepiece was produced to celebrate 100 years of the boy scout movement, bearingthe legend be prepared. Chancellor of the Exchequer Sajid Javid and theTreasury may have taken that advice too literally.To contact the reporter onthis story: Thomas Penny in London at tpenny@bloomberg.netTo contact theeditors responsible for this story: Tim Ross at tross54@bloomberg.net, AdamBlenfordFor more articles like this, please visit us at bloomberg.com2019Bloomberg L.P. ['https://news.yahoo.com/one-million-brexit-coins-melted-113902454.html', 'http://l.yimg.com/uu/api/res/1.2/ZwIZPSHXQ4FxcSPwcQlbdQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/9169a077ed3077fcaaa3d72d2ea79ee2'] -Tue, 19 Nov 2019 09:48:34 -0500 Read: Jennifer Williams opening statement at today's impeachment hearings https://www.politico.com/news/2019/11/19/jennifer-williams-opening-statement-today-impeachment-hearings-071495 Follow our live coverage of today's hearing, and read House IntelligenceChairman Adam Schiff's opening statement. Thank you, Chairman Schiff, RankingMember Nunes, and other Members of the Committee for the opportunity toprovide this statement. ['https://www.politico.com/news/2019/11/19/jennifer-williams-opening-statement-today-impeachment-hearings-071495', 'http://l.yimg.com/uu/api/res/1.2/p8AJNHJMkdkU6tFZHkL6FA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/politico_453/93540fee1b8486a363c2b77e98f53bc0'] -Tue, 19 Nov 2019 17:00:00 -0500 Russia Has Captured A U.S. Tomahawk Missile In Syria (And Is PlanningCountermeasures) https://news.yahoo.com/russia-captured-u-tomahawk-missile-220000554.html What does this mean for America? ['https://news.yahoo.com/russia-captured-u-tomahawk-missile-220000554.html', 'http://l.yimg.com/uu/api/res/1.2/vtsdf5iVXHwt9QBJ8ziviQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/bcc275e78ceeb3f0f2f25c0536074b58'] -Wed, 20 Nov 2019 03:29:56 -0500 UPDATE 2-China tortured me over Hong Kong, says former British consulateemployee https://news.yahoo.com/1-former-uk-consulate-employee-082956424.html A former employee of Britain's consulate in Hong Kong said Chinese secretpolice beat him, deprived him of sleep and shackled him in an attempt to forcehim to give information about activists leading pro-democracy protests. HongKong, which was returned to China by Britain in 1997, has been convulsed bysometimes violent protests and mass demonstrations, the biggest politicalcrisis for Beijing since the Tiananmen Square protests of 1989. ['https://news.yahoo.com/1-former-uk-consulate-employee-082956424.html'] -Mon, 18 Nov 2019 19:17:55 -0500 Nikki Haley and George Conway spat on Twitter after he calls GOP Rep. EliseStefanik 'lying trash' https://news.yahoo.com/nikki-haley-george-conway-spat-001755313.html "After George Conway called GOP Rep. Elise Stefanik ""lying trash,"" Nikki Haleysaid he is ""the last person that can call someone 'trash.'"" " ['https://news.yahoo.com/nikki-haley-george-conway-spat-001755313.html', 'http://l2.yimg.com/uu/api/res/1.2/z0TwYE_wQrb2JSfx5_RtYQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/cf9580cb104b0c238ad8d6a8c6527269'] +Wed, 20 Nov 2019 16:52:21 -0500 Maloney hammers Sondland on changing testimony — and extracts key concession https://news.yahoo.com/maloney-hammers-sondland-on-changing-testimony-and-extracts-key-concession-215221460.html Rep. Sean Patrick Maloney chastised Gordon Sondland during the U.S. ambassadorto the European Union’s testimony Wednesday. ['https://news.yahoo.com/maloney-hammers-sondland-on-changing-testimony-and-extracts-key-concession-215221460.html', 'http://l1.yimg.com/uu/api/res/1.2/41yYstoGUo.Uej57IHdnrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/7e814ac0-0bda-11ea-bf4d-b6dc149aaac6'] +Thu, 21 Nov 2019 13:20:24 -0500 Former NYC Mayor Michael Bloomberg Formally Files for 2020 Presidential Run https://news.yahoo.com/former-nyc-mayor-michael-bloomberg-182024837.html "Yana PaskovaFormer New York City mayor Michael Bloomberg has taken the nextstep to join the scrum to unseat Donald Trump, formally filing to run as aDemocrat for the post of President of the United States.The billionaireDemocrat-turned-Republican-turned-Independent-turned-Democrat-again declaredhis candidacy with the Federal Election Commission early on Thursdayafternoon. Mike Bloomberg 2020 Inc., his campaign committee, also filed FECpaperwork.A Bloomberg spokesperson did not immediately respond to a requestfor comment on the filings. But no sooner had the filing been made public didword emerge that he had not yet made a final decision about hiscandidacy—merely filling out paperwork for it. Should he announce a runpublicly, Bloomberg will face a herculean task. He is likely to avoidcompeting in the early primary states—with hopes that his expansive war chestwill allow him to fair better in later contests. His potential entry will beinto an already crowded Democratic presidential primary field, one that hasalready attracted another late entrant on the party’s more moderate flank,former Massachusetts Gov. Deval Patrick.Bloomberg has already taken steps toattempt to repair his image among segments of the Democratic electorate likelyto suspiciously eye an ultra-wealthy business executive with a technocraticrecord of promoting policies that are not necessarily popular with the public,including a harsh law enforcement policy that disproportionately affects NewYork’s African American community.At an appearance at a Brooklyn blackmegachurch over the weekend, Bloomberg apologized for policies such as “stop-and-frisk,” a highly controversial police tactic that gives police broadauthority to physically search anyone. NYPD abuse of the policy duringBloomberg’s tenure as mayor largely targeted black and Latinocommunities.“Over time, I’ve come to understand something that I longstruggled to admit to myself: I got something important wrong,” Bloomberg saidat Brooklyn’s Christian Cultural Center, reversing course on a position herepeatedly defended as mayor and after leaving office. “I didn’t understandback then the full impact that stops were having on the black and Latinocommunities. I was totally focused on saving lives—but as we know: goodintentions aren’t good enough.""Bloomberg is nevertheless likely to occupy anideological space closer to the center of the Democratic primary field. Thatwill likely pit him against former Vice President Joe Biden and South Bend,Indiana, Mayor Pete Buttigieg for similar blocs of primary voters, andposition him in opposition to the race’s more progressive standouts, Sens.Elizabeth Warren of Massachusetts and Bernie Sanders of Vermont.In spite ofpotentially problematic positions on issues such as urban policing, Bloombergdoes bring a long record of championing other issues dear to the Democraticfaithful. He is one of the country’s most outspoken supporters of new guncontrol policies, and has used his fortune to finance groups pushing for suchmeasures.Early polling shows that Bloomberg would face a steep climb to theupper echelons of the Democratic primary field. Despite his strong namerecognition, a recent survey by Reuters and Ipsos found him pulling just 3percent support nationally, the same level as California Sen. Kamala Harrisand well behind Biden, Buttigieg, Warren and Sanders.One area that likely willnot be a challenge for his candidacy is money. Bloomberg is worth an estimated$52 billion, and has not hesitated to pour money into political contests. Heis among the Democratic Party’s largest donors of the Trump era, and hasalmost single-handedly financed his own super PAC, Independence USA, to whichhe’s donated $112 million since 2012.Though nowhere near as wealthy asBloomberg, California hedge funder Tom Steyer, who entered the race for theDemocratic presidential nomination in July, has largely opted to self-fund hiscampaign. The immense amounts of his personal fortune that Steyer has dumpedinto his campaign have managed to land him on one debate stage, but haven’tpropelled him to viability in the Democratic field.Read more at The DailyBeast.Get our top stories in your inbox every day. Sign up now!Daily BeastMembership: Beast Inside goes deeper on the stories that matter to you. Learnmore. " ['https://news.yahoo.com/former-nyc-mayor-michael-bloomberg-182024837.html', 'http://l1.yimg.com/uu/api/res/1.2/uf.pYj9xwuevnAMQ_nNMuQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/2c40911b8b3ff10db6858af2cb4f00af'] +Thu, 21 Nov 2019 00:41:32 -0500 Vietnam to Extend Retirement Age by 2 Years for Men, 5 Years for Women https://news.yahoo.com/vietnam-extend-retirement-age-2-054132320.html (Bloomberg) -- Explore what’s moving the global economy in the new season ofthe Stephanomics podcast. Subscribe via Apple Podcast, Spotify or PocketCast.Vietnam will gradually extend the retirement age for men by two years andfor women by five years over the next decade as part of the government’samendment to its Labor Code.Men can work until 62 by 2028 and women until 60by 2035 from the current retirement age of 60 for males and 55 for females,the government said on its website.Under the amendments approved by theNational Assembly on Wednesday, the retirement age will increase by 3 monthsannually for men and by 4 months each year for women starting 2021. Thechanges were made as Vietnam’s population is maturing at a faster pace thansome of its peers.The nation’s elderly citizens are expected to double to 14%of the population in about 17 years and the country could become an agedsociety in 2035, according to a statement of the Japan InternationalCooperation Agency and the World Bank in August. It took Singapore 22 yearsand Thailand 20 years to reach the threshold for a country’s population to beconsidered aged.The number of people joining Vietnam’s work force has droppedby more than half to about 400,000 each year from an average of 1 million inthe past, local newspaper Tuoi Tre reported citing Bui Sy Loi from thecommittee on social affairs of the National Assembly.\\--With assistance fromThuy Ong.To contact the reporter on this story: Mai Ngoc Chau in Ho Chi MinhCity at cmai9@bloomberg.netTo contact the editors responsible for this story:Clarissa Batino at cbatino@bloomberg.net, Ruth PollardFor more articles likethis, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/vietnam-extend-retirement-age-2-054132320.html', 'http://l2.yimg.com/uu/api/res/1.2/d9qbC.UEbSNrRhqxNfPyGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/0b6d8acfac7610ca7c357cf17419d3fd'] +Thu, 21 Nov 2019 06:39:19 -0500 'The Entire System Is Designed to Suppress Us.' What the Chinese SurveillanceState Means for the Rest of the World https://news.yahoo.com/entire-system-designed-suppress-us-113919198.html China—projected to have one CCTV camera for every two people by 2022—is aharbinger of what society looks like with surveillance unchecked. ['https://news.yahoo.com/entire-system-designed-suppress-us-113919198.html', 'http://l.yimg.com/uu/api/res/1.2/h.AOKLxqnwvAU2pMxVVV7g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/7193f064554ef84f748457f5e93b4de8'] +Wed, 20 Nov 2019 16:30:00 -0500 China Is Not In Africa For Charity, But To Control Its Resources https://news.yahoo.com/china-not-africa-charity-control-213000416.html Chinese imperialism has come to Africa. ['https://news.yahoo.com/china-not-africa-charity-control-213000416.html', 'http://l2.yimg.com/uu/api/res/1.2/MS6DPD8.xx5qDhxFGeUvUw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/900b92f5a406fc60160d268a7c06fcb9'] +Wed, 20 Nov 2019 15:27:26 -0500 Russia air raids, regime strikes in Syria kill at least 21: monitor https://news.yahoo.com/russian-air-raids-regime-strikes-syria-kill-14-183936875.html "Attacks by Syrian President Bashar al-Assad's forces and air raids by his allyRussia killed at least 21 civilians including 10 children in rebel-held Idlibprovince on Wednesday, a monitoring group said. The Syrian Observatory forHuman Rights, in an updated toll, said a ground-to-ground missile fired byregime forces that hit a makeshift camp for the displaced near Qah villageclose to the border with Turkey killed 15 civilians, including six children,and wounded around 40 others. Elsewhere, ""Russian military aircraft"" targetedthe town of Maaret al-Numan in the south of the province, the Observatorysaid, and ""six civilians were killed, among them four children"". " ['https://news.yahoo.com/russian-air-raids-regime-strikes-syria-kill-14-183936875.html', 'http://l2.yimg.com/uu/api/res/1.2/0Kde1NtKq_0oWmBF608p9w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/a61039c74b13b20cf3c034cecfb27264c4230a56.jpg'] +Thu, 21 Nov 2019 11:39:31 -0500 Cat missing for five years turns up 1,200 miles away from home https://news.yahoo.com/cat-missing-five-years-turns-163931576.html A cat missing for five years was reportedly found 1,200 miles away from homeand reunited with its owner.Viktor Usov, from Portland, Oregon, assumed theworst after his cat Sasha went missing. ['https://news.yahoo.com/cat-missing-five-years-turns-163931576.html', 'http://l.yimg.com/uu/api/res/1.2/xS3ut_5mz2.3HqtLbjiJ1w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/1d78a4a3c3f611945b47c932b90a452c'] +Wed, 20 Nov 2019 16:49:37 -0500 Woman fights charges after stepkids see her topless at home https://news.yahoo.com/utah-woman-fights-charge-kids-214937288.html A Utah woman charged with a crime after her stepchildren saw her topless inher own home is fighting the case that could force her to register as a sexoffender, pointing to a court ruling that overturned a topless ban in Coloradoand helped fuel a movement. Tilli Buchanan’s attorneys argue that Utah’s lawon lewdness involving a child is unfair because it treats men and womendifferently for baring their chests. Buchanan, 27, said she and her husbandhad taken off their shirts to keep their clothes from getting dusty while theyhung drywall in their garage in a Salt Lake City suburb in late 2017 or early2018. ['https://news.yahoo.com/utah-woman-fights-charge-kids-214937288.html', 'http://l.yimg.com/uu/api/res/1.2/3XT_ZqXqM50hntcg5jlLyw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/db7c8120b6ea19cb48dbd3eaaf0817d6'] +Wed, 20 Nov 2019 13:41:13 -0500 Pentagon discovers $81 million of U.S. Navy gear during audit https://news.yahoo.com/pentagon-discovers-81-million-u-184113289.html The Pentagon found $81 million of military equipment at a U.S. Navy facilitythat had not been inventoried, a top Pentagon official said on Wednesday as hedescribed the Department of Defense second straight failed audit. The Pentagonsays that it has made progress toward fixing accounting discrepancies, butthat it will take years to eventually pass a full audit, Deputy Secretary ofDefense David Norquist told a U.S. Senate panel. ['https://news.yahoo.com/pentagon-discovers-81-million-u-184113289.html'] +Thu, 21 Nov 2019 06:49:24 -0500 Anger in China as it demands Trump veto Hong Kong bills https://news.yahoo.com/anger-china-demands-trump-veto-114924959.html China on Thursday demanded President Trump veto legislation aimed atsupporting human rights in Hong Kong and renewed a threat to take “strongcountermeasures” if the bills become law. ['https://news.yahoo.com/anger-china-demands-trump-veto-114924959.html', 'http://l.yimg.com/uu/api/res/1.2/pRLhT_98a7AShe7nZrMzFw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318449-1574336907824.jpg'] +Wed, 20 Nov 2019 12:32:48 -0500 Pence Denies Discussing Ukraine Investigations with Sondland or Zelensky https://news.yahoo.com/pence-denies-discussing-ukraine-investigations-173248263.html Vice President Mike Pence denied that Gordon Sondland ever voiced concernsabout a potential quid pro quo with Ukraine on Tuesday morning after Sondlandclaimed otherwise in his Tuesday morning testimony.Sondland, who serves asambassador to the E.U., testified that he told Pence that he had “concernsthat the delay in aid had become tied to the issue of investigations” ahead ofa September 1 meeting between Pence and Ukrainian Volodymyr Zelensky.Pence'soffice issued a statement contradicting Sondland's testimony in response.“TheVice President never had a conversation with Gordon Sondland aboutinvestigating the Bidens, Burisma, or the conditional release of financial aidto Ukraine based upon potential investigations,” a statement from Marc Short,Pence’s chief of staff, read. “Ambassador Gordon Sondland was never alone withVice President Pence on the September 1 trip to Poland. This allegeddiscussion recalled by Ambassador Sondland never happened.”In his testimony,Sondland recounted a meeting between Pence and Zelensky, in which Zelensky“raised the issue of security assistance directly with Vice President Pence.”Sondland said that Pence told the Ukrainian president that he would askPresident Trump about it. In his statement, Short does not deny that the pairdiscussed military aid, but does say that “multiple witnesses have testifiedunder oath” that no investigations were ever brought up during the Septembermeeting between Pence and Zelensky.“Multiple witnesses have testified underoath that Vice President Pence never raised Hunter Biden, former VicePresident Joe Biden, Crowdstrike, Burisma, or investigations in anyconversation with Ukrainians or President Zelensky before, during, or afterthe September 1 meeting in Poland,” Short's statement concludes.Sondland alsotestified that he pulled top Ukrainian aide Andriy Yermak aside during theSeptember meeting to say that “he believed that the resumption of U.S. aidwould likely not occur until Ukraine took some kind of action on the publicstatement that we had been discussing for many weeks.” He added that herelayed this message at Secretary of State Mike Pompeo's behest. ['https://news.yahoo.com/pence-denies-discussing-ukraine-investigations-173248263.html', 'http://l.yimg.com/uu/api/res/1.2/.dwO92aRLIYJgq6CHXo9lg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/c0110011fadaceb927889e68f0dd351b'] +Thu, 21 Nov 2019 11:09:25 -0500 Four Gas Export Projects Approved by U.S. Just as Outlook Dims https://news.yahoo.com/four-gas-export-projects-approved-160925009.html (Bloomberg) -- Four liquefied natural gas export projects were cleared by thetop U.S. energy regulator in a single day as a global supply glut casts doubton whether they all will actually be built.The Federal Energy RegulatoryCommission voted 2-1 in favor of three Texas LNG terminals-- ExelonCorp.-backed Annova LNG, NextDecade Corp.’s Rio Grande LNG and Texas LNG. Theyalso approved Cheniere Energy Inc.’s planned expansion at Corpus Christi inTexas. Democrat Commissioner Rich Glick, who has repeatedly criticized theagency for ignoring climate change, dissented. Combined, the projects wouldroughly double current U.S. LNG export capacity. The nation is already sendingmore gas overseas than ever as shale output surges. But prices have collapsedamid the U.S.-China trade war and a worldwide glut of the heating and power-plant fuel, making buyers increasingly unwilling to sign the long-termcontracts needed to develop multibillion-dollar terminals.“Resolution of thetrade war between the U.S. and China would go a long way, I think, to solvingthe market’s discomfort with long-term contracts,” Katie Bays, co-founder ofWashington-based Sandhill Strategy LLC, said by phone. “With Chinese growthcoming in lower than expected this year, however, committing to any terms in along-term contract probably feels like a big leap of faith.”The energycommission, which has approved about a half-dozen LNG export projects so farthis year, has faced repeated calls by developers to speed up reviews. To thatend, it has added staff and is opening up an office in Houston to cope withthe extra workload.The U.S. is the world’s fastest-growing LNG exporter as theshale boom catapults the country into the ranks of the top global suppliers ofthe fuel, behind Qatar and Australia. The latest projects to be approved wouldbe ideally situated to draw gas from the Permian Basin, where supplies havesoared as a byproduct of oil output. But most of the increase in American LNGcargoes over the next few years will likely come from projects that havealready reached a final investment decision.To contact the reporter on thisstory: Stephen Cunningham in Washington at scunningha10@bloomberg.netTocontact the editors responsible for this story: David Marino atdmarino4@bloomberg.net, Christine Buurma, Reg GaleFor more articles like this,please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/four-gas-export-projects-approved-160925009.html', 'http://l.yimg.com/uu/api/res/1.2/6JT5OWQY1k_6Te_U4C3Tuw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d06056d4a72dcb5a4d7e8745e96aee58'] +Wed, 20 Nov 2019 11:20:23 -0500 Teen used remote-controlled car to smuggle meth across US border, officialssay https://news.yahoo.com/teen-used-remote-controlled-car-060618547.html A 16-year-old boy allegedly tried to smuggle methamphetamine across theU.S.-Mexico border with a remote-controlled car, Border Patrol agents said. ['https://news.yahoo.com/teen-used-remote-controlled-car-060618547.html', 'http://l2.yimg.com/uu/api/res/1.2/V.ad9hdbfxAgq81FHCXn8w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/37afc1a5-505f-4cfb-97c5-5b2c41a32d67/83fb7e69-68a7-5fd2-93d0-a52077e2a945/data_3_0.jpg?s=7723a62d4735000b450c3a0db545fcad&c=ebf13d83eb57380ee135096582e3ccb7&a=tripleplay4us&mr=0'] +Wed, 20 Nov 2019 02:33:00 -0500 Why China's J-16D Electronic Warfare Plane Is a Really Big Deal https://news.yahoo.com/why-chinas-j-16d-electronic-073300218.html A huge problem. ['https://news.yahoo.com/why-chinas-j-16d-electronic-073300218.html', 'http://l.yimg.com/uu/api/res/1.2/aODGqWXn4sdSf4JWGiAA4w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/1af6b2e9af10f6f0bccf8eb72b90352e'] +Fri, 22 Nov 2019 15:47:25 -0500 Impeachment witnesses tested Republican defenses of Trump one by one https://news.yahoo.com/impeachment-witnesses-tested-republican-defenses-of-trump-one-by-one-204725530.html While it remains highly unlikely that the Democrats’ House impeachment inquirywill lead to a conviction of Donald Trump by the Republican-controlled Senate,the testimony did succeed in straining the defenses put forth by the presidentand his allies. ['https://news.yahoo.com/impeachment-witnesses-tested-republican-defenses-of-trump-one-by-one-204725530.html', 'http://l2.yimg.com/uu/api/res/1.2/xuaOARdyw1BG0sSypLjkmg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/ba961f40-0d65-11ea-bbfd-fd018f0c20bd'] +Sat, 23 Nov 2019 23:37:11 -0500 Alabama sheriff shot and killed while answering a call, search for suspectongoing https://news.yahoo.com/alabama-sheriff-shot-killed-while-034605659.html "Several law enforcement sources confirmed that Lowndes County Sheriff ""BigJohn"" Williams was answering a call at a convenience store when he was shot. " ['https://news.yahoo.com/alabama-sheriff-shot-killed-while-034605659.html', 'http://l1.yimg.com/uu/api/res/1.2/oT46donukaZcSnJHHnspdg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/a7dad410025f444d0f39ee6994018813'] +Fri, 22 Nov 2019 15:45:43 -0500 A New Zealand man has been convicted of the harrowing murder of backpackerGrace Millane on their Tinder date, but it's still illegal to report his name https://news.yahoo.com/zealand-man-convicted-harrowing-murder-105807250.html A 27-year-old man was found guilty of murdering Millane in December 2018. Acourt order to suppress his name has been in place since last year. ['https://news.yahoo.com/zealand-man-convicted-harrowing-murder-105807250.html', 'http://l.yimg.com/uu/api/res/1.2/bncOm0_LwdlkhpfPOQqSJA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/d1f782b29062e17090a2c59d88e1c48c'] +Fri, 22 Nov 2019 09:24:37 -0500 Ninth family member dies after Israeli strike: ministry https://news.yahoo.com/ninth-family-member-dies-israeli-strike-ministry-142338231.html "A Palestinian wounded in an Israeli strike that killed eight members of hisfamily has died, the health ministry in the Hamas-run strip said on Friday.Mohammed Abu Malhous al-Sawarka, 40, succumbed after being wounded in ""themassacre in which eight members of a family died when they were targeted intheir homes,"" ministry spokesman Ashraf al-Qudra said in a statement. It saidhe was the brother of Rasmi Abu Malhous who was killed when his home was hitby an air strike on November 14. " ['https://news.yahoo.com/ninth-family-member-dies-israeli-strike-ministry-142338231.html', 'http://l1.yimg.com/uu/api/res/1.2/QYBrX3Ed.x.8.35Jmhy_BA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/1bd42774eae9b488cd1b3f716947ab5b1d805ff9.jpg'] +Fri, 22 Nov 2019 14:03:00 -0500 50 Great Gadget and Gear Gifts for the Holidays https://news.yahoo.com/34-great-gadget-gear-gifts-135200137.html ['https://news.yahoo.com/34-great-gadget-gear-gifts-135200137.html'] +Sat, 23 Nov 2019 08:30:00 -0500 This Is How U.S. Navy SEALs Would Go To War Against Iran https://news.yahoo.com/u-navy-seals-war-against-133000532.html It would not be an easy fight. ['https://news.yahoo.com/u-navy-seals-war-against-133000532.html', 'http://l.yimg.com/uu/api/res/1.2/cbJrDhgdBuLk.En27.XBEw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/33f4e06d016df550f6657f2064354cea'] +Fri, 22 Nov 2019 06:13:06 -0500 Putin hands awards to widows of men killed in mysterious military test https://news.yahoo.com/putin-hands-awards-widows-men-111306571.html Russian President Vladimir Putin has handed top state awards to the widows offive scientists killed in an accident while testing what he called an advancedweapons system without equal in the world. The five men died on Aug. 8 in whattheir employer, state nuclear agency Rosatom, said was an accident during arocket test on a sea platform off northern Russia, an incident which causedradiation levels in the surrounding area to briefly spike. Thomas DiNanno, asenior U.S. State Department official, said last month that Washington haddetermined that the explosion was the result of a nuclear reaction whichoccurred during the recovery of a Russian nuclear-powered cruise missile aftera failed test. ['https://news.yahoo.com/putin-hands-awards-widows-men-111306571.html', 'http://l.yimg.com/uu/api/res/1.2/DK6HEON2l4VHnFR7hoocBw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/f62ed48534c6d89f4b702e2ef819fefa'] +Sat, 23 Nov 2019 17:39:04 -0500 Tories Lead Labour as Brexit Party Loses Ground, Polls Show https://news.yahoo.com/tories-lead-labour-brexit-party-223904570.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.U.K. Conservatives remain ahead of Labour by at least 10percentage points with less than three weeks to the general election,according to five different polls released on Saturday.Brexit Party lost 3percentage points after its decision not to stand in more than half of seats,three of the surveys show.The general election is Dec. 12.YouGov PollToriesunchanged at 42%, YouGov poll for The Sunday Times showsLabour unchanged at30%Liberal Democrats up 1 point to 16%Brexit Party down 1 point to 3%SNPunchanged at 4%Greens unchanged at 4%Pollster surveyed 1,677 adults nationallyNov. 21-22Savanta ComRes PollTories unchanged at 42%, according to a SavantaComRes poll for the Daily Express Sunday editionLabour up 1 point to32%Liberal Democrats unchanged at 15%Brexit Party unchanged at 5%SNP down 1point to 3%Greens unchanged at 2%Pollster surveyed 2,038 British adults onlineNov. 20-21DeltapollConservatives at 43%, down 2 points, according to the mostrecent Deltapoll for The Mail on SundayLabour unchanged at 30%LiberalDemocrats up 5 points to 16%Brexit Party down 3 points to 3%Deltapollinterviewed 1,519 British adults online Nov. 21-23Opinium PollOpinium Researchpoll showed the Tories are now supported by 47% of voters, up from 44%Labourunchanged at 28%Liberal Democrats fall 2 points to 12%Brexit Party falls 3points to 3%SNP rises 1 point to 5%Greens unchanged at 3%Perceptions of PrimeMinister Boris Johnson and Labour Party leader Jeremy Corbyn have not improvedin light of their first head-to-head debate on Nov. 19, Opinium saidPollstersurveyed 2,003 U.K. adults nationally Nov. 20-22BMG PollTories gained 4 pointsto 41%, according to the most recent BMG Research poll for TheIndependentLabour at 28%, down 1 point“The increase in the Conservative leadcan be attributed to the Brexit Party’s decision not to stand in more thanhalf of seats:” BMG’s head of polling Robert StruthersLiberal Democrats at18%, up 2 pointsGreens unchanged at 5%Brexit Party at 3%, down 6 pointsPollcontinues to show a majority support EU membership, with Remain leading Leaveby 54% to 46%, unchanged from a week agoBMG surveyed 1,663 British voters Nov.19-21(Updates with results from YouGov)To contact the reporter on this story:Giulia Camillo in New York at gcamillo@bloomberg.netTo contact the editorsresponsible for this story: Giulia Camillo at gcamillo@bloomberg.net, IanFisher, Steve GeimannFor more articles like this, please visit us atbloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/tories-lead-labour-brexit-party-223904570.html'] +Sat, 23 Nov 2019 15:21:59 -0500 The Saugus High School Shooter Used an Illegal 'Ghost Gun.' Authorities WarnMore Criminals Are Using Untraceable Weapons to Get Around Gun Laws https://news.yahoo.com/saugus-high-school-shooter-used-202159816.html Since the gun is put together from separate parts and doesn't have a serialnumber, it's almost impossible for law enforcement to track ['https://news.yahoo.com/saugus-high-school-shooter-used-202159816.html', 'http://l1.yimg.com/uu/api/res/1.2/jmdJCk3vwhK79HBlJ8va9A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/5a2d905f9eb1eb7aeea794c37f439964'] +Fri, 22 Nov 2019 13:46:13 -0500 Trump says Ukraine envoy Yovanovitch wouldn't hang his picture. Fact check:There was no official portrait for most of 2017. https://news.yahoo.com/trump-wont-hang-portrait-embassy-ukraine-yovanovitch-184613339.html “She is in charge of the embassy,” the president said on “Fox & Friends”Friday morning. “She wouldn’t hang it. It look a year and a half or two yearsto get the picture up.” ['https://news.yahoo.com/trump-wont-hang-portrait-embassy-ukraine-yovanovitch-184613339.html', 'http://l1.yimg.com/uu/api/res/1.2/e2khNA0h_dG4YdzIfYpnMA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/fa203490-0d54-11ea-b6b2-f04309019748'] +Fri, 22 Nov 2019 16:01:30 -0500 Alabama cop who chased, beat and shot black man after stop-and-frisk guilty ofmanslaughter https://news.yahoo.com/alabama-cop-chased-beat-shot-210130367.html Prosecutors argued Aaron C. Smith escalated a consensual stop to deadly force,killing Greg Gunn feet away from the home he lived in with his mother. ['https://news.yahoo.com/alabama-cop-chased-beat-shot-210130367.html', 'http://l2.yimg.com/uu/api/res/1.2/4OQjsISw3Jo5cNdYjmJLvw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/77a17bbae3d3b3a4151aec80bbc3c965'] +Fri, 22 Nov 2019 18:28:06 -0500 Mexico arrests judge linked by US to notorious cartel https://news.yahoo.com/mexico-arrests-judge-linked-us-232806060.html A Mexico judge whom the U.S. Treasury Department accuses of ties to JaliscoNew Generation, one of the country’s bloodiest drug cartels, was arrested inthe city of Guadalajara on Friday, judicial authorities said. Earlier thatmonth the U.S. Treasury Department designated and sanctioned Avelar Gutiérrezunder the Kingpin Act “because of his actions on behalf” of Jalisco NewGeneration and an allied group known as Los Cuinis. ['https://news.yahoo.com/mexico-arrests-judge-linked-us-232806060.html'] +Sat, 23 Nov 2019 19:53:10 -0500 Ageing Japan bomb survivors back pope's anti-nukes call https://news.yahoo.com/ageing-japan-bomb-survivors-back-popes-anti-nukes-195342756.html Kenji Hayashida thought about committing suicide in the years after an atomicbomb was dropped on his hometown of Nagasaki. On Sunday he will hear PopeFrancis call there for a world without nuclear weapons, a message 81-year-oldsupports passionately. Like many ageing survivors of the attacks on Nagasakiand Hiroshima, Hayashida hopes the pope can bring fresh internationalattention to the cause of nuclear abolition, and also keep alive the memory ofthe devastating bombings. ['https://news.yahoo.com/ageing-japan-bomb-survivors-back-popes-anti-nukes-195342756.html', 'http://l2.yimg.com/uu/api/res/1.2/mD2B5Rb_Io8rj3x6_sF3nA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/d984a84366064222dc2bdc793a6a3931a988ecc1.jpg'] +Sat, 23 Nov 2019 10:43:07 -0500 German soldier who posed as Syrian refugee to face new terror trial https://news.yahoo.com/german-soldier-posed-syrian-refugee-154307863.html A German soldier who lived a double life posing as a Syrian refugee is to facea new trial on charges of planning a far-Right terror attack. LieutenantFranco Albrecht spent more than a year posing as a Christian refugee fromSyria, and was given a place in a German government refugee shelter.Prosecutors allege he was planning to assassinate high-profile figures in afalse flag terror attack and pin the blame on the fictitious Syrian. Theoriginal terror charges against Lt Albrecht were dismissed for lack ofevidence in a court hearing last year, but Germany’s highest criminal courtthis week upheld a prosecution appeal and ordered a new trial. Lt Albrecht’sarrest in 2017 stunned Germany and made headlines around the world. As a high-flying cadet officer, he trained at France’s prestigious St Cyr Militaryacademy under an exchange programme and was entertained as a guest of theBritish army at Sandhurst. Lt Albrecht’s defence lawyers say he masqueraded asa refugee in order to expose the shortcomings of the German asylum system andits failure properly to identify those entering the country. They deny that hewas planning a terror attack Lt Albrecht was a guest at Sandhurst while he wastraining as part of an exchange programme at France's prestigious St Cyrmilitary academy Credit: Private Germany’s federal court of justice ruled thisweek that there is sufficient evidence to support the charge Lt Albrecht wasplanning to assassinate public figures and ordered that he must face it incourt. But it ruled there was no evidence to support the charge that he wasplanning to pin the blame for an attack on Syrian refugees. Prosecutors allegethat Lt Albrecht procured firearms and ammunition and prepared a list ofpossible assassinations targets including Heiko Maas, the foreign minister,former President Joachim Gauck and Anetta Kahane, a prominent human rightsactivist. They allege he scoped out a car park near the activist's office as apossible assassination site. Lawyers for Lt Albrecht deny the allegations andsay he obtained weapons as a member of the “prepper” scene. They say thealleged “death list” is a list of people the soldier wished to contact todiscuss the political situation, and that he only visited the car park in anattempt to meet Ms Kahane. Lawyers for the soldier have not commented on thisweek’s decision by the appeals court. Lt Albrecht has been suspended from dutybut remains an officer in the German army until the case is resolved. A datefor a new trial has not yet been set. ['https://news.yahoo.com/german-soldier-posed-syrian-refugee-154307863.html', 'http://l.yimg.com/uu/api/res/1.2/n5hpvNmcQ49tL3ZuIrMB4g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/04108d827590aef6e5fac655eaac29fa'] +Sat, 23 Nov 2019 12:00:00 -0500 Iran Has A New Missile, Should Israel Be Worried? https://news.yahoo.com/iran-missile-israel-worried-170000340.html Iran wants to give its regional allies precision-guided missiles. ['https://news.yahoo.com/iran-missile-israel-worried-170000340.html', 'http://l1.yimg.com/uu/api/res/1.2/ji4KVQSdbZ60.bPkkaqcfg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/3900becdb2d43512422b69e59585ce87'] +Fri, 22 Nov 2019 15:24:34 -0500 Iran says 'world war' against it foiled; blames U.S., Saudi Arabia and Israel https://news.yahoo.com/iran-says-world-war-against-202434843.html "Iran's Basij militia said unrest sparked by fuel price hikes amounted to a""world war"" against Tehran that was thwarted, and blamed the United States,Saudi Arabia and Israel. " ['https://news.yahoo.com/iran-says-world-war-against-202434843.html', 'http://l.yimg.com/uu/api/res/1.2/ypaYTByvklHTkSYcOjgDFw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318648-1574454155653.jpg'] +Sat, 23 Nov 2019 01:06:20 -0500 Australian politician says media revelations of Chinese spying disturbing https://news.yahoo.com/chinese-defector-gives-australia-details-060620121.html "A senior Australian politician on Saturday said he was disturbed by thereported efforts of China to infiltrate politics in Australia, Hong Kong andTaiwan detailed by an asylum seeker who said he was a Chinese spy. Resource-rich Australia's ties with its most important trading partner China havedeteriorated in recent years, amid accusations that Beijing is meddling indomestic affairs. The defector, named as Wang ""William"" Liqiang by the Agenewspaper, gave a sworn statement to the Australian Security IntelligenceOrganisation (ASIO), identifying China's senior military intelligence officersin Hong Kong, the newspaper said. " ['https://news.yahoo.com/chinese-defector-gives-australia-details-060620121.html', 'http://l.yimg.com/uu/api/res/1.2/cc.wl2vTUYtjtkeSnS5JSQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/51d995705a6c810d35ba0fa0da7d3132'] +Fri, 22 Nov 2019 16:34:18 -0500 Boeing's 737 Max shouldn't be allowed to fly with a controversial flight-control system, an aviation regulator reportedly said in leaked emails (BA) https://news.yahoo.com/boeings-737-max-shouldnt-allowed-213418250.html The manager at Canada's aviation regulator told counterparts at other globalregulators that he has concerns about the MCAS system on the 737 Max. ['https://news.yahoo.com/boeings-737-max-shouldnt-allowed-213418250.html', 'http://l2.yimg.com/uu/api/res/1.2/W73jvePUA68EbNpixrnjzw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/dbb724282cdfd2335b747da9a4d890b4'] +Fri, 22 Nov 2019 10:00:24 -0500 Trump says Kellyanne 'must have done some bad things' to George Conway https://news.yahoo.com/trump-kellyanne-must-have-done-some-bad-things-to-george-conway-150024207.html Kellyanne Conway, special counselor to President Trump, is known to beratejournalists who speculate about her marriage to George Conway, a prominentTrump critic. In an interview with “Fox & Friends” on Friday, the presidentdid just that. ['https://news.yahoo.com/trump-kellyanne-must-have-done-some-bad-things-to-george-conway-150024207.html', 'http://l1.yimg.com/uu/api/res/1.2/7sDNs8MBWDjygM25k_AWqg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/175be710-0d38-11ea-beed-4e3489a68c7b'] +Fri, 22 Nov 2019 15:51:22 -0500 Daughter's 911 call for pizza was actually a domestic violence report. Thedispatcher knew https://news.yahoo.com/daughters-911-call-pizza-actually-200927980.html An Ohio dispatcher detected that a woman calling 911 ordering a pizza was inneed of police help. ['https://news.yahoo.com/daughters-911-call-pizza-actually-200927980.html', 'http://l.yimg.com/uu/api/res/1.2/oqzuVTYJzWjxORhen3EbHw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-images/2019-11/f28279b0-0d85-11ea-bfff-eac9bdbee1e8'] +Fri, 22 Nov 2019 18:25:14 -0500 The Latest: Colombia president opens ‘national conversation’ https://news.yahoo.com/latest-colombia-president-orders-curfew-232514035.html Colombian President Iván Duque says his government will open a “nationalconversation” aimed at reaching an agreement on reforms following massivedemonstrations that have paralyzed much of the capital city. In a televisedaddress Friday, Duque said the dialogue will include all social sectors andtake place in cities around the country starting next week. The president alsoannounced that he is boosting police and military patrols in focal pointswhere there is continuing unrest. ['https://news.yahoo.com/latest-colombia-president-orders-curfew-232514035.html', 'http://l.yimg.com/uu/api/res/1.2/s3bbk_9bOPlaewRivkNt7w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/5ec8b08012d3ac25d9e680381194ad52'] +Fri, 22 Nov 2019 12:04:06 -0500 Trump says Hong Kong would be ‘obliterated in 14 minutes’ without him https://news.yahoo.com/trump-says-hong-kong-obliterated-170406340.html President Trump said Friday he had saved Hong Kong from being destroyed bypersuading Chinese President Xi Jinping to hold off on sending in troops tocrush the pro-democracy movement there. ['https://news.yahoo.com/trump-says-hong-kong-obliterated-170406340.html', 'http://l1.yimg.com/uu/api/res/1.2/aHZcHyU9r9dw_l36O94IWw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318611-1574442211218.jpg'] +Sat, 23 Nov 2019 05:53:47 -0500 Police seize unregistered AR-15 and ammo in 13-year-old's arrest https://news.yahoo.com/police-seize-unregistered-ar-15-080815253.html Authorities said they found a they found an unregistered AR-15 with a high-capacity magazine, approximately 100 rounds of ammunition, a map of theschool, and a list of some students and teachers in the suspect's home ['https://news.yahoo.com/police-seize-unregistered-ar-15-080815253.html', 'http://l.yimg.com/uu/api/res/1.2/qXnIMKuB6jpZY5zxdzHIVA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/d370cdac4193bbba6937f382d437ac93'] +Sat, 23 Nov 2019 06:48:16 -0500 Internet outage forces Iranians to resort to old ways https://news.yahoo.com/internet-outage-forces-iranians-resort-old-ways-114816211.html "The internet restrictions, for their part, apparently aimed to temper shows ofdissent and anger over the move and stop footage of the unrest from beingshared. Brigadier General Salar Abnoosh, a deputy head of the Basij volunteermilitia, said Friday that the internet outage had helped to ""disrupt thecomplicated"" plans by Iran's enemies. On Saturday -- day seven of the internetrestrictions and the start of the working week in Iran -- people in Tehranwere trying to overcome problems brought on by the outage. " ['https://news.yahoo.com/internet-outage-forces-iranians-resort-old-ways-114816211.html', 'http://l2.yimg.com/uu/api/res/1.2/..s1Iv5wXaQt4jjGlb44KA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/223bae6b42bf363d2596237aaa0f1c208c9d08ab.jpg'] +Fri, 22 Nov 2019 08:16:00 -0500 World War III? In 1956, Russia Almost Fought Britain, France, and Israel WithNuclear Weapons https://news.yahoo.com/world-war-iii-1956-russia-131600783.html The Suez Canal Crisis was a dangerous gambit. ['https://news.yahoo.com/world-war-iii-1956-russia-131600783.html', 'http://l1.yimg.com/uu/api/res/1.2/OEe5PmqDKFweyutKQVubXg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/370f046be786cd969af5344d85d19da4'] +Fri, 22 Nov 2019 19:26:09 -0500 "Cuba acknowledges ""vestiges"" of racism, launches program to fight it" https://news.yahoo.com/cuba-acknowledges-vestiges-racism-launches-002609460.html "Cuba's government has launched a program to combat racism, acknowledging thata problem that Fidel Castro tried to eliminate after the 1959 leftistrevolution remains unresolved. The program aims to identify steps to fightdiscrimination, broaden education on Cuba's African legacy and start a publicdebate on racial issues, Culture Vice Minister Fernando Rojas told a cabinetmeeting, according to state-run media on Friday. ""Everyone recognizes ourrevolution has been the social and political process that has possibly donemost to eliminate racial discrimination,"" state-run media quoted PresidentMiguel Diaz-Canel as saying. " ['https://news.yahoo.com/cuba-acknowledges-vestiges-racism-launches-002609460.html'] +Sat, 23 Nov 2019 15:37:09 -0500 Judge orders father of supermodels Bella and Gigi Hadid to pull down $100million Bel Air mega-mansion https://news.yahoo.com/judge-orders-father-supermodels-bella-171514049.html "The property tycoon father of supermodels Gigi and Bella Hadid has beenordered by a judge to demolish his half-built $100 million Bel Air mega-mansion, which has been dubbed the ""Starship Enterprise"". Mohamed Hadid hasbeen involved in a long legal battle over the palatial 30,000 sq ft residenceafter neighbours complained about its size. A judge in Los Angeles SuperiorCourt decided it was a ""clear and present danger"" to other properties in thearea. The ruling came after a structural engineer said supporting piles werenot driven far enough into the ground underneath the hillside property. Thejudge said: ""If this house came down the hill it would take a portion of theneighbourhood with it."" Following the ruling Mr Hadid told TMZ the house ""hasnot moved a millimetre! It has never been an imminent danger to theneighbours."" The property developer is the father of supermodel Bella Hadidand her sister Gigi Credit: E-PRESS / BACKGRID UK He also said many cityinspectors had monitored the construction process since it began in 2012, andconcerns were not raised until years later. The court heard demolition wouldtake six months and cost several million dollars. It was the latestdevelopment in a long saga over the project, which was to include an IMAXcinema. Mr Hadid, a property developer, hoped to ultimately sell the mansionfor nine figures. In 2017 he told Town & Country Magazine: ""Demolish thishouse? Never! This house will last forever. Bel Air will fall before thishouse will."" The same year, he was sentenced to three years probation and 200hours of community service after pleading no contest to three charges ofviolating building regulations. Several neighbours sued Mr Hadid claiming theylived in ""constant fear” of the hillside collapsing, and that their ""privacyand serenity was invaded by the illegal and unsightly structure looming abovethem."" Mr Hadid responded that he was the victim of ""witch hunt"" and theneighbours' claims were ""total nonsense."" " ['https://news.yahoo.com/judge-orders-father-supermodels-bella-171514049.html', 'http://l2.yimg.com/uu/api/res/1.2/tH8S3utIPbftQ67oWncHag--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/e837b751f995e5df15fc8e2f28f7993b'] +Fri, 22 Nov 2019 08:00:00 -0500 26 of the Most Fascinating Public Sculptures https://news.yahoo.com/22-most-fascinating-public-sculptures-211800916.html ['https://news.yahoo.com/22-most-fascinating-public-sculptures-211800916.html'] +Sat, 23 Nov 2019 11:34:42 -0500 John Bolton re-opens Twitter account, says White House withheld his access https://news.yahoo.com/john-bolton-opens-twitter-account-193849416.html "Former National Security Advisor John Bolton returned to Twitter, alleging theWhite House withheld his access ""out of fear of what I may say?"" " ['https://news.yahoo.com/john-bolton-opens-twitter-account-193849416.html', 'http://l1.yimg.com/uu/api/res/1.2/CSD7BHDhn_3AFaEo9OkbBw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/f0f70bb5f9662502755184cd78fb0a30'] +Sat, 23 Nov 2019 13:57:16 -0500 Colombians continue protest, banging pots and pans at night https://news.yahoo.com/colombia-maintains-heightened-military-presence-185716049.html Several thousand Colombians continued their protest against President IvánDuque Saturday by banging pots and pans late into the evening in the latestshow of rejection against his conservative government. Frustrated citizensgathered in capital city Bogota – including outside an unofficial residence ofthe unpopular leader – to protest by chanting, dancing and holding up signsdecrying a range of social and economic woes. “Get out Duque!” some cried. ['https://news.yahoo.com/colombia-maintains-heightened-military-presence-185716049.html', 'http://l2.yimg.com/uu/api/res/1.2/652pvF5.lt3mEyiR7KUIag--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/8198ee443109fae97b707a9423298cf0'] +Fri, 22 Nov 2019 08:48:02 -0500 Otto Warmbier’s Parents Will Work to Have North Korean Assets Seized https://news.yahoo.com/otto-warmbier-parents-north-korean-134802591.html "The parents of former U.S. hostage Otto Warmbier, who died in 2017 after beingreleased from North Korea in a coma, have announced they will attempt to seizeNorth Korean business assets around the world to punish the country'sgovernment over its human-rights abuses.Otto Warmbier was convicted in a NorthKorean court after he tried to steal a propaganda poster from his hotel. Hewas released to the U.S. in a vegetative state a year later.Otto's parentshave alleged he was tortured. North Korea has denied the allegations,asserting it was the ""biggest victim"" in Otto's death and, without evidence,attributing Warmbier’s death to botulism.""My mission would be to hold NorthKorea responsible, to recover and discover their assets around the world,""Fred Warmbier said at a Friday press conference in Seoul, South Korea,according to the Associated Press. Fred and his wife Cindy had been invited tospeak at a forum for a group representing South Korean families whose memberswere abducted by North Korea over the course of the 1950-53 Korean War.""Wefeel that if you force North Korea to engage the world in a legal standpoint,then they will have to ultimately have a dialogue,"" he continued. ""They arenot going to come and have a dialogue with us any other way.""The Warmbiersplan to pressure European governments to close hostels run by North Korea.They are already pursuing legal action against a hostel on the grounds ofNorth Korea's embassy in Berlin.""We cannot give up, we can’t give them a pass.We have to fight with all of our power,"" Cindy Warmbier said at theconference.President Trump has repeatedly sought to negotiate the removal ofnuclear weapons from North Korea, and became the first American president tomeet with a North Korean leader during negotiations. Those negotiations arecurrently stalled. " ['https://news.yahoo.com/otto-warmbier-parents-north-korean-134802591.html', 'http://l1.yimg.com/uu/api/res/1.2/wtjLVZFaYcVjTytVoK4pMA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/efd025776b21401eb0fcc31adc249577'] +Fri, 22 Nov 2019 20:05:51 -0500 How the leader of a notorious Chicago street gang evolved into an ISISsupporter https://news.yahoo.com/leader-notorious-chicago-street-gang-212152623.html The gang leader thought he had provided $500 in cash to man fighting for ISISin Syria. In reality, it was an undercover FBI agent. ['https://news.yahoo.com/leader-notorious-chicago-street-gang-212152623.html', 'http://l.yimg.com/uu/api/res/1.2/RBRF42ThRe.7V5EfnLdZEQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/324ae857dd4b4a490f71164d0e042053'] +Fri, 22 Nov 2019 19:40:44 -0500 A man in India dressed up as a pilot and used his disguise to skip lines andget free upgrades, police say https://news.yahoo.com/man-india-dressed-pilot-used-120641017.html The police detained Rajan Mahbubani as he tried to board an AirAsia planeflying from Delhi to Kolkata. They say he impersonated a Lufthansa pilot. ['https://news.yahoo.com/man-india-dressed-pilot-used-120641017.html', 'http://l.yimg.com/uu/api/res/1.2/xs0tyTkkI4m8NPUrBRSwHg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/9943f0fad7d1a42ea520a653b73f6ce4'] +Fri, 22 Nov 2019 19:42:01 -0500 Through the wire -- Palestinians risk all to work in Israel https://news.yahoo.com/wire-palestinians-risk-israel-004201378.html It is well before dawn when the first work deprived Palestinians arrive tosneak through a two-metre hole cut in the metal fence that is supposed to keepthem out of Israel. The men are among the thousands of Palestinians working inIsrael illegally, risking bad working conditions, exploitation and jail for achance of employment. On the morning AFP visited, Yunis, from Dahariya in thesouthern West Bank, was one of hundreds running the gauntlet as policepatrolled the area. ['https://news.yahoo.com/wire-palestinians-risk-israel-004201378.html', 'http://l2.yimg.com/uu/api/res/1.2/QLzEAm91tQY8k.xS.Me.0g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/d4d12d4bc2d0a70402e89852be128fb94ff97864.jpg'] +Fri, 22 Nov 2019 18:00:00 -0500 Operation Aphrodite: America's World War II Experiment with B-17 SuicideDrones https://news.yahoo.com/operation-aphrodite-americas-world-war-230000937.html Some history that is not widely known--until now. ['https://news.yahoo.com/operation-aphrodite-americas-world-war-230000937.html', 'http://l2.yimg.com/uu/api/res/1.2/KxuAbO2Q97iMz1_zPMzNIg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/844cbaec24978c92f71283403c565f14'] +Fri, 22 Nov 2019 17:49:31 -0500 IRS Says Millionaires Can Keep Estate Tax Benefits After 2025 https://news.yahoo.com/irs-says-millionaires-keep-estate-224931469.html (Bloomberg) -- Taxpayers can benefit from higher thresholds for U.S. estateand gift taxes even if they don’t die until after the tax overhaul expires in2026, the Internal Revenue Service said.The 2017 Republican tax lawapproximately doubled the estate and gift tax exemption. That meansindividuals this year can pass on, tax-free, $11.4 million from their estateand gifts they gave before their death. Couples can pass on $22.8 million. Thehigher levels expire in 2026, but individuals who make large gifts while theexemption is higher and die after it goes back down won’t see the estate taxbenefit eroded, the IRS said in regulations announced Friday.“As a result,individuals planning to make large gifts between 2018 and 2025 can do sowithout concern that they will lose the tax benefit of the higher exclusionlevel once it decreases after 2025,” the agency said in a press release.Theexemption increase was a priority for Republicans in the 2017 tax overhaul. Itcut the number of individuals who would be subject to the 40% estate tax byabout two-thirds. The exemption was $5.5 million before the lawchange.Democrats, however, are eyeing a reversal of those changes if theysweep the House, Senate and White House in 2020. Almost every Democraticpresidential candidate has called for the estate tax to apply to a largernumber of wealthy families.Senator Bernie Sanders has called for the estatetax to kick in on fortunes worth at least $3.5 million, and has proposed ratesas high as 77%.To contact the reporter on this story: Laura Davison inWashington at ldavison4@bloomberg.netTo contact the editors responsible forthis story: Joe Sobczyk at jsobczyk@bloomberg.net, Laurie Asséo, Ros KrasnyFormore articles like this, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/irs-says-millionaires-keep-estate-224931469.html'] +Fri, 22 Nov 2019 17:21:55 -0500 Colorado man faces new charges for plotting to bomb synagogue https://news.yahoo.com/colorado-man-faces-charges-plotting-222155006.html An avowed white supremacist being held without bond for plotting to bomb aColorado synagogue this month has been indicted on additional charges ofattempted arson and using explosives to commit a felony, federal prosecutorssaid on Friday. The two additional charges against Richard Holzer, 27, on topof an earlier count of attempting to obstruct religious services by force,could send him to prison for 50 years, U.S. Attorney Jason Dunn said in astatement. Holzer was arrested on Nov. 4 after an undercover sting by FBIagents, who said he plotted to bomb the Temple Emanuel synagogue in Pueblo,Colorado. ['https://news.yahoo.com/colorado-man-faces-charges-plotting-222155006.html', 'http://l.yimg.com/uu/api/res/1.2/kP5je0wwETesvOi2BKZrPQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/88188e1e2a02bb3f2a57256652b55015'] +Fri, 22 Nov 2019 12:54:07 -0500 GOP Sen. Marsha Blackburn tweets conspiratorial smear against Lt. Col Vindman https://news.yahoo.com/gop-sen-marsha-blackburn-tweets-175407520.html "Sen. Marsha Blackburn (R-Tenn.) has it out for a Purple Heart veteran.When Lt.Col Alexander Vindman testified in the impeachment hearing into PresidentTrump on Tuesday, Trump and other Republicans questioned his militarybonafides and seemed skeptical of the fact that he doesn't know who theUkraine whistleblower is. And in a Friday tweet, Blackburn kept the attacksgoing, tweeting that ""Vindictive Vindman is the 'whistleblower's' handler."">Vindictive Vindman is the ""whistleblower's"" handler.> > \-- Sen. MarshaBlackburn (@MarshaBlackburn) November 22, 2019There's a lot wrong with thisshort tweet. First, it suggests Vindman has something against Trump,furthering the right-wing rhetoric that claims he's less American because hewas born in the Soviet Union. And second, it falsely claims Vindman knows theidentity of the whistleblower -- something that isn't true, but didn't stopRep. Devin Nunes (R-Calif.) from trying to get Vindman to spill their identityon Tuesday. And third, it's an outright smear on a high-ranking militaryofficial who received heaps of praise for his service before, during, andafter his hearing.More stories from theweek.com Outed CIA agent Valerie Plameis running for Congress, and her launch video looks like a spy movie trailerIndia is entering a new dark age Where is Nancy Pelosi on impeachment? " ['https://news.yahoo.com/gop-sen-marsha-blackburn-tweets-175407520.html'] +Fri, 22 Nov 2019 23:05:41 -0500 Biden snaps at Fox News reporter for question about Hunter Biden'sillegitimate son https://news.yahoo.com/biden-snaps-fox-news-reporter-040541000.html Hunter Biden is the father; Raymond Arroyo breaks down his 'Friday Follies.' ['https://news.yahoo.com/biden-snaps-fox-news-reporter-040541000.html', 'http://l.yimg.com/uu/api/res/1.2/ZlSvt753vZjV5AoxTH4PIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/11734/ee97e106-5348-44f1-a7bc-c15acb4acd97/2338ccab-cdca-5b33-a233-3739661a3665/data_3_0.jpg?s=b904574247b7e939c1c7c46dd01a9c17&c=829f29c6dfa3d12c6f661f8a6b041698&a=foxnews&mr=0'] +Sat, 23 Nov 2019 03:19:17 -0500 IS-linked Philippine militant behind suicide attacks killed https://news.yahoo.com/linked-philippine-militant-behind-suicide-081917185.html Philippine troops have killed a “high-value” but little-known Filipinomilitant who acted as a key link of the Islamic State group to local jihadistsand helped set up a series of deadly suicide attacks in the south that havealarmed the region, military officials said Saturday. Talha Jumsah, who usedthe nom de guerre Abu Talha, was killed Friday morning in a clash with troopsin the jungles off Patikul town in Sulu province, which has been rocked bythree deadly suicide bombings this year, including the first suicide attackknown to have been staged by a Filipino militant. ['https://news.yahoo.com/linked-philippine-militant-behind-suicide-081917185.html', 'http://l1.yimg.com/uu/api/res/1.2/G3JFyUdFrKvP6ZlW.5fvvQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/8250adc56fddfc0a11f4e93f488aca71'] +Fri, 22 Nov 2019 08:37:24 -0500 Buttigieg, Fellow Dems Seek Distance from Warren’s Pledge ‘Never to GiveAmbassadorial Positions to Wealthy Donors’ https://news.yahoo.com/buttigieg-fellow-dem-candidates-back-133724349.html Senator Elizabeth Warren’s Democratic primary opponents have proven hesitantto accept her challenge to “never to give ambassadorial positions to wealthydonors.”“Anyone who gives a big donation, don’t ask to be an ambassador,”Warren said during Wednesday's debate, after taking a swipe at Trump donor andAmbassador to the European Union Gordon. “I ask everyone running for presidentto join me in that,” Warren said Wednesday, before her campaign followed upwith a tweet Thursday.> Ambassador Gordon Sondland got his job after writing a$1 million check to Donald Trump's inaugural committee. This is Washingtoncorruption at its worst. I've pledged never to give ambassadorial positions towealthy donors—and every candidate should do the same.pic.twitter.com/kXG6jAJ34K> > \-- Elizabeth Warren (@ewarren) November 21,2019When reporters reached out other campaigns to see their interest in theproposal, most rebuffed the offer.South Bend, Ind., mayor Pete Buttigieg didnot rule donors out of consideration. “I’ll certainly commit that anybody Iappoint to any position will be qualified and somebody who will do a good jobserving the United States,” he said. “I certainly believe that anypresidential appointment should be driven by the qualifications of theappointee.”Andrew Yang echoed Buttigieg's sentiment. “I certainly think thereare other ways to select ambassadors than solely on how much money they got,”but refused to go as far as Warren in comments to HuffPost after the debate.“Ithink that’s completely up to her,” Kamala Harris surrogate Stephanie Moralessaid after the debate. “That’s the beauty of having different candidates voicetheir different opinions. As much passion as Sen. Harris put into her commentsabout Black women, she didn’t turn around and say, ‘Elizabeth Warren, you needto pledge to do these things.’”The only positive approval came from fellowprogressive candidate Bernie Sanders, who tweeted Thursday that “it is anoutrage that throughout the history of this country, presidentialadministrations have been filled with wealthy campaign contributors.”> It isan outrage that throughout the history of this country, presidentialadministrations have been filled with wealthy campaign contributors.> > Here’smy commitment: I will fill my administration with my donors—the working classof this country who give an average of $18 apiece. https://t.co/BMcSdEk5Rh> >\-- Bernie Sanders (@BernieSanders) November 21, 2019 ['https://news.yahoo.com/buttigieg-fellow-dem-candidates-back-133724349.html', 'http://l1.yimg.com/uu/api/res/1.2/VQcrJeIipVXnIzo5EKEQ_Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/2cb2d2ced759eccdb5e020357d490a9b'] +Sat, 23 Nov 2019 12:09:52 -0500 Thanksgiving weather: Snow, wind could snarl travel in central, eastern USA as55M clog roads, airports https://news.yahoo.com/thanksgiving-weather-snow-wind-could-153753609.html Wintry conditions are expected not only to delay travelers on icy, crowdedInterstates, but also disrupt air travel with strong, gusty winds at keyairports. ['https://news.yahoo.com/thanksgiving-weather-snow-wind-could-153753609.html'] +Sat, 23 Nov 2019 10:25:53 -0500 Syria Kurds say repatriated US child, German and children https://news.yahoo.com/syria-kurds-repatriated-us-child-german-children-152553347.html "Syria's Kurds have handed over an American toddler and three German childrenand their mother to their respective governments, a Kurdish official and aKurdish source said on Saturday. Abdelkarim Omar, a senior official with theKurdish authorities in northeastern Syria, said the handover went ahead onFriday. ""An American child and three German children with their mother werehanded over to their governments,"" he said in a statement on Twitter. " ['https://news.yahoo.com/syria-kurds-repatriated-us-child-german-children-152553347.html', 'http://l1.yimg.com/uu/api/res/1.2/hO_D0UxH4DPwpup5oAe8tw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/a19ad85da97818037082c5ec92f59fe7dabac4c6.jpg'] +Sat, 23 Nov 2019 19:00:00 -0500 In America's Next Serious War, It's Aircraft Carriers Won't Go Unscathed https://news.yahoo.com/americas-next-serious-war-aircraft-000000637.html It's time to adapt. ['https://news.yahoo.com/americas-next-serious-war-aircraft-000000637.html', 'http://l2.yimg.com/uu/api/res/1.2/oqgoiH.bOeN8fuIpn0ajeg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/cffe6298bb2e5fbcc0ef44b1bdddc363'] +Sat, 23 Nov 2019 08:51:00 -0500 Haunting photos of the 'Forbidden City,' an abandoned military base thathasn't been used in 25 years https://news.yahoo.com/haunting-photos-forbidden-city-abandoned-135100168.html "The ""Forbidden City"" was used as the Nazi command center during World War IIand housed 40,000 Soviet soldiers during the Cold War. " ['https://news.yahoo.com/haunting-photos-forbidden-city-abandoned-135100168.html', 'http://l.yimg.com/uu/api/res/1.2/krT.OtUDPrHyo8wDHdXxuA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/13edcd96017767e5771ac25bdf0e1213'] +Fri, 22 Nov 2019 10:57:45 -0500 Vatican accused of harbouring bishop wanted for alleged sexual abuse of youngpriests https://news.yahoo.com/vatican-accused-harbouring-bishop-wanted-155745921.html "The Vatican has been accused of harbouring a bishop wanted for alleged sexabuse offences, as Pope Francis railed against the evils of sexualexploitation on a visit to Thailand. Prosecutors in Argentina have issued aninternational arrest warrant for Bishop Gustavo Zanchetta, who is accused ofsexually abusing young trainee priests, known as seminarians. He denies thecharges. Bishop Zanchetta, 55, who is close to his fellow Argentine PopeFrancis, lives in the Vatican. Not only that, he reportedly resides in CasaSanta Marta, an accommodation block in the shadow of St Peter’s Basilica whereFrancis has lived ever since his election six years ago. Bishop Zanchetta isbelieved to be living in the Vatican Credit: AFP Argentinian prosecutors havecomplained that the bishop has failed to respond to repeated emails andtelephone calls about the abuse allegations, which were made last year by twoyoung seminarians. The trainee priests also accused him of mismanagement ofthe diocese’s finances and abuse of power. If convicted, the bishop would faceup to 10 years in prison, but there is no extradition treaty between Argentinaand the Vatican and for now he seems to be safely ensconced in Rome. Thestand-off emerged as Pope Francis made an impassioned speech in Bangkok onbehalf of victims of sex trafficking, prompting accusations of a doublestandard in the Catholic Church’s stance on sex crimes. “Despite beingsuspended from ministry, the Vatican has argued that Zanchetta's ‘daily work’requires him to be in Rome instead of facing trial in Argentina. This decisionis at best questionable and at worst a Vatican-sponsored opportunity forZanchetta to flee from justice,” said Zach Hiner, the executive director ofvictims’ pressure group SNAP, the Survivors Network of those Abused byPriests. “If Pope Francis was serious about his “all-out battle” against casesof clergy abuse, he would order Zanchetta to return to Argentina and face theallegations against him.” Anne Barrett Doyle, of BishopAccountability.org,which documents the abuse crisis in the Catholic Church, said: “It's vitalthat Pope Francis ensures Zanchetta's full cooperation with Argentine civilauthorities. To do otherwise would put the Pope in violation of his own decreeforbidding conduct by bishops that interferes with civil investigations.“Francis must begin to set an example - especially because his protectivenesstoward Zanchetta to date already raises disturbing questions about hiscommitment to ending complicity by Church officials. “Francis should not havegiven Zanchetta safe harbour in the first place, given the bishop's reportedwrongdoing in Argentina.” During an open air Mass in Bangkok on Thursday, heurged greater efforts in combating what he called the “humiliation” of womenand children forced into prostitution. Earlier, in a speech delivered at theoffice of the Thai prime minister, the Pope called for greater internationalcommitment to protect women and children ""who are violated and exposed toevery form of exploitation, enslavement, violence and abuse."" Pope Francisexits a youth Mass at Assumption Cathedral on November 22, 2019 in Bangkok,Thailand Credit: Getty In 2017, Zanchetta resigned as bishop of the city ofOran, in the north of Argentina, citing “health reasons”. The Pope called himto Rome and gave him a job in Apsa, the Vatican agency that manages theChurch’s huge property portfolio. In January, he was suspended from that rolewith the Vatican acknowledging he was under investigation. Argentinianprosecutors complain that they cannot get in touch with Zanchetta and that herefuses to respond to their communications. The Vatican did not respond toquestions about Zanchetta’s whereabouts or whether he intended to reply toprosecutors in Argentina. In a Mexican television interview earlier this year,the Pope said he had asked Zanchetta about the accusations, which involvednude selfies on the bishop’s mobile phone. Francis said he gave his friend thebenefit of the doubt after he claimed his phone had been hacked. Arepresentative for the bishop in Rome insisted that Zanchetta had alwayscooperated with investigators. ""He is the first one to be interested inclarifying the truth, so that his reputation can be restored. For this reasonhe will continue to actively cooperate with the justice system,"" JavierIniesta told Reuters. Pope Francis has been accused of failing to act againstthe scourge of clerical sex abuse by campaign groups representing victims.Scandals have erupted in Argentina and neighbouring Chile, as well as othercountries such as Ireland, Australia and Germany. " ['https://news.yahoo.com/vatican-accused-harbouring-bishop-wanted-155745921.html', 'http://l.yimg.com/uu/api/res/1.2/Q8K9vA4HuCu6qlk2E.I2VQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/332d2263b6b4a8a57d18d08c4feccd8c'] +Fri, 22 Nov 2019 12:02:24 -0500 Meghan McCain Snaps at Sunny Hostin: ‘Take Your Cheap Applause Line!’ https://news.yahoo.com/meghan-mccain-snaps-sunny-hostin-170224259.html Things are just going swimmingly on The View.Following a week’s worth ofdramatic impeachment hearings, conservative co-host Meghan McCain lashed outat her View colleagues on Friday over Republican belief that President Trumpdid not commit an impeachable offense—specifically getting into a heated,personal clash with co-host Sunny Hostin.After McCain pointed out thatretiring Rep. Will Hurd (R-TX) said that he has not heard evidence provingTrump committed bribery or extortion, liberal co-host and frequent sparringpartner Joy Behar wondered aloud whether Hurd was “deaf” since “we all heardit.” This prompted McCain to grumble that Democrats had “gotten out over theirskis” so many times with Trump that there’s now a problem of distrust forconservatives like here when it comes to impeachment.“Can I say one thing—whatabout the Constitution? Isn’t that the bottom line?” Behar asked.“I have acopy of the Constitution on my nightstand,” the daughter of John McCain shotback. “Please don’t talk to me about the Constitution.”“The Constitutionbelongs to all of us whether we have it on our nightstand or not,” Beharretorted.Moments later, McCain moved on to her next target after Hostin saidshe was “shocked” to hear Hurd dismiss the evidence against the president.“Iwill also say that it tells me that he is complicit, the Republican Party hasenabled this president, continues to enable this president,” Hostin continued,causing McCain to accuse her of “slandering” a former CIA officer.“It’s aboutthe fact that he heard evidence clear and simple and for him to sit there andsay that he—the evidence has to be overwhelming and that he heard nooverwhelming evidence, I want to know which hearings he was sitting at,”Hostin added to loud cheers from the audience.“It’s easy to get a cheapapplause line here,” McCain groused. “It just is, and that’s fine. Take yourcheap applause line.” After Hostin sternly responded that it isn’t a “cheapapplause line” and “they agree” with her, McCain yelled: “Let me speak!”“Youhave been speaking a lot,” Hostin quickly fired back.‘The View’s’ MeghanMcCain Explodes at Sunny Hostin for Defending Julian AssangeRead more at TheDaily Beast.Got a tip? Send it to The Daily Beast hereGet our top stories inyour inbox every day. Sign up now!Daily Beast Membership: Beast Inside goesdeeper on the stories that matter to you. Learn more. ['https://news.yahoo.com/meghan-mccain-snaps-sunny-hostin-170224259.html', 'http://l.yimg.com/uu/api/res/1.2/kYh8mT.Wnc49ecstqT2J_A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/61f45d60ad627740d4f838a72e840069'] +Fri, 22 Nov 2019 13:36:59 -0500 A transgender woman says she was forced to remove her makeup with handsanitizer for a DMV photo https://news.yahoo.com/transgender-woman-says-she-forced-183659177.html Jaydee Dolinar told Glamour that a DMV worker handed her hand sanitizer andsaid she wouldn't be granted a new photo ID unless she removed her makeup. ['https://news.yahoo.com/transgender-woman-says-she-forced-183659177.html', 'http://l2.yimg.com/uu/api/res/1.2/iE60jXB1GRjZjH2qNWSq5g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/088ee77b40c92b07d5d5daba273e0ade'] +Fri, 22 Nov 2019 15:34:00 -0500 Our 20 Favorite Car Toys for Kids https://news.yahoo.com/20-favorite-car-toys-kids-203400055.html ['https://news.yahoo.com/20-favorite-car-toys-kids-203400055.html'] +Fri, 22 Nov 2019 16:04:55 -0500 AP sources: Ex-Iowa Gov. Tom Vilsack plans to endorse Biden https://news.yahoo.com/ap-sources-ex-iowa-gov-210455101.html Former Iowa Gov. Tom Vilsack plans to publicly endorse Joe Biden for presidentat a rally on Saturday, two people close to Biden’s campaign told TheAssociated Press. The former two-term governor, who served with Biden in theObama administration as U.S. secretary of agriculture, and his wife, ChristieVilsack, plan to appear with Biden and his wife, Jill, at a morning rally inDes Moines. The backing from Vilsack comes as Biden, once the early favoritein the state with the nation’s first presidential caucuses, has steadilyslipped in Iowa, and he now trails South Bend, Indiana, Mayor Pete Buttigiegand Massachusetts Sen. Elizabeth Warren in early polls. ['https://news.yahoo.com/ap-sources-ex-iowa-gov-210455101.html', 'http://l.yimg.com/uu/api/res/1.2/WCYJ9z8xekzGKpPSuWCh7A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/9a11a82f375b7193f5910c86c5e723f1'] +Fri, 22 Nov 2019 09:39:04 -0500 PHOTOS: Iraqi protests continue amid rising death toll in Baghdad https://news.yahoo.com/photos-iraqi-protests-continue-amid-rising-death-toll-in-baghdad-143904959.html Three anti-government protesters have been killed and 25 others injured amidongoing clashes with Iraqi security forces near a strategic bridge in Baghdad. ['https://news.yahoo.com/photos-iraqi-protests-continue-amid-rising-death-toll-in-baghdad-143904959.html', 'http://l2.yimg.com/uu/api/res/1.2/dBraHf_rNQVu2whRrqqXlg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/29702510-0d33-11ea-8f7f-f1886379ff70'] +Fri, 22 Nov 2019 18:38:35 -0500 Haunting texts revealed as Boston College student pleads not guilty inboyfriend's suicide https://news.yahoo.com/haunting-texts-revealed-boston-college-182435022.html Inyoung You came to a Boston courtroom from her native South Korea to enter anot guilty plea in the suicide of her Boston College boyfriend, Alex Urtula. ['https://news.yahoo.com/haunting-texts-revealed-boston-college-182435022.html', 'http://l.yimg.com/uu/api/res/1.2/vSNYir3vz.MF6DTbTy53rw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/cd6e10b86aec00b8f47a505a87dfbd4a'] diff --git a/final_task/rss_reader/requirements.txt b/final_task/rss_reader/requirements.txt index 44b9834..47a6ff2 100644 --- a/final_task/rss_reader/requirements.txt +++ b/final_task/rss_reader/requirements.txt @@ -1 +1,4 @@ -html2text \ No newline at end of file +html2text +dateutil +jinja +xhtml2pdf \ No newline at end of file diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index 762385e..23f2d84 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -4,9 +4,14 @@ import json import logging import sys +from dataclasses import asdict +from xhtml2pdf import pisa -import rss_reader.ClassNews as ClassNews -import rss_reader.CSVEntities as CSVEntities + +import ClassNews +import CSVEntities +import ToPDF +import ToHTML VERSION = 1.1 @@ -20,6 +25,8 @@ def args_parser(args): parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') parser.add_argument('--date', type=str, help='Date for selecting topics') + parser.add_argument('--to-pdf', type=str,help ='Convert news to pdf') + parser.add_argument('--to-html', type=str, help='Convert news to html') res_args = parser.parse_args(args) return res_args @@ -48,17 +55,15 @@ def get_request(args_source, timeout=None): # Check status code status_code = rss_request.status_code logging.info("Status code {}".format(status_code)) - # if status_code == 404: - # raise requests.exceptions.HTTPError rss_request.raise_for_status() return rss_request - def main(): try: args = args_parser(sys.argv[1:]) - res_dict_articles = '' + res_dict_articles = [] + result_articles = [] logging_level = logging.CRITICAL if args.verbose: logging_level = logging.INFO @@ -83,9 +88,7 @@ def main(): logging.info('Print news:') - if main_title: - print("\nFeed: {}".format(main_title)) - + print("\nFeed: {}".format(main_title)) result_articles = ClassNews.dicts_to_articles(res_dict_articles) for article in result_articles: @@ -99,18 +102,24 @@ def main(): if args.date: logging.info('Print news by date: ') - res_list_articles = CSVEntities.return_news_to_date(args.date, "datecsv.csv", args.limit) - res_dict_articles=[] - if res_list_articles: - for article in res_list_articles: - res_dict_articles.append(article.__dict__) + result_articles = CSVEntities.return_news_to_date(args.date, "datecsv.csv", args.limit) + + if result_articles: + for article in result_articles: + res_dict_articles.append(asdict(article)) + if not (args.to_html or args.to_pdf): + print(article) else: - print("We don't have any news for the %s"%args.date) + print("We don't have any news in cache %s"%args.date) if args.json and res_dict_articles: logging.info('Print result as JSON in stdout') json_articles = json.dumps(res_dict_articles, indent=4) print(json_articles) + if args.to_pdf and result_articles: + ToPDF.print_article_list_to_pdf(result_articles, args.to_pdf) + if args.to_html and result_articles: + ToHTML.print_article_list_to_html(result_articles, args.to_html) except requests.exceptions.InvalidSchema: logging.critical('It is not http request!') @@ -125,6 +134,8 @@ def main(): except requests.exceptions.ConnectionError: logging.critical("Sorry, you have an proxy or SSL error") # A proxy or SSL error occurred. + except pisa: + logging.critical("Sorry, you have problem with converting to pdf") if __name__ == '__main__': diff --git a/final_task/rss_reader/template.html b/final_task/rss_reader/template.html new file mode 100644 index 0000000..7b194c1 --- /dev/null +++ b/final_task/rss_reader/template.html @@ -0,0 +1,18 @@ + + + +{% for item in articles %} + +

{{item.title}}

+

{{item.date}}

+{{item.link}} + +

{{item.article}}

+ +{% for links in item.links %} +

{{links}}

+{% endfor %} + +{% endfor %} + + \ No newline at end of file diff --git a/final_task/setup.py b/final_task/setup.py index 0fefbbc..f57d5b4 100644 --- a/final_task/setup.py +++ b/final_task/setup.py @@ -19,7 +19,7 @@ def read(fname): #options packages=find_packages(), - install_requires=['html2text==2019.9.26'], + install_requires=['html2text==2019.9.26', 'dateutil==2.4.1'], package_data={ '': ['*.py', '*.txt'] }, @@ -28,6 +28,6 @@ def read(fname): "console_scripts": "rss_reader=rss_reader.rss_reader:main" }, - #test_suite='rss_reader.test', + #test_suite='test', zip_safe=False ) diff --git a/final_task/test/RssUnitTest.py b/final_task/test/RssUnitTest.py index 150a417..f652557 100644 --- a/final_task/test/RssUnitTest.py +++ b/final_task/test/RssUnitTest.py @@ -1,9 +1,9 @@ import unittest import sys -import requests.exceptions as rexc -sys.path.append('../rss_reader') +sys.path.append('../rss_parser') from rss_reader import get_request, args_parser, get_dict_from_xml import ClassNews +import requests.exceptions as rexc class RssReaderTestCase(unittest.TestCase): @@ -52,13 +52,12 @@ def test_dicts_to_articles(self): ] ),[ ClassNews.Article( - { - 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', - 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', - 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', - 'article': 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ', - 'links': '

On '
                                  'an upswing, the Pete Buttigieg show rolls through New Hampshire
'.replace('\n',"") - } ), ClassNews.Article( - { - 'title': 'NATO ally expels undercover Russian spy ', - 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', - 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', - 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' - 'with the Russian military intelligence service, according to a Westernintelligence source.', - 'links': '

NATO ally expels undercover Russian spy In a rare move, NATO ' - 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' - 'intelligence service, according to a Western intelligence source.


'.replace( - '\n', '') - } - ) + 'NATO ally expels undercover Russian spy ', + 'Sat, 16 Nov 2019 16:11:50 -0500', + 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' + 'with the Russian military intelligence service, according to a Westernintelligence source.', + '

NATO ally expels undercover Russian spy In a rare move, NATO ' + 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' + 'intelligence service, according to a Western intelligence source.


'.replace('\n', '') + ) ] ) def test_args_parser(self): parser = args_parser(['https://news_api.com', '--version', '--json', '--verbose', '--limit', '2', '--date', '20191119']) - self.assertEqual(parser.sourсe,'https://news_api.com') + self.assertEqual(parser.source, 'https://news_api.com') self.assertTrue(parser.version) self.assertTrue(parser.json) self.assertTrue(parser.verbose) @@ -110,5 +105,6 @@ def test_requests_exceptions_read_timeout(self): def test_requests_exceptions_httperror(self): self.assertRaises(rexc.HTTPError, get_request, 'https://yahoo.com/rss') + if __name__ == '__main__': unittest.main() From d349efd5c76c04f919deb4c33215fe7ec07e0f47 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Mon, 25 Nov 2019 00:54:27 +0300 Subject: [PATCH 09/11] fixed iteration 4 and tests --- final_task/README.md | 4 +- final_task/rss_reader/CSVEntities.py | 13 +- final_task/rss_reader/ClassNews.py | 2 +- final_task/rss_reader/ToHTML.py | 7 +- final_task/rss_reader/ToPDF.py | 21 +- final_task/rss_reader/datecsv.csv | 102 ---------- final_task/rss_reader/requirements.txt | 2 +- final_task/rss_reader/rss_reader.py | 76 +++++--- final_task/test/RssUnitTest.py | 260 +++++++++++++++++++------ 9 files changed, 284 insertions(+), 203 deletions(-) delete mode 100644 final_task/rss_reader/datecsv.csv diff --git a/final_task/README.md b/final_task/README.md index 25a6a19..ed0a707 100644 --- a/final_task/README.md +++ b/final_task/README.md @@ -16,7 +16,7 @@ optional arguments: ```` JSON structure: ``` -{ +[ { "title": "A black man was put in handcuffs after a police officer stopped him on a trainplatform because he was eating", "article": "Bay Area Rapid Transit police said Steve Foster, of Concord, California,violated state law by eating a sandwich on a BART station's platform. ", @@ -31,7 +31,7 @@ JSON structure: ... }, ... -} +] ``` ## Iteration 2 diff --git a/final_task/rss_reader/CSVEntities.py b/final_task/rss_reader/CSVEntities.py index 1e4f497..76ed8b6 100644 --- a/final_task/rss_reader/CSVEntities.py +++ b/final_task/rss_reader/CSVEntities.py @@ -2,6 +2,7 @@ from datetime import date from dateutil.parser import parse from dataclasses import dataclass, asdict +import os import ClassNews @@ -10,11 +11,14 @@ def csv_to_python(articles_list, csv_file): """This function inserts news to the source csv file that has never been seen in it.""" + if not os.path.exists(csv_file): + open(csv_file, 'x', encoding='utf-8') + articles_list_from_csv = [] with open(csv_file, "r", encoding='utf-8') as file: reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') for item in reader: - r = ClassNews.Article(item['title'], item['date'], item['link'], item['article'], item['links']) + r = ClassNews.Article(**item) articles_list_from_csv.append(r) union_list = articles_list_from_csv[:] @@ -22,11 +26,12 @@ def csv_to_python(articles_list, csv_file): if item not in articles_list_from_csv: union_list.append(item) - with open(csv_file, "w",encoding='utf-8') as file: + with open(csv_file, "w", encoding='utf-8') as file: writer = csv.DictWriter(file, fieldnames=FIELDNAMES, delimiter='\t') for item in union_list: writer.writerow(asdict(item)) - + return True + return False def return_news_to_date(input_date, csv_file, limit): """This function read from the file those news that match by date""" @@ -36,7 +41,7 @@ def return_news_to_date(input_date, csv_file, limit): reader = csv.DictReader(file, FIELDNAMES, delimiter='\t') match_counter = 0 for item in reader: - article_from_file = ClassNews.Article(item['title'], item['date'], item['link'], item['article'], item['links']) + article_from_file = ClassNews.Article(**item) date_time = parse(article_from_file.date) date_from_file = date_time.date() diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index 6f30bfa..a685a52 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -40,7 +40,7 @@ def dicts_to_articles(dict_list): """This function receive list of dictionaries and convert it to list of articles """ article_list = [] for item in dict_list: - article_list.append(Article(item['title'], item['date'], item['link'], item['article'], item['links'])) + article_list.append(Article(**item)) return article_list def html_text_to_list_links(html_links): diff --git a/final_task/rss_reader/ToHTML.py b/final_task/rss_reader/ToHTML.py index ee07ab8..a4445d2 100644 --- a/final_task/rss_reader/ToHTML.py +++ b/final_task/rss_reader/ToHTML.py @@ -1,9 +1,14 @@ from jinja2 import Environment, FileSystemLoader +import os + +FILENAME_HTML = "articles.html" def print_article_list_to_html(list_articles, path): + if not os.path.exists(path): + raise FileNotFoundError html_stream = print_article_list(list_articles) - with open(path, "w", encoding='utf-8') as html: + with open(os.path.join(path, FILENAME_HTML), "w", encoding='utf-8') as html: html.write(html_stream) diff --git a/final_task/rss_reader/ToPDF.py b/final_task/rss_reader/ToPDF.py index ceff0fc..3b4ef05 100644 --- a/final_task/rss_reader/ToPDF.py +++ b/final_task/rss_reader/ToPDF.py @@ -1,9 +1,24 @@ from xhtml2pdf import pisa +import os + import ToHTML -def print_article_list_to_pdf(list_articles, file_name): - with open(file_name, "wb") as pdf: +FILENAME_PDF = "articles.pdf" + + +class PisaError(Exception): + def __init__(self, msg): + self.message = msg + + +def print_article_list_to_pdf(list_articles, path): + if not os.path.exists(path): + raise FileNotFoundError + + with open(os.path.join(path, FILENAME_PDF), "wb") as pdf: list_articles pisa_pdf = pisa.CreatePDF(ToHTML.print_article_list(list_articles), dest=pdf) if not pisa_pdf.err: - print('Please, check %s' % file_name) \ No newline at end of file + print('Please, check %s' % path) + else: + raise PisaError("Sorry, you have problem with converting to pdf") \ No newline at end of file diff --git a/final_task/rss_reader/datecsv.csv b/final_task/rss_reader/datecsv.csv deleted file mode 100644 index fac75c1..0000000 --- a/final_task/rss_reader/datecsv.csv +++ /dev/null @@ -1,102 +0,0 @@ -Thu, 21 Nov 2019 08:54:16 -0500 Former Trump adviser blasts 'false narrative' of Ukraine election interference https://news.yahoo.com/fiona-hill-trump-impeachment-statement-135416423.html Fiona Hill, a former top national security adviser to President Trump, toldRepublicans in the House impeachment inquiry Thursday morning to stopadvancing a “fictional narrative” that Ukraine interfered in the 2016 U.S.elections rather than Russia. ['https://news.yahoo.com/fiona-hill-trump-impeachment-statement-135416423.html', 'http://l1.yimg.com/uu/api/res/1.2/_LvA_xP5hTgeXwPgGY3Vaw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/f2a11830-0c67-11ea-bdee-2d0817fc8570'] -Wed, 20 Nov 2019 22:19:39 -0500 Gabbard and Harris clash over visions for the Democratic Party https://news.yahoo.com/tulsi-gabbard-kamala-harris-clash-democratic-debate-031939352.html At the Democratic debate in Atlanta on Wednesday, Rep. Tulsi Gabbard of Hawaiiand Sen. Kamala Harris of California clashed over their differing visions forthe party, particularly when it comes to foreign policy. ['https://news.yahoo.com/tulsi-gabbard-kamala-harris-clash-democratic-debate-031939352.html', 'http://l2.yimg.com/uu/api/res/1.2/BVMM7lYcyyPjRShYHzIJWw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/0b0ad970-0c0d-11ea-bf7e-115b57c10a59'] -Thu, 21 Nov 2019 06:55:32 -0500 A mother who claims Hunter Biden fathered her child went public with a DNAtest because he stopped paying child support, lawyers say https://news.yahoo.com/mother-claims-hunter-biden-fathered-115532081.html "A court filing in Arkansas on Tuesday stated that Hunter Biden had ""withscientific certainty"" fathered a child with Lunden Alexis Roberts. " ['https://news.yahoo.com/mother-claims-hunter-biden-fathered-115532081.html', 'http://l.yimg.com/uu/api/res/1.2/BI6ztflxJlXE2gp9nIpRAg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/357c472525b1b0d1f0f72846ac9ed2c0'] -Tue, 19 Nov 2019 22:33:18 -0500 Seller of bullets to Las Vegas gunman pleads guilty to ammo licensing offense https://news.yahoo.com/seller-bullets-las-vegas-gunman-221224268.html Douglas Haig, 57, of Mesa, Arizona, became the first and only person arrestedand charged in connection with the Oct. 1, 2017, massacre, which ended whenthe gunman, Stephen Paddock, killed himself. Haig told reporters following hisarrest early last year that none of the surplus military ammunition he sold toPaddock in September 2017 was ever fired during the killing spree, which ranksas the deadliest mass shooting in modern U.S. history. ['https://news.yahoo.com/seller-bullets-las-vegas-gunman-221224268.html', 'http://l1.yimg.com/uu/api/res/1.2/If3Su21CslVfEk9o4jr_iQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/c07a229f9c79fa757c83531dba58a322'] -Wed, 20 Nov 2019 14:19:02 -0500 American Airlines admits a midair accident that knocked out 2 flight crew wasnot caused by spilled soap https://news.yahoo.com/american-airlines-admits-midair-accident-191902211.html American Airlines admitted Tuesday the powerful fumes that knocked two flightattendants unconscious and forced a flight to make an emergency landing werenot caused by spilled soap, as the airline had previously claimed. ['https://news.yahoo.com/american-airlines-admits-midair-accident-191902211.html', 'http://l.yimg.com/uu/api/res/1.2/6.sZO.RzKk0ekzRwQjxzEg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318377-1574277411700.jpg'] -Wed, 20 Nov 2019 19:49:26 -0500 Lawsuit: US border officers questioned journalists at length https://news.yahoo.com/lawsuit-us-border-officers-questioned-004926618.html Five American journalists sued the U.S. government Wednesday, alleging borderauthorities violated their First Amendment rights by inspecting their camerasand notebooks and questioning them extensively about their coverage of lastyear’s migrant caravan. The lawsuit filed by the American Civil LibertiesUnion recounts the experiences of the freelance photographers and seeks totest the limits of U.S. officials’ broad authority to question anyone,including journalists, entering the country. While KNSD, the NBC affiliate inSan Diego, reported on the existence of the dossier in March, the journalistshave never shared such detailed accounts of how they were treated by U.S. andMexican officials. ['https://news.yahoo.com/lawsuit-us-border-officers-questioned-004926618.html', 'http://l1.yimg.com/uu/api/res/1.2/cHLH7fVNc5XchvWlZVWfPw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/49996ac36c2f3cca4a536b63e3c858b6'] -Wed, 20 Nov 2019 17:13:19 -0500 Mexicans sue Walmart over El Paso shooting https://news.yahoo.com/mexicans-sue-walmart-over-el-paso-shooting-185938190.html "Mexico's government said Wednesday it has helped 10 Mexican citizens filelawsuits against Walmart over an August shooting at a store in El Paso, Texas,where a suspected white nationalist killed 22 people. ""The objective of thesesuits, presented in El Paso county, is to hold the company responsible for nottaking reasonable and necessary measures to protect its clients from theattack,"" the foreign ministry said in a statement. Eight Mexicans were killedand eight wounded in the August 3 attack in El Paso, a city on the US-Mexicanborder where 83 percent of the population is Latino. " ['https://news.yahoo.com/mexicans-sue-walmart-over-el-paso-shooting-185938190.html', 'http://l1.yimg.com/uu/api/res/1.2/1NUZ55i2I3XXwUakwDXh7Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/72f026b1846d063d466939a26a2cbd8323107404.jpg'] -Thu, 21 Nov 2019 03:59:41 -0500 Delisting Chinese Firms From U.S. Is a ‘Terrible Idea,’ Hank Paulson Says https://news.yahoo.com/delisting-chinese-firms-u-terrible-085941467.html (Bloomberg) -- Terms of Trade is a daily newsletter that untangles a worldembroiled in trade wars. Sign up here. Former U.S. Treasury Secretary HankPaulson said calls to oust Chinese companies from American stock indexes wascontrary to the foundations of capitalism, as he warned against the dangers ofdecoupling the world’s two largest economies.Paulson, who’s now chairman ofthe Paulson Institute, told Bloomberg’s New Economy Forum in Beijing thatmoves to reduce ties between the U.S. and China would weaken Americanleadership and New York’s leading role in finance. He said less cooperationbetween Washington and Beijing would also make it more difficult to tackleanother financial crisis like the one he was forced to manage as treasurysecretary in 2008.“When the next crisis comes -- and a crisis will come,because financial crises are inevitable -- we will regret it if we lackmechanisms for the world’s first and second-largest economies to coordinate,”Paulson told the forum on Thursday, according to a prepared version of hisremarks.Paulson’s speech followed on from his warning at the same forum lastyear that an “economic iron curtain” was descending between the U.S. andChinese economies. Since then, the relations between the two sides have growneven more strained by trade disputes, security spats and disagreement overhuman rights.The Trump administration has been pressuring allies to stop usingChinese technology. U.S. officials are also discussing ways to limit Americaninvestors’ portfolio flows into China, Bloomberg News reported in September,citing people familiar with the internal deliberations.The U.S. Treasury saidthat there was no plan “at this time” to block Chinese companies from listingon U.S. stock exchanges.“Decoupling China from U.S. markets by delistingChinese firms from US exchanges is a terrible idea,” Paulson said. “So isforcing Chinese equities out of the MSCI indexes. It is simply contrary to thefoundations of successful capitalism for politicians and bureaucrats toinstruct private American players how to deploy private capital for privateends.”The New Economy Forum is being organized by Bloomberg Media Group, adivision of Bloomberg LP, the parent company of Bloomberg News.\\--Withassistance from Karen Leigh.To contact Bloomberg News staff for this story:Peter Martin in Beijing at pmartin138@bloomberg.netTo contact the editorsresponsible for this story: Brendan Scott at bscott66@bloomberg.net, JamesMaygerFor more articles like this, please visit us at bloomberg.com©2019Bloomberg L.P. ['https://news.yahoo.com/delisting-chinese-firms-u-terrible-085941467.html', 'http://l2.yimg.com/uu/api/res/1.2/jdKhXVX6T2tZO52IjAfsrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/1b2bdbb22ddaea8c7bfdbd8c706bdc36'] -Wed, 20 Nov 2019 19:00:00 -0500 Why Did Russia Launch 8 Submarines All at Once? https://news.yahoo.com/why-did-russia-launch-8-000000807.html A major war game. ['https://news.yahoo.com/why-did-russia-launch-8-000000807.html', 'http://l1.yimg.com/uu/api/res/1.2/G56bhqpn22wP7lRn1NvuIw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/cdeb63464579ea5a60f6d7721c8dae4a'] -Wed, 20 Nov 2019 20:54:24 -0500 House Democrats ponder expanding impeachment probe after Sondland 'gamechanger' testimony https://news.yahoo.com/house-democrats-ponder-expanding-impeachment-probe-after-sondland-gamechanger-testimony-015424664.html Gordon Sondland’s explosive testimony Wednesday that “everyone was in theloop” on President Trump’s efforts to secure an investigation of a politicalrival prompted rank-and-file Democrats to discuss whether it was time toexpand their probe. ['https://news.yahoo.com/house-democrats-ponder-expanding-impeachment-probe-after-sondland-gamechanger-testimony-015424664.html', 'http://l1.yimg.com/uu/api/res/1.2/zxgigTR7dbw_oCJ8R3Kb3Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/6b659bc0-0bc7-11ea-ad5a-ad1d24864be6'] -Thu, 21 Nov 2019 15:21:37 -0500 Fiona Hill put out fire in her hair with her hands before finishing test,Trump impeachment inquiry hears https://news.yahoo.com/fiona-hill-put-fire-her-202137570.html A witness in the impeachment probe has told Congress that when she was aschoolgirl her pigtails were set on fire by a boy during an exam – and thatshe put the flames out herself before finishing.British-born Fiona Hill wasasked about the incident while giving evidence to members of the HouseIntelligence Committee after it was raised by Democrat Jackie Speier. ['https://news.yahoo.com/fiona-hill-put-fire-her-202137570.html', 'http://l2.yimg.com/uu/api/res/1.2/l0bMxPejzDmc9aiVAHq.eg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/85dfe17b9aacd4fe0236a21fdfb0a79f'] -Thu, 21 Nov 2019 10:41:28 -0500 Russia 'ruined' Ukrainian naval vessels before handing them back, saysUkrainian navy https://news.yahoo.com/russia-ruined-ukrainian-naval-vessels-154128478.html "Three Ukrainian navy boats seized by Russia a year ago were vandalised beforebeing handed back to Ukraine, the country's navy said. The fast gunboatsNikopol and Berdyansk and the tugboat Tany Kapu were welcomed by Ukrainianpresident Volodymyr Zelenskiy and onlookers waving national flags arrived inOchakiv, a Ukrainian naval port on the Black Sea on Wednesday evening. ButUkraine's navy said the vessels had been stripped bare and left so badlydamaged that they had to be towed home by tug. ""The Russians ruined them,""said Admiral Ihor Voronchenko, the head of the Ukrainian Navy. ""They even tookthe ceiling lights, plug sockets, and lavatories,"" he said. Mr Zelenskiy, whoreviewed the vessels as they returned on Thursday morning, said: ""I am veryhappy that our navy vessels are back where they belong. As promised, we havebrought back our sailors and our ships. ""Some of the equipment is missing, aswell as some weapons. There will be an investigation. We will see all of thedetails."" Russia blocked the Kerch strait with a tanker and deployed fighterjets to stop the three vessels entering the Azov Sea last year Credit: PavelRebrov/Reuters Russia's Federal Security Service (FSB), which oversees theborder service that seized the vessels, denied tampering with the ships andsaid they had been ""handed over to the Ukrainian side in normal condition.""The three vessels were boarded by Russian forces after they tried to passthrough the Strait of Kerch in November last year. Russia says they illegallyviolated the Russian border, then impounded the vessels and jailed 24 crewmembers pending trial. Ukraine described the move as an act of war and aflagrant breach of the treaty that gives the countries joint sovereignty ofthe only channel between the Black and Azov seas. Mr Zelenskiy said the returnof the boats as the latest in a series of small steps ""towards peace"" ahead ofa key summit with Vladimir Putin next month. Mr Zelenskiy inspects theartillery boat Nikopol Credit: Arkhip Vereshchagin/TASS The two presidentswill meet in person for the first time in Paris on December 9, at talksbrokered by France and Germany that are designed to end the conflict in eastUkraine, which has killed 13,000 people since 2014. In September the ships'crews were released in a prisoner swap that also saw Russia free Oleg Sentsov,a Ukrainian filmmaker and activist who had been held on trumped-up chargessince the annexation of Crimea in 2014. The sides have also agreed to pullback troops from key points on the line of contact in eastern Ukraine. Thenarrow sea way between Crimea and Russia's Taman peninsula is the only passagefor ships sailing to and from Ukraine's industrial port of Mariupol, to whichthe flotilla was bound when it was seized. Russia annexed Crimea from Ukrainein 2014 and opened a bridge across the strait in 2017 in defiance of Ukrainianobjections. Mariupol is a few miles from the frontline where Ukrainian andRussian-directed separatist forces have been fighting a static war for fiveyears. " ['https://news.yahoo.com/russia-ruined-ukrainian-naval-vessels-154128478.html', 'http://l.yimg.com/uu/api/res/1.2/7PCJpc3XHTES5sxRi9eX2Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/d470c8d6113018f4a2c3e18b14c8dad7'] -Tue, 19 Nov 2019 16:51:33 -0500 Rep. Ilhan Omar Asks Judge for 'Compassion' When Sentencing Man Who ThreatenedHer Life https://news.yahoo.com/rep-ilhan-omar-asks-judge-215133778.html 'A lengthy prison sentence or a burdensome financial fine would notrehabilitate him,' Rep. Omar wrote ['https://news.yahoo.com/rep-ilhan-omar-asks-judge-215133778.html', 'http://l2.yimg.com/uu/api/res/1.2/ud6iaBtdA2J8mDYDbDiZyA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/9ab991d2b3842067e44d331e064d2ef1'] -Wed, 20 Nov 2019 09:34:10 -0500 American Airlines admitted a mid-air accident that knocked out 2 flight crewand forced an emergency landing was not caused by spilled soap https://news.yahoo.com/american-airlines-admitted-mid-air-125912217.html On October 21 a flight from London to Philadelphia was forced to land inDublin, Ireland, when two staff members were knocked unconscious. ['https://news.yahoo.com/american-airlines-admitted-mid-air-125912217.html', 'http://l.yimg.com/uu/api/res/1.2/6Rpz7_hqLen68FcAhPKXqA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/89cf519ed0be8bd228ee32b3f676c448'] -Thu, 21 Nov 2019 13:30:49 -0500 Billionaire Michael Bloomberg files paperwork to run for U.S. president https://news.yahoo.com/billionaire-michael-bloomberg-files-paperwork-183049117.html Billionaire Michael Bloomberg filed paperwork on Thursday with the FederalElection Commission to run for U.S. president as a Democrat, the latest signthat the former New York City Mayor is joining the crowded nominating contest.The filing allows Bloomberg to raise money in a bid for the White House, butan aide said on Thursday that no final decision on whether he will run hasbeen made. Bloomberg, 77, has signaled that he plans a late-entry in theDemocratic primary, suggesting he feels the field of nearly 20 candidates isvulnerable. ['https://news.yahoo.com/billionaire-michael-bloomberg-files-paperwork-183049117.html', 'http://l2.yimg.com/uu/api/res/1.2/9YEXomIX6vQ3otYlVNw7zg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/01a800394ef0321ec3788d173b15e81b'] -Thu, 21 Nov 2019 08:00:00 -0500 20 of the Most Beautiful Bridges in the World https://news.yahoo.com/17-most-beautiful-bridges-world-153143264.html ['https://news.yahoo.com/17-most-beautiful-bridges-world-153143264.html'] -Thu, 21 Nov 2019 01:19:41 -0500 Nearly ¾ of transgender people slain since 2017 killed with guns https://news.yahoo.com/nearly-3-4-transgender-people-041755755.html """Transgender violence is a gun violence issue,"" says Everytown for Gun Safetyresearcher " ['https://news.yahoo.com/nearly-3-4-transgender-people-041755755.html', 'http://l1.yimg.com/uu/api/res/1.2/B9AMNJlsmzb3m0Gv4u9ywQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/aedd790bd6e2e32d9182e5a88f281c52'] -Thu, 21 Nov 2019 06:34:33 -0500 'Don't let them in': Arrests made as hundreds protest Ann Coulter speech at UCBerkeley https://news.yahoo.com/dont-let-them-arrests-made-113433476.html Coulter was invited to the California university by the Berkeley CollegeRepublicans for a speech about immigration called 'Adios, America.' ['https://news.yahoo.com/dont-let-them-arrests-made-113433476.html', 'http://l.yimg.com/uu/api/res/1.2/dleAYKhqCBxOjtgUtgTOWA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/6399782a48097ea7a892fc0605bf35b0'] -Wed, 20 Nov 2019 20:26:09 -0500 GOP claim that Trump cares about corruption takes a hit at impeachment hearing https://news.yahoo.com/gop-claim-that-trump-cares-about-corruption-takes-a-hit-at-impeachment-heaing-012609516.html Rep. Jim Himes, D-Conn., took issue with a defense of President Trump floatedby Rep. John Ratcliffe, R-Texas. ['https://news.yahoo.com/gop-claim-that-trump-cares-about-corruption-takes-a-hit-at-impeachment-heaing-012609516.html', 'http://l.yimg.com/uu/api/res/1.2/cpj4jzp35ZTzQ6ds8B1M0w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/64948b40-0bee-11ea-ad7c-1300326b62d1'] -Wed, 20 Nov 2019 16:53:33 -0500 White House and Trump campaign officials are reportedly 'freaking out' aboutSondland's testimony https://news.yahoo.com/white-house-trump-campaign-officials-215333247.html "White House aides and Trump campaign officials were ""freaking out"" after being""blindsided"" by European Union Ambassador Gordon Sondland's testimony onWednesday, which contained allegations of quid pro quo and pointed fingers atthe president and other top administration officials, CNN's Jim Acostareports.The White House had attempted to get an ""early peek"" at Sondland'sremarks during the jittery hours before the impeachment hearing began, due tothe perception that he was a ""wild card"" witness, The Washington Post reports.Sondland's attorney had refused those attempts.It became clear during thetestimony, though, that Sondland's confirmation that ""everyone was in theloop"" was bad news for Republicans, who pivoted to attempting to distanceTrump from what Democrats say was an attempt to pressure Ukraine into diggingup dirt on Hunter Biden, the son of his potential 2020 rival. Trump's campaignspecifically zeroed in on Sondland saying that Trump ""directly told him hewanted nothing from Ukraine,"" although Sondland did confirm that the requestsof Trump's personal lawyer and fixer Rudy Giuliani ""were a quid pro quo forarranging a White House visit"" for the Ukrainian president, and that ""Mr.Giuliani was expressing the desires of the president of the UnitedStates.""Trump campaign spokeswoman Kayleigh McEnany maintained that ""over andover we've heard from Democrats and the media that the next hearing, the nextwitness, the next testimony would be the bombshell they've been promising,only to have it fizzle out like all the rest. It has happened yet again."" ButKen Starr, the lead prosecutor during the Bill Clinton impeachment hearings,begs to differ: ""This obviously has been one of those bombshell days,"" he toldFox News.More stories from theweek.com CNN's Chris Cuomo struggles to disproveTrump tweet by awkwardly calling his mom live on the air Austria is turningsite of Hitler's birth into a police station to repel neo-Nazis Republicansare throwing Rudy Giuliani under the bus " ['https://news.yahoo.com/white-house-trump-campaign-officials-215333247.html'] -Thu, 21 Nov 2019 15:18:00 -0500 Google's Tour Builder Is a Great New Way to Make Your Friends Hate You https://news.yahoo.com/googles-tour-builder-great-way-201800273.html ['https://news.yahoo.com/googles-tour-builder-great-way-201800273.html'] -Tue, 19 Nov 2019 16:43:01 -0500 US aircraft carrier transits Strait of Hormuz https://news.yahoo.com/us-aircraft-carrier-transits-strait-hormuz-214301889.html "The US aircraft carrier strike group Abraham Lincoln sailed through the keyStrait of Hormuz on Tuesday to show Washington's ""commitment"" to freedom ofnavigation, the Pentagon said, amid tensions with Tehran. The group's movethrough the strategic waterway separating Iran and the United Arab Emiratestowards the Gulf was scheduled, and unfolded without incident, the US Navysaid in a statement. It was the first time a US aircraft carrier group wentthrough the strait since Iran downed a US drone in June in the same area. " ['https://news.yahoo.com/us-aircraft-carrier-transits-strait-hormuz-214301889.html', 'http://l.yimg.com/uu/api/res/1.2/bpElNdn76gEZGcPJSsvZGA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/ec78382b5ce01aa8b177270ce80722f67ab6f69a.jpg'] -Thu, 21 Nov 2019 03:00:00 -0500 This Could Be the Royal Navy’s Next Destroyer https://news.yahoo.com/could-royal-navy-next-destroyer-080000064.html The Royal Navy may already have identified a possible replacement for its Type45 destroyers. A version of the new Type 26 frigate, which should enterservice with the U.K. fleet in the mid-2020s, ultimately could replace theair-defense-optimized Type 45s beginning in the 2030s. ['https://news.yahoo.com/could-royal-navy-next-destroyer-080000064.html', 'http://l2.yimg.com/uu/api/res/1.2/zglQl25ZG4ohbvOf2am1Jw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/7c7c9c8cfcc2cf805e38335c67b5e571'] -Thu, 21 Nov 2019 03:27:37 -0500 Russia opens investigation into space center fraud after Putin rebuke https://news.yahoo.com/russia-opens-investigation-space-center-082737719.html Russian investigators said on Thursday they had opened two criminal cases intothe management of a company involved in building the Vostochny Cosmodrome, aspace center in the country's Far East. The announcement came less than twoweeks after President Vladimir Putin complained to government officials aboutcorruption at the facility and called for further investigations. Constructionof the Vostochny Cosmodrome began in January 2011, part of a plan for Russiato reduce its dependency on the Baikonur Cosmodrome in Kazakhstan, whichRussia leases from the former Soviet Republic for space operations. ['https://news.yahoo.com/russia-opens-investigation-space-center-082737719.html', 'http://l.yimg.com/uu/api/res/1.2/8H6zmXQaHb_v7SuJ3t4Ciw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/19ca1d5ffc901a7aaaeac031d7544784'] -Wed, 20 Nov 2019 16:22:23 -0500 Climate activist’s remarks downplaying Holocaust spark anger https://news.yahoo.com/climate-activist-holocaust-remarks-spark-212223899.html A prominent British climate change activist sparked anger Wednesday afterappearing to downplay the Holocaust in an interview with a German newspaper.Roger Hallam, who co-founded the activist group Extinction Rebellion, told theGerman newspaper Die Zeit that the Nazis’ murder of 6 million Jews was merelyone of many genocides. ['https://news.yahoo.com/climate-activist-holocaust-remarks-spark-212223899.html', 'http://l2.yimg.com/uu/api/res/1.2/JeGNpiWU7bdVXhK4dSMKEg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/ef2e33804928a3bbb6d2e4330c502cd1'] -Wed, 20 Nov 2019 14:21:00 -0500 Expelled LSU Student Sentenced to Five Years in Fraternity Hazing Death https://news.yahoo.com/expelled-lsu-student-sentenced-five-192100905.html REUTERS/Sean GardnerThe former Louisiana State University student who wasfound guilty of negligent homicide for the hazing death of 18-year-old PhiDelta Theta pledge Max Gruver was sentenced to five years in prison onWednesday.Jurors reportedly took just one hour to convict Matthew Naquin inJuly. The 21-year-old Texas native was also sentenced to three years ofprobation and 1,000 hours of community service. The judge ordered Naquin towrite a letter of apology to the Gruver family, and for every year he is onprobation he must go to three separate high schools and give a one-hour talkabout hazing, according to WVLA-TV.He was expelled from LSU in the weeksfollowing Gruver’s death.Gruver died of alcohol poisoning andaspiration—choking on his own vomit—after a hazing ritual called “Bible Study”at the fraternity house on Sept. 13, 2017. During the ritual, prosecutors saidNaquin and other fraternity members ordered pledges to stand in a dark hallwayfacing a wall while loud music played; they were told to chug 190-proof liquorif they could not correctly answer questions about Phi Delta Theta, TheAdvocate reported.Witnesses reportedly testified during the trial that Naquin,whom authorities have said was a ringleader of the hazing ritual, targetedGruver that night because he didn’t want him to join the fraternity. Just twodays before Gruver’s death, fraternity brothers said they warned Naquin totone down his extreme and dangerous interactions with pledges, according tocourt documents and testimony during the trial.When he died, Gruver’s blood-alcohol level was 0.495 percent—more than six times the state’s legal limit todrive, according to the local newspaper. Another pledge had testified duringtrial that he believed Gruver “had not had much experience with drinking.” Atoxicology expert said on the stand that Gruver’s high blood-alcoholconcentration led to “sleep, coma and death.” “There was no way his body couldget through this,” said the expert, Patricia Williams. “He was a dead manwalking at midnight.”Naquin’s attorney, John McLindon, argued during the trialthat he was unfairly singled out by the prosecution and that Gruver continuedto drink on his own after the hazing event.“It was a hazing event, but therewere probably 10 other active members up there that night and at least five ofthem were handing out alcohol,” McLindon told The New York Times. “Matthewdidn’t do anything differently from those boys, but he got picked out becausehe is very loud.”But East Baton Rouge District Attorney Hillar Moore IIIcountered, in a separate interview with The Times, that Naquin “stood out”through the ferocity with which he tormented pledges that night.“Everyone keptsaying he was the one who led everything, who made people drink more, whoasked questions,” Moore said. “This is grain alcohol—this is 180-proof or190-proof alcohol. It is what they put tissue samples in to study them in alab, when you have to wear a hood.”Moore added: “We have never alleged thatthe defendant wanted him dead or wanted to kill him, but his actions led tothis young man’s death.”Naquin has been separately charged with obstruction ofjustice after federal agents say he deleted nearly 700 files from his phoneminutes after he learned from his attorney that a search warrant had beenissued for his device. The FBI never successfully recovered the files. He hasnot been tried yet on that charge.After the trial, Max’s mother, Rae AnnGruver, called the guilty verdict “justice for our son and for the man whocaused his death.” Gruver was from Roswell, a suburb of Atlanta.“We want thisto send a message to the country that hazing should not exist,” StephenGruver, Max's father, told The Advocate after the conviction. “It’s dangerousand we have to all work together to bring an end to hazing.”Three otherfraternity brothers face misdemeanor hazing charges in the case, two of whichhave pleaded no contest. Phi Delta Theta has been banned from LSU’s campusuntil 2033. The school also reportedly convened a task force to study Greeklife on campus in the aftermath of Gruver’s death.“Hazing is an irresponsibleand dangerous activity that we do not tolerate at LSU,” a spokesman for theschool said after the trial. “These tragedies, and the penalties that follow,can be prevented, and we have been working diligently to put more safeguards,education and reporting outlets in place for our students regardinghazing.”Read more at The Daily Beast.Got a tip? Send it to The Daily BeasthereGet our top stories in your inbox every day. Sign up now!Daily BeastMembership: Beast Inside goes deeper on the stories that matter to you. Learnmore. ['https://news.yahoo.com/expelled-lsu-student-sentenced-five-192100905.html', 'http://l.yimg.com/uu/api/res/1.2/q0glV5dBT05lisMGAklocw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/d4ce166c48b6d14ce0a182508ed2fd4c'] -Wed, 20 Nov 2019 22:14:09 -0500 Singapore ‘Repatriates’ Hongkonger Who Held Political Meeting https://news.yahoo.com/singapore-repatriates-hongkonger-held-political-031409468.html (Bloomberg) -- A Hong Kong resident living in Singapore has been “repatriated”home after organizing an illegal gathering of mostly ethnic Chinese last monthto talk about the ongoing protests, according to local mediareports.Restaurant owner Alex Yeung, along with a 55-year-old former Hong Kongresident, were issued a “stern warning” over what was said to be a gatheringof about 10 people sharing their views of the escalating protests, which is anoffense under the Public Order Act. Yeung, who has a Youtube channel oflargely pro-Beijing content was further instructed he would not be allowed toenter Singapore again without permission from the authorities.“Singapore hasalways been clear that foreigners should not advocate their political causesin Singapore, through public assemblies, and other prohibited means,” theSingapore Police Force told Channel News Asia late on Wednesday.Speaking fromSingapore’s Changi Airport on Thursday morning ahead of his flight, Yeung saidhe was now free to go where he pleased and thanked Singapore for upholding therule of law.Illegal Gatherings“The Singapore Police Force has made noindictment against me. I am warned to refrain from any criminal conduct in thefuture under their discretion,” he said in a video posted to YouTube.“Singapore is a very civilized country with very good security.”In 2017,Singapore revoked the permanent residency of prominent academic and Chinaexpert Huang Jing after he allegedly used his position to covertly advance theagenda of an unnamed foreign country at Singapore’s expense.Hong Kong has beengripped for days by the standoff at the city’s Polytechnic University, wherehard-core protesters remain surrounded by police. The unrest began in Junewith largely peaceful marches against legislation allowing extraditions tomainland China and have since mushroomed into a broader push for demandsincluding an independent probe into police violence and the ability tonominate and elect city leaders.Speaking to reporters on Monday, Singapore’sTrade and Industry Minister Chan Chun Sing warned a similar situation could“easily happen” in his country if the government is complacent. Underrestrictive laws, cause-related gatherings are illegal without a police permitand participants are subject to fines without it.\\--With assistance fromChester Yung.To contact the reporter on this story: Philip J. Heijmans inSingapore at pheijmans1@bloomberg.netTo contact the editors responsible forthis story: Ruth Pollard at rpollard2@bloomberg.net, Muneeza NaqviFor morearticles like this, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/singapore-repatriates-hongkonger-held-political-031409468.html', 'http://l1.yimg.com/uu/api/res/1.2/pIDa7VY6imQe9dajzRjS6w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d70d6fdd388107dc3f64126ecc7878d9'] -Tue, 19 Nov 2019 19:12:56 -0500 Dem lawmaker says it's his 'mission' to have Trump removed from office https://news.yahoo.com/dem-lawmaker-says-its-his-mission-to-have-trump-removed-from-office-001256131.html “It’s about what he’s doing to our country and how he is corrupting oursociety,” said Rep. Al Green. ['https://news.yahoo.com/dem-lawmaker-says-its-his-mission-to-have-trump-removed-from-office-001256131.html', 'http://l.yimg.com/uu/api/res/1.2/_864JEKv_skcnNYCnmjFrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/f0d235a0-0ae8-11ea-a6af-7c1d7996472e'] -Thu, 21 Nov 2019 08:48:44 -0500 DNC Drops Lackluster Fundraising Numbers During Dem Debate https://news.yahoo.com/dnc-drops-lackluster-fundraising-numbers-134844527.html "The Democratic National Committee released its fundraising numbers during thepresidential primary debate on Wednesday night, revealing that the committeelags far behind Republicans in funding for the 2020 elections.The DNC has $8.7million in cash on hand, but it is $7 million in debt, according to itsOctober Federal Election Commission filing. The Republican National Committee,meanwhile, had raised $156 million and had $61.4 million cash on hand as ofthe end of October.However, it was noted that the DNC is competing fordonations with a wide field of presidential candidates, ten of whichparticipated in Wednesday night's primary debate. At this point in 2011, whenformer president Barack Obama stood for reelection, the DNC had raised roughly$150 million.Bernie Sanders revealed he had personally raised $25.3 millionover the past three months, leading Democratic presidential candidates infundraising. Pete Buttigieg raised $19.1 million over the same period,followed by Kamala Harris with $11.6 million. Joe Biden and Elizabeth Warrenhaven't yet released their fundraising numbers.The RNC has used the Democrats'impeachment inquiry against President Trump to great effect in its fundraisingefforts, receiving record-breaking levels of donations in October andSeptember with its ""Stop the Madness"" campaign.""While Democrats are focused ontheir sham impeachment charade, Republicans had another record-breakingfundraising month in October — the best off-cycle October in our party’shistory,"" RNC Chairwoman Ronna McDaniel told the Washington Examiner. ""In2020, voters will choose results over the Democrats’ polarizing politicalrhetoric, and the RNC is in the strongest position possible to reelectPresident Trump and Republicans up-and-down the ballot.""The RNC has been usingsome of its funds to help House Republicans seeking to topple Democrats invulnerable districts. " ['https://news.yahoo.com/dnc-drops-lackluster-fundraising-numbers-134844527.html', 'http://l.yimg.com/uu/api/res/1.2/_x8Q7NOu92Id_TQ7Uk.i1A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/340121713e96b577808673b3bbe7366d'] -Wed, 20 Nov 2019 18:00:47 -0500 Indiana officer fired after telling black men he had the right 'to do anythingI want' https://news.yahoo.com/indiana-officer-fired-telling-black-230047730.html "The viral video, which has more than 450,000 views, shows the constableyelling ""I got my rights to do anything I want to do! I'm a police officer!"" " ['https://news.yahoo.com/indiana-officer-fired-telling-black-230047730.html'] -Thu, 21 Nov 2019 12:22:44 -0500 Dozens of dogs tested in French search for woman's forest killers https://news.yahoo.com/dozens-dogs-tested-french-search-womans-forest-killers-170750502.html French police investigating the death of a pregnant woman mauled to death bydogs while walking in the woods have carried out DNA tests on 67 dogs to tryidentify those that attacked her, investigators said Thursday. Elisa Pilarski,29, was found dead on Saturday in Retz forest about 90 kilometres (55 miles)northeast of Paris. A deer hunt with hounds was underway in the forest wherePilarski, a dog lover, was walking her own American Staffordshire terrier. ['https://news.yahoo.com/dozens-dogs-tested-french-search-womans-forest-killers-170750502.html', 'http://l2.yimg.com/uu/api/res/1.2/clMntQNGhPcOVFbvpLKMdA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/35979d18e6d21ee069f1f2f0f509fabfd97630d2.jpg'] -Thu, 21 Nov 2019 03:30:00 -0500 Is China’s DF-17 Hypersonic Missile Really a Super-Weapon? https://news.yahoo.com/china-df-17-hypersonic-missile-083000115.html China’s new DF-17 hypersonic missile could penetrate U.S. missile-defense anddestroy ports and air-defense systems, a Hong Kong newspaper warned. ['https://news.yahoo.com/china-df-17-hypersonic-missile-083000115.html', 'http://l2.yimg.com/uu/api/res/1.2/j_cUcmqQ.5voHTWZgWA0mQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/05a37c24e191751b8aec237d8464c7ee'] -Wed, 20 Nov 2019 07:43:58 -0500 Pompeo planning to resign over Trump, report claims https://news.yahoo.com/pompeo-planning-resign-over-trump-124358790.html Secretary of State Mike Pompeo has reportedly told three prominent Republicansthat he is planning to resign from the White House to run for a Senate seat. ['https://news.yahoo.com/pompeo-planning-resign-over-trump-124358790.html', 'http://l1.yimg.com/uu/api/res/1.2/aSqmTtNZ426mNDqetAG8WQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318299-1574253567117.jpg'] -Wed, 20 Nov 2019 02:28:28 -0500 Son of former German president stabbed to death in Berlin https://news.yahoo.com/son-former-german-president-stabbed-072828350.html The son of former German president Richard von Weizsaecker was stabbed todeath while he was giving a lecture at a hospital in Berlin where he worked asa head physician, police said Wednesday. A 57-year-old German man is incustody after he jumped up from the audience at the Schlosspark-Klinik andattacked Fritz von Weizsaecker with a knife on Tuesday evening. VonWeizsaecker died at the scene from a knife wound to the neck despite immediateattention from colleagues, said Martin Steltner, a spokesman for Berlinprosecutors. ['https://news.yahoo.com/son-former-german-president-stabbed-072828350.html', 'http://l.yimg.com/uu/api/res/1.2/8bn4VuJBRJUIW6DLNOzBUQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/ea51ea088c8150af8ff094ba9d9603b0'] -Wed, 20 Nov 2019 09:34:48 -0500 Former Baltimore mayor charged with wire fraud over 'Healthy Holly' book sales https://news.yahoo.com/former-baltimore-mayor-charged-wire-143448076.html "Former Baltimore Mayor Catherine Pugh was charged on Wednesday with wire fraudand tax evasion relating to sales of her self-published ""Healthy Holly""children's book to charities where she worked, federal prosecutors said. Thecharges against the Democrat and former state lawmaker relate to her dealingswith the University of Maryland Medical System, where she was a board member,and which paid her for her children's books. Pugh, 69, who initially defendedthe arrangement, called it a “regrettable mistake” in March and resigned inMay. " ['https://news.yahoo.com/former-baltimore-mayor-charged-wire-143448076.html', 'http://l1.yimg.com/uu/api/res/1.2/crao79dX_sTUoC5gZp2aZQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/34bfbd957bcea92a3baf1b53baf85c3e'] -Tue, 19 Nov 2019 18:04:00 -0500 7 Amazing Facts About Jaguars, One of the World's Coolest Cats https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html ['https://news.yahoo.com/7-amazing-facts-jaguars-one-230400628.html'] -Wed, 20 Nov 2019 16:52:21 -0500 Maloney hammers Sondland on changing testimony — and extracts key concession https://news.yahoo.com/maloney-hammers-sondland-on-changing-testimony-and-extracts-key-concession-215221460.html Rep. Sean Patrick Maloney chastised Gordon Sondland during the U.S. ambassadorto the European Union’s testimony Wednesday. ['https://news.yahoo.com/maloney-hammers-sondland-on-changing-testimony-and-extracts-key-concession-215221460.html', 'http://l1.yimg.com/uu/api/res/1.2/41yYstoGUo.Uej57IHdnrA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/7e814ac0-0bda-11ea-bf4d-b6dc149aaac6'] -Thu, 21 Nov 2019 13:20:24 -0500 Former NYC Mayor Michael Bloomberg Formally Files for 2020 Presidential Run https://news.yahoo.com/former-nyc-mayor-michael-bloomberg-182024837.html "Yana PaskovaFormer New York City mayor Michael Bloomberg has taken the nextstep to join the scrum to unseat Donald Trump, formally filing to run as aDemocrat for the post of President of the United States.The billionaireDemocrat-turned-Republican-turned-Independent-turned-Democrat-again declaredhis candidacy with the Federal Election Commission early on Thursdayafternoon. Mike Bloomberg 2020 Inc., his campaign committee, also filed FECpaperwork.A Bloomberg spokesperson did not immediately respond to a requestfor comment on the filings. But no sooner had the filing been made public didword emerge that he had not yet made a final decision about hiscandidacy—merely filling out paperwork for it. Should he announce a runpublicly, Bloomberg will face a herculean task. He is likely to avoidcompeting in the early primary states—with hopes that his expansive war chestwill allow him to fair better in later contests. His potential entry will beinto an already crowded Democratic presidential primary field, one that hasalready attracted another late entrant on the party’s more moderate flank,former Massachusetts Gov. Deval Patrick.Bloomberg has already taken steps toattempt to repair his image among segments of the Democratic electorate likelyto suspiciously eye an ultra-wealthy business executive with a technocraticrecord of promoting policies that are not necessarily popular with the public,including a harsh law enforcement policy that disproportionately affects NewYork’s African American community.At an appearance at a Brooklyn blackmegachurch over the weekend, Bloomberg apologized for policies such as “stop-and-frisk,” a highly controversial police tactic that gives police broadauthority to physically search anyone. NYPD abuse of the policy duringBloomberg’s tenure as mayor largely targeted black and Latinocommunities.“Over time, I’ve come to understand something that I longstruggled to admit to myself: I got something important wrong,” Bloomberg saidat Brooklyn’s Christian Cultural Center, reversing course on a position herepeatedly defended as mayor and after leaving office. “I didn’t understandback then the full impact that stops were having on the black and Latinocommunities. I was totally focused on saving lives—but as we know: goodintentions aren’t good enough.""Bloomberg is nevertheless likely to occupy anideological space closer to the center of the Democratic primary field. Thatwill likely pit him against former Vice President Joe Biden and South Bend,Indiana, Mayor Pete Buttigieg for similar blocs of primary voters, andposition him in opposition to the race’s more progressive standouts, Sens.Elizabeth Warren of Massachusetts and Bernie Sanders of Vermont.In spite ofpotentially problematic positions on issues such as urban policing, Bloombergdoes bring a long record of championing other issues dear to the Democraticfaithful. He is one of the country’s most outspoken supporters of new guncontrol policies, and has used his fortune to finance groups pushing for suchmeasures.Early polling shows that Bloomberg would face a steep climb to theupper echelons of the Democratic primary field. Despite his strong namerecognition, a recent survey by Reuters and Ipsos found him pulling just 3percent support nationally, the same level as California Sen. Kamala Harrisand well behind Biden, Buttigieg, Warren and Sanders.One area that likely willnot be a challenge for his candidacy is money. Bloomberg is worth an estimated$52 billion, and has not hesitated to pour money into political contests. Heis among the Democratic Party’s largest donors of the Trump era, and hasalmost single-handedly financed his own super PAC, Independence USA, to whichhe’s donated $112 million since 2012.Though nowhere near as wealthy asBloomberg, California hedge funder Tom Steyer, who entered the race for theDemocratic presidential nomination in July, has largely opted to self-fund hiscampaign. The immense amounts of his personal fortune that Steyer has dumpedinto his campaign have managed to land him on one debate stage, but haven’tpropelled him to viability in the Democratic field.Read more at The DailyBeast.Get our top stories in your inbox every day. Sign up now!Daily BeastMembership: Beast Inside goes deeper on the stories that matter to you. Learnmore. " ['https://news.yahoo.com/former-nyc-mayor-michael-bloomberg-182024837.html', 'http://l1.yimg.com/uu/api/res/1.2/uf.pYj9xwuevnAMQ_nNMuQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/2c40911b8b3ff10db6858af2cb4f00af'] -Thu, 21 Nov 2019 00:41:32 -0500 Vietnam to Extend Retirement Age by 2 Years for Men, 5 Years for Women https://news.yahoo.com/vietnam-extend-retirement-age-2-054132320.html (Bloomberg) -- Explore what’s moving the global economy in the new season ofthe Stephanomics podcast. Subscribe via Apple Podcast, Spotify or PocketCast.Vietnam will gradually extend the retirement age for men by two years andfor women by five years over the next decade as part of the government’samendment to its Labor Code.Men can work until 62 by 2028 and women until 60by 2035 from the current retirement age of 60 for males and 55 for females,the government said on its website.Under the amendments approved by theNational Assembly on Wednesday, the retirement age will increase by 3 monthsannually for men and by 4 months each year for women starting 2021. Thechanges were made as Vietnam’s population is maturing at a faster pace thansome of its peers.The nation’s elderly citizens are expected to double to 14%of the population in about 17 years and the country could become an agedsociety in 2035, according to a statement of the Japan InternationalCooperation Agency and the World Bank in August. It took Singapore 22 yearsand Thailand 20 years to reach the threshold for a country’s population to beconsidered aged.The number of people joining Vietnam’s work force has droppedby more than half to about 400,000 each year from an average of 1 million inthe past, local newspaper Tuoi Tre reported citing Bui Sy Loi from thecommittee on social affairs of the National Assembly.\\--With assistance fromThuy Ong.To contact the reporter on this story: Mai Ngoc Chau in Ho Chi MinhCity at cmai9@bloomberg.netTo contact the editors responsible for this story:Clarissa Batino at cbatino@bloomberg.net, Ruth PollardFor more articles likethis, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/vietnam-extend-retirement-age-2-054132320.html', 'http://l2.yimg.com/uu/api/res/1.2/d9qbC.UEbSNrRhqxNfPyGQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/0b6d8acfac7610ca7c357cf17419d3fd'] -Thu, 21 Nov 2019 06:39:19 -0500 'The Entire System Is Designed to Suppress Us.' What the Chinese SurveillanceState Means for the Rest of the World https://news.yahoo.com/entire-system-designed-suppress-us-113919198.html China—projected to have one CCTV camera for every two people by 2022—is aharbinger of what society looks like with surveillance unchecked. ['https://news.yahoo.com/entire-system-designed-suppress-us-113919198.html', 'http://l.yimg.com/uu/api/res/1.2/h.AOKLxqnwvAU2pMxVVV7g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/7193f064554ef84f748457f5e93b4de8'] -Wed, 20 Nov 2019 16:30:00 -0500 China Is Not In Africa For Charity, But To Control Its Resources https://news.yahoo.com/china-not-africa-charity-control-213000416.html Chinese imperialism has come to Africa. ['https://news.yahoo.com/china-not-africa-charity-control-213000416.html', 'http://l2.yimg.com/uu/api/res/1.2/MS6DPD8.xx5qDhxFGeUvUw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/900b92f5a406fc60160d268a7c06fcb9'] -Wed, 20 Nov 2019 15:27:26 -0500 Russia air raids, regime strikes in Syria kill at least 21: monitor https://news.yahoo.com/russian-air-raids-regime-strikes-syria-kill-14-183936875.html "Attacks by Syrian President Bashar al-Assad's forces and air raids by his allyRussia killed at least 21 civilians including 10 children in rebel-held Idlibprovince on Wednesday, a monitoring group said. The Syrian Observatory forHuman Rights, in an updated toll, said a ground-to-ground missile fired byregime forces that hit a makeshift camp for the displaced near Qah villageclose to the border with Turkey killed 15 civilians, including six children,and wounded around 40 others. Elsewhere, ""Russian military aircraft"" targetedthe town of Maaret al-Numan in the south of the province, the Observatorysaid, and ""six civilians were killed, among them four children"". " ['https://news.yahoo.com/russian-air-raids-regime-strikes-syria-kill-14-183936875.html', 'http://l2.yimg.com/uu/api/res/1.2/0Kde1NtKq_0oWmBF608p9w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/a61039c74b13b20cf3c034cecfb27264c4230a56.jpg'] -Thu, 21 Nov 2019 11:39:31 -0500 Cat missing for five years turns up 1,200 miles away from home https://news.yahoo.com/cat-missing-five-years-turns-163931576.html A cat missing for five years was reportedly found 1,200 miles away from homeand reunited with its owner.Viktor Usov, from Portland, Oregon, assumed theworst after his cat Sasha went missing. ['https://news.yahoo.com/cat-missing-five-years-turns-163931576.html', 'http://l.yimg.com/uu/api/res/1.2/xS3ut_5mz2.3HqtLbjiJ1w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_independent_635/1d78a4a3c3f611945b47c932b90a452c'] -Wed, 20 Nov 2019 16:49:37 -0500 Woman fights charges after stepkids see her topless at home https://news.yahoo.com/utah-woman-fights-charge-kids-214937288.html A Utah woman charged with a crime after her stepchildren saw her topless inher own home is fighting the case that could force her to register as a sexoffender, pointing to a court ruling that overturned a topless ban in Coloradoand helped fuel a movement. Tilli Buchanan’s attorneys argue that Utah’s lawon lewdness involving a child is unfair because it treats men and womendifferently for baring their chests. Buchanan, 27, said she and her husbandhad taken off their shirts to keep their clothes from getting dusty while theyhung drywall in their garage in a Salt Lake City suburb in late 2017 or early2018. ['https://news.yahoo.com/utah-woman-fights-charge-kids-214937288.html', 'http://l.yimg.com/uu/api/res/1.2/3XT_ZqXqM50hntcg5jlLyw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/db7c8120b6ea19cb48dbd3eaaf0817d6'] -Wed, 20 Nov 2019 13:41:13 -0500 Pentagon discovers $81 million of U.S. Navy gear during audit https://news.yahoo.com/pentagon-discovers-81-million-u-184113289.html The Pentagon found $81 million of military equipment at a U.S. Navy facilitythat had not been inventoried, a top Pentagon official said on Wednesday as hedescribed the Department of Defense second straight failed audit. The Pentagonsays that it has made progress toward fixing accounting discrepancies, butthat it will take years to eventually pass a full audit, Deputy Secretary ofDefense David Norquist told a U.S. Senate panel. ['https://news.yahoo.com/pentagon-discovers-81-million-u-184113289.html'] -Thu, 21 Nov 2019 06:49:24 -0500 Anger in China as it demands Trump veto Hong Kong bills https://news.yahoo.com/anger-china-demands-trump-veto-114924959.html China on Thursday demanded President Trump veto legislation aimed atsupporting human rights in Hong Kong and renewed a threat to take “strongcountermeasures” if the bills become law. ['https://news.yahoo.com/anger-china-demands-trump-veto-114924959.html', 'http://l.yimg.com/uu/api/res/1.2/pRLhT_98a7AShe7nZrMzFw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318449-1574336907824.jpg'] -Wed, 20 Nov 2019 12:32:48 -0500 Pence Denies Discussing Ukraine Investigations with Sondland or Zelensky https://news.yahoo.com/pence-denies-discussing-ukraine-investigations-173248263.html Vice President Mike Pence denied that Gordon Sondland ever voiced concernsabout a potential quid pro quo with Ukraine on Tuesday morning after Sondlandclaimed otherwise in his Tuesday morning testimony.Sondland, who serves asambassador to the E.U., testified that he told Pence that he had “concernsthat the delay in aid had become tied to the issue of investigations” ahead ofa September 1 meeting between Pence and Ukrainian Volodymyr Zelensky.Pence'soffice issued a statement contradicting Sondland's testimony in response.“TheVice President never had a conversation with Gordon Sondland aboutinvestigating the Bidens, Burisma, or the conditional release of financial aidto Ukraine based upon potential investigations,” a statement from Marc Short,Pence’s chief of staff, read. “Ambassador Gordon Sondland was never alone withVice President Pence on the September 1 trip to Poland. This allegeddiscussion recalled by Ambassador Sondland never happened.”In his testimony,Sondland recounted a meeting between Pence and Zelensky, in which Zelensky“raised the issue of security assistance directly with Vice President Pence.”Sondland said that Pence told the Ukrainian president that he would askPresident Trump about it. In his statement, Short does not deny that the pairdiscussed military aid, but does say that “multiple witnesses have testifiedunder oath” that no investigations were ever brought up during the Septembermeeting between Pence and Zelensky.“Multiple witnesses have testified underoath that Vice President Pence never raised Hunter Biden, former VicePresident Joe Biden, Crowdstrike, Burisma, or investigations in anyconversation with Ukrainians or President Zelensky before, during, or afterthe September 1 meeting in Poland,” Short's statement concludes.Sondland alsotestified that he pulled top Ukrainian aide Andriy Yermak aside during theSeptember meeting to say that “he believed that the resumption of U.S. aidwould likely not occur until Ukraine took some kind of action on the publicstatement that we had been discussing for many weeks.” He added that herelayed this message at Secretary of State Mike Pompeo's behest. ['https://news.yahoo.com/pence-denies-discussing-ukraine-investigations-173248263.html', 'http://l.yimg.com/uu/api/res/1.2/.dwO92aRLIYJgq6CHXo9lg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/c0110011fadaceb927889e68f0dd351b'] -Thu, 21 Nov 2019 11:09:25 -0500 Four Gas Export Projects Approved by U.S. Just as Outlook Dims https://news.yahoo.com/four-gas-export-projects-approved-160925009.html (Bloomberg) -- Four liquefied natural gas export projects were cleared by thetop U.S. energy regulator in a single day as a global supply glut casts doubton whether they all will actually be built.The Federal Energy RegulatoryCommission voted 2-1 in favor of three Texas LNG terminals-- ExelonCorp.-backed Annova LNG, NextDecade Corp.’s Rio Grande LNG and Texas LNG. Theyalso approved Cheniere Energy Inc.’s planned expansion at Corpus Christi inTexas. Democrat Commissioner Rich Glick, who has repeatedly criticized theagency for ignoring climate change, dissented. Combined, the projects wouldroughly double current U.S. LNG export capacity. The nation is already sendingmore gas overseas than ever as shale output surges. But prices have collapsedamid the U.S.-China trade war and a worldwide glut of the heating and power-plant fuel, making buyers increasingly unwilling to sign the long-termcontracts needed to develop multibillion-dollar terminals.“Resolution of thetrade war between the U.S. and China would go a long way, I think, to solvingthe market’s discomfort with long-term contracts,” Katie Bays, co-founder ofWashington-based Sandhill Strategy LLC, said by phone. “With Chinese growthcoming in lower than expected this year, however, committing to any terms in along-term contract probably feels like a big leap of faith.”The energycommission, which has approved about a half-dozen LNG export projects so farthis year, has faced repeated calls by developers to speed up reviews. To thatend, it has added staff and is opening up an office in Houston to cope withthe extra workload.The U.S. is the world’s fastest-growing LNG exporter as theshale boom catapults the country into the ranks of the top global suppliers ofthe fuel, behind Qatar and Australia. The latest projects to be approved wouldbe ideally situated to draw gas from the Permian Basin, where supplies havesoared as a byproduct of oil output. But most of the increase in American LNGcargoes over the next few years will likely come from projects that havealready reached a final investment decision.To contact the reporter on thisstory: Stephen Cunningham in Washington at scunningha10@bloomberg.netTocontact the editors responsible for this story: David Marino atdmarino4@bloomberg.net, Christine Buurma, Reg GaleFor more articles like this,please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/four-gas-export-projects-approved-160925009.html', 'http://l.yimg.com/uu/api/res/1.2/6JT5OWQY1k_6Te_U4C3Tuw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/bloomberg_politics_602/d06056d4a72dcb5a4d7e8745e96aee58'] -Wed, 20 Nov 2019 11:20:23 -0500 Teen used remote-controlled car to smuggle meth across US border, officialssay https://news.yahoo.com/teen-used-remote-controlled-car-060618547.html A 16-year-old boy allegedly tried to smuggle methamphetamine across theU.S.-Mexico border with a remote-controlled car, Border Patrol agents said. ['https://news.yahoo.com/teen-used-remote-controlled-car-060618547.html', 'http://l2.yimg.com/uu/api/res/1.2/V.ad9hdbfxAgq81FHCXn8w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/1009217/37afc1a5-505f-4cfb-97c5-5b2c41a32d67/83fb7e69-68a7-5fd2-93d0-a52077e2a945/data_3_0.jpg?s=7723a62d4735000b450c3a0db545fcad&c=ebf13d83eb57380ee135096582e3ccb7&a=tripleplay4us&mr=0'] -Wed, 20 Nov 2019 02:33:00 -0500 Why China's J-16D Electronic Warfare Plane Is a Really Big Deal https://news.yahoo.com/why-chinas-j-16d-electronic-073300218.html A huge problem. ['https://news.yahoo.com/why-chinas-j-16d-electronic-073300218.html', 'http://l.yimg.com/uu/api/res/1.2/aODGqWXn4sdSf4JWGiAA4w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/1af6b2e9af10f6f0bccf8eb72b90352e'] -Fri, 22 Nov 2019 15:47:25 -0500 Impeachment witnesses tested Republican defenses of Trump one by one https://news.yahoo.com/impeachment-witnesses-tested-republican-defenses-of-trump-one-by-one-204725530.html While it remains highly unlikely that the Democrats’ House impeachment inquirywill lead to a conviction of Donald Trump by the Republican-controlled Senate,the testimony did succeed in straining the defenses put forth by the presidentand his allies. ['https://news.yahoo.com/impeachment-witnesses-tested-republican-defenses-of-trump-one-by-one-204725530.html', 'http://l2.yimg.com/uu/api/res/1.2/xuaOARdyw1BG0sSypLjkmg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/ba961f40-0d65-11ea-bbfd-fd018f0c20bd'] -Sat, 23 Nov 2019 23:37:11 -0500 Alabama sheriff shot and killed while answering a call, search for suspectongoing https://news.yahoo.com/alabama-sheriff-shot-killed-while-034605659.html "Several law enforcement sources confirmed that Lowndes County Sheriff ""BigJohn"" Williams was answering a call at a convenience store when he was shot. " ['https://news.yahoo.com/alabama-sheriff-shot-killed-while-034605659.html', 'http://l1.yimg.com/uu/api/res/1.2/oT46donukaZcSnJHHnspdg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/a7dad410025f444d0f39ee6994018813'] -Fri, 22 Nov 2019 15:45:43 -0500 A New Zealand man has been convicted of the harrowing murder of backpackerGrace Millane on their Tinder date, but it's still illegal to report his name https://news.yahoo.com/zealand-man-convicted-harrowing-murder-105807250.html A 27-year-old man was found guilty of murdering Millane in December 2018. Acourt order to suppress his name has been in place since last year. ['https://news.yahoo.com/zealand-man-convicted-harrowing-murder-105807250.html', 'http://l.yimg.com/uu/api/res/1.2/bncOm0_LwdlkhpfPOQqSJA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/d1f782b29062e17090a2c59d88e1c48c'] -Fri, 22 Nov 2019 09:24:37 -0500 Ninth family member dies after Israeli strike: ministry https://news.yahoo.com/ninth-family-member-dies-israeli-strike-ministry-142338231.html "A Palestinian wounded in an Israeli strike that killed eight members of hisfamily has died, the health ministry in the Hamas-run strip said on Friday.Mohammed Abu Malhous al-Sawarka, 40, succumbed after being wounded in ""themassacre in which eight members of a family died when they were targeted intheir homes,"" ministry spokesman Ashraf al-Qudra said in a statement. It saidhe was the brother of Rasmi Abu Malhous who was killed when his home was hitby an air strike on November 14. " ['https://news.yahoo.com/ninth-family-member-dies-israeli-strike-ministry-142338231.html', 'http://l1.yimg.com/uu/api/res/1.2/QYBrX3Ed.x.8.35Jmhy_BA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/1bd42774eae9b488cd1b3f716947ab5b1d805ff9.jpg'] -Fri, 22 Nov 2019 14:03:00 -0500 50 Great Gadget and Gear Gifts for the Holidays https://news.yahoo.com/34-great-gadget-gear-gifts-135200137.html ['https://news.yahoo.com/34-great-gadget-gear-gifts-135200137.html'] -Sat, 23 Nov 2019 08:30:00 -0500 This Is How U.S. Navy SEALs Would Go To War Against Iran https://news.yahoo.com/u-navy-seals-war-against-133000532.html It would not be an easy fight. ['https://news.yahoo.com/u-navy-seals-war-against-133000532.html', 'http://l.yimg.com/uu/api/res/1.2/cbJrDhgdBuLk.En27.XBEw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/33f4e06d016df550f6657f2064354cea'] -Fri, 22 Nov 2019 06:13:06 -0500 Putin hands awards to widows of men killed in mysterious military test https://news.yahoo.com/putin-hands-awards-widows-men-111306571.html Russian President Vladimir Putin has handed top state awards to the widows offive scientists killed in an accident while testing what he called an advancedweapons system without equal in the world. The five men died on Aug. 8 in whattheir employer, state nuclear agency Rosatom, said was an accident during arocket test on a sea platform off northern Russia, an incident which causedradiation levels in the surrounding area to briefly spike. Thomas DiNanno, asenior U.S. State Department official, said last month that Washington haddetermined that the explosion was the result of a nuclear reaction whichoccurred during the recovery of a Russian nuclear-powered cruise missile aftera failed test. ['https://news.yahoo.com/putin-hands-awards-widows-men-111306571.html', 'http://l.yimg.com/uu/api/res/1.2/DK6HEON2l4VHnFR7hoocBw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/f62ed48534c6d89f4b702e2ef819fefa'] -Sat, 23 Nov 2019 17:39:04 -0500 Tories Lead Labour as Brexit Party Loses Ground, Polls Show https://news.yahoo.com/tories-lead-labour-brexit-party-223904570.html (Bloomberg) -- Sign up to our Brexit Bulletin, follow us @Brexit and subscribeto our podcast.U.K. Conservatives remain ahead of Labour by at least 10percentage points with less than three weeks to the general election,according to five different polls released on Saturday.Brexit Party lost 3percentage points after its decision not to stand in more than half of seats,three of the surveys show.The general election is Dec. 12.YouGov PollToriesunchanged at 42%, YouGov poll for The Sunday Times showsLabour unchanged at30%Liberal Democrats up 1 point to 16%Brexit Party down 1 point to 3%SNPunchanged at 4%Greens unchanged at 4%Pollster surveyed 1,677 adults nationallyNov. 21-22Savanta ComRes PollTories unchanged at 42%, according to a SavantaComRes poll for the Daily Express Sunday editionLabour up 1 point to32%Liberal Democrats unchanged at 15%Brexit Party unchanged at 5%SNP down 1point to 3%Greens unchanged at 2%Pollster surveyed 2,038 British adults onlineNov. 20-21DeltapollConservatives at 43%, down 2 points, according to the mostrecent Deltapoll for The Mail on SundayLabour unchanged at 30%LiberalDemocrats up 5 points to 16%Brexit Party down 3 points to 3%Deltapollinterviewed 1,519 British adults online Nov. 21-23Opinium PollOpinium Researchpoll showed the Tories are now supported by 47% of voters, up from 44%Labourunchanged at 28%Liberal Democrats fall 2 points to 12%Brexit Party falls 3points to 3%SNP rises 1 point to 5%Greens unchanged at 3%Perceptions of PrimeMinister Boris Johnson and Labour Party leader Jeremy Corbyn have not improvedin light of their first head-to-head debate on Nov. 19, Opinium saidPollstersurveyed 2,003 U.K. adults nationally Nov. 20-22BMG PollTories gained 4 pointsto 41%, according to the most recent BMG Research poll for TheIndependentLabour at 28%, down 1 point“The increase in the Conservative leadcan be attributed to the Brexit Party’s decision not to stand in more thanhalf of seats:” BMG’s head of polling Robert StruthersLiberal Democrats at18%, up 2 pointsGreens unchanged at 5%Brexit Party at 3%, down 6 pointsPollcontinues to show a majority support EU membership, with Remain leading Leaveby 54% to 46%, unchanged from a week agoBMG surveyed 1,663 British voters Nov.19-21(Updates with results from YouGov)To contact the reporter on this story:Giulia Camillo in New York at gcamillo@bloomberg.netTo contact the editorsresponsible for this story: Giulia Camillo at gcamillo@bloomberg.net, IanFisher, Steve GeimannFor more articles like this, please visit us atbloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/tories-lead-labour-brexit-party-223904570.html'] -Sat, 23 Nov 2019 15:21:59 -0500 The Saugus High School Shooter Used an Illegal 'Ghost Gun.' Authorities WarnMore Criminals Are Using Untraceable Weapons to Get Around Gun Laws https://news.yahoo.com/saugus-high-school-shooter-used-202159816.html Since the gun is put together from separate parts and doesn't have a serialnumber, it's almost impossible for law enforcement to track ['https://news.yahoo.com/saugus-high-school-shooter-used-202159816.html', 'http://l1.yimg.com/uu/api/res/1.2/jmdJCk3vwhK79HBlJ8va9A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/time_72/5a2d905f9eb1eb7aeea794c37f439964'] -Fri, 22 Nov 2019 13:46:13 -0500 Trump says Ukraine envoy Yovanovitch wouldn't hang his picture. Fact check:There was no official portrait for most of 2017. https://news.yahoo.com/trump-wont-hang-portrait-embassy-ukraine-yovanovitch-184613339.html “She is in charge of the embassy,” the president said on “Fox & Friends”Friday morning. “She wouldn’t hang it. It look a year and a half or two yearsto get the picture up.” ['https://news.yahoo.com/trump-wont-hang-portrait-embassy-ukraine-yovanovitch-184613339.html', 'http://l1.yimg.com/uu/api/res/1.2/e2khNA0h_dG4YdzIfYpnMA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/fa203490-0d54-11ea-b6b2-f04309019748'] -Fri, 22 Nov 2019 16:01:30 -0500 Alabama cop who chased, beat and shot black man after stop-and-frisk guilty ofmanslaughter https://news.yahoo.com/alabama-cop-chased-beat-shot-210130367.html Prosecutors argued Aaron C. Smith escalated a consensual stop to deadly force,killing Greg Gunn feet away from the home he lived in with his mother. ['https://news.yahoo.com/alabama-cop-chased-beat-shot-210130367.html', 'http://l2.yimg.com/uu/api/res/1.2/4OQjsISw3Jo5cNdYjmJLvw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/77a17bbae3d3b3a4151aec80bbc3c965'] -Fri, 22 Nov 2019 18:28:06 -0500 Mexico arrests judge linked by US to notorious cartel https://news.yahoo.com/mexico-arrests-judge-linked-us-232806060.html A Mexico judge whom the U.S. Treasury Department accuses of ties to JaliscoNew Generation, one of the country’s bloodiest drug cartels, was arrested inthe city of Guadalajara on Friday, judicial authorities said. Earlier thatmonth the U.S. Treasury Department designated and sanctioned Avelar Gutiérrezunder the Kingpin Act “because of his actions on behalf” of Jalisco NewGeneration and an allied group known as Los Cuinis. ['https://news.yahoo.com/mexico-arrests-judge-linked-us-232806060.html'] -Sat, 23 Nov 2019 19:53:10 -0500 Ageing Japan bomb survivors back pope's anti-nukes call https://news.yahoo.com/ageing-japan-bomb-survivors-back-popes-anti-nukes-195342756.html Kenji Hayashida thought about committing suicide in the years after an atomicbomb was dropped on his hometown of Nagasaki. On Sunday he will hear PopeFrancis call there for a world without nuclear weapons, a message 81-year-oldsupports passionately. Like many ageing survivors of the attacks on Nagasakiand Hiroshima, Hayashida hopes the pope can bring fresh internationalattention to the cause of nuclear abolition, and also keep alive the memory ofthe devastating bombings. ['https://news.yahoo.com/ageing-japan-bomb-survivors-back-popes-anti-nukes-195342756.html', 'http://l2.yimg.com/uu/api/res/1.2/mD2B5Rb_Io8rj3x6_sF3nA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/d984a84366064222dc2bdc793a6a3931a988ecc1.jpg'] -Sat, 23 Nov 2019 10:43:07 -0500 German soldier who posed as Syrian refugee to face new terror trial https://news.yahoo.com/german-soldier-posed-syrian-refugee-154307863.html A German soldier who lived a double life posing as a Syrian refugee is to facea new trial on charges of planning a far-Right terror attack. LieutenantFranco Albrecht spent more than a year posing as a Christian refugee fromSyria, and was given a place in a German government refugee shelter.Prosecutors allege he was planning to assassinate high-profile figures in afalse flag terror attack and pin the blame on the fictitious Syrian. Theoriginal terror charges against Lt Albrecht were dismissed for lack ofevidence in a court hearing last year, but Germany’s highest criminal courtthis week upheld a prosecution appeal and ordered a new trial. Lt Albrecht’sarrest in 2017 stunned Germany and made headlines around the world. As a high-flying cadet officer, he trained at France’s prestigious St Cyr Militaryacademy under an exchange programme and was entertained as a guest of theBritish army at Sandhurst. Lt Albrecht’s defence lawyers say he masqueraded asa refugee in order to expose the shortcomings of the German asylum system andits failure properly to identify those entering the country. They deny that hewas planning a terror attack Lt Albrecht was a guest at Sandhurst while he wastraining as part of an exchange programme at France's prestigious St Cyrmilitary academy Credit: Private Germany’s federal court of justice ruled thisweek that there is sufficient evidence to support the charge Lt Albrecht wasplanning to assassinate public figures and ordered that he must face it incourt. But it ruled there was no evidence to support the charge that he wasplanning to pin the blame for an attack on Syrian refugees. Prosecutors allegethat Lt Albrecht procured firearms and ammunition and prepared a list ofpossible assassinations targets including Heiko Maas, the foreign minister,former President Joachim Gauck and Anetta Kahane, a prominent human rightsactivist. They allege he scoped out a car park near the activist's office as apossible assassination site. Lawyers for Lt Albrecht deny the allegations andsay he obtained weapons as a member of the “prepper” scene. They say thealleged “death list” is a list of people the soldier wished to contact todiscuss the political situation, and that he only visited the car park in anattempt to meet Ms Kahane. Lawyers for the soldier have not commented on thisweek’s decision by the appeals court. Lt Albrecht has been suspended from dutybut remains an officer in the German army until the case is resolved. A datefor a new trial has not yet been set. ['https://news.yahoo.com/german-soldier-posed-syrian-refugee-154307863.html', 'http://l.yimg.com/uu/api/res/1.2/n5hpvNmcQ49tL3ZuIrMB4g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/04108d827590aef6e5fac655eaac29fa'] -Sat, 23 Nov 2019 12:00:00 -0500 Iran Has A New Missile, Should Israel Be Worried? https://news.yahoo.com/iran-missile-israel-worried-170000340.html Iran wants to give its regional allies precision-guided missiles. ['https://news.yahoo.com/iran-missile-israel-worried-170000340.html', 'http://l1.yimg.com/uu/api/res/1.2/ji4KVQSdbZ60.bPkkaqcfg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/3900becdb2d43512422b69e59585ce87'] -Fri, 22 Nov 2019 15:24:34 -0500 Iran says 'world war' against it foiled; blames U.S., Saudi Arabia and Israel https://news.yahoo.com/iran-says-world-war-against-202434843.html "Iran's Basij militia said unrest sparked by fuel price hikes amounted to a""world war"" against Tehran that was thwarted, and blamed the United States,Saudi Arabia and Israel. " ['https://news.yahoo.com/iran-says-world-war-against-202434843.html', 'http://l.yimg.com/uu/api/res/1.2/ypaYTByvklHTkSYcOjgDFw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318648-1574454155653.jpg'] -Sat, 23 Nov 2019 01:06:20 -0500 Australian politician says media revelations of Chinese spying disturbing https://news.yahoo.com/chinese-defector-gives-australia-details-060620121.html "A senior Australian politician on Saturday said he was disturbed by thereported efforts of China to infiltrate politics in Australia, Hong Kong andTaiwan detailed by an asylum seeker who said he was a Chinese spy. Resource-rich Australia's ties with its most important trading partner China havedeteriorated in recent years, amid accusations that Beijing is meddling indomestic affairs. The defector, named as Wang ""William"" Liqiang by the Agenewspaper, gave a sworn statement to the Australian Security IntelligenceOrganisation (ASIO), identifying China's senior military intelligence officersin Hong Kong, the newspaper said. " ['https://news.yahoo.com/chinese-defector-gives-australia-details-060620121.html', 'http://l.yimg.com/uu/api/res/1.2/cc.wl2vTUYtjtkeSnS5JSQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/51d995705a6c810d35ba0fa0da7d3132'] -Fri, 22 Nov 2019 16:34:18 -0500 Boeing's 737 Max shouldn't be allowed to fly with a controversial flight-control system, an aviation regulator reportedly said in leaked emails (BA) https://news.yahoo.com/boeings-737-max-shouldnt-allowed-213418250.html The manager at Canada's aviation regulator told counterparts at other globalregulators that he has concerns about the MCAS system on the 737 Max. ['https://news.yahoo.com/boeings-737-max-shouldnt-allowed-213418250.html', 'http://l2.yimg.com/uu/api/res/1.2/W73jvePUA68EbNpixrnjzw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/dbb724282cdfd2335b747da9a4d890b4'] -Fri, 22 Nov 2019 10:00:24 -0500 Trump says Kellyanne 'must have done some bad things' to George Conway https://news.yahoo.com/trump-kellyanne-must-have-done-some-bad-things-to-george-conway-150024207.html Kellyanne Conway, special counselor to President Trump, is known to beratejournalists who speculate about her marriage to George Conway, a prominentTrump critic. In an interview with “Fox & Friends” on Friday, the presidentdid just that. ['https://news.yahoo.com/trump-kellyanne-must-have-done-some-bad-things-to-george-conway-150024207.html', 'http://l1.yimg.com/uu/api/res/1.2/7sDNs8MBWDjygM25k_AWqg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/175be710-0d38-11ea-beed-4e3489a68c7b'] -Fri, 22 Nov 2019 15:51:22 -0500 Daughter's 911 call for pizza was actually a domestic violence report. Thedispatcher knew https://news.yahoo.com/daughters-911-call-pizza-actually-200927980.html An Ohio dispatcher detected that a woman calling 911 ordering a pizza was inneed of police help. ['https://news.yahoo.com/daughters-911-call-pizza-actually-200927980.html', 'http://l.yimg.com/uu/api/res/1.2/oqzuVTYJzWjxORhen3EbHw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-images/2019-11/f28279b0-0d85-11ea-bfff-eac9bdbee1e8'] -Fri, 22 Nov 2019 18:25:14 -0500 The Latest: Colombia president opens ‘national conversation’ https://news.yahoo.com/latest-colombia-president-orders-curfew-232514035.html Colombian President Iván Duque says his government will open a “nationalconversation” aimed at reaching an agreement on reforms following massivedemonstrations that have paralyzed much of the capital city. In a televisedaddress Friday, Duque said the dialogue will include all social sectors andtake place in cities around the country starting next week. The president alsoannounced that he is boosting police and military patrols in focal pointswhere there is continuing unrest. ['https://news.yahoo.com/latest-colombia-president-orders-curfew-232514035.html', 'http://l.yimg.com/uu/api/res/1.2/s3bbk_9bOPlaewRivkNt7w--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/5ec8b08012d3ac25d9e680381194ad52'] -Fri, 22 Nov 2019 12:04:06 -0500 Trump says Hong Kong would be ‘obliterated in 14 minutes’ without him https://news.yahoo.com/trump-says-hong-kong-obliterated-170406340.html President Trump said Friday he had saved Hong Kong from being destroyed bypersuading Chinese President Xi Jinping to hold off on sending in troops tocrush the pro-democracy movement there. ['https://news.yahoo.com/trump-says-hong-kong-obliterated-170406340.html', 'http://l1.yimg.com/uu/api/res/1.2/aHZcHyU9r9dw_l36O94IWw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://slick-prod.s3-us-west-2.amazonaws.com/slick_thumb/yahooNews-318611-1574442211218.jpg'] -Sat, 23 Nov 2019 05:53:47 -0500 Police seize unregistered AR-15 and ammo in 13-year-old's arrest https://news.yahoo.com/police-seize-unregistered-ar-15-080815253.html Authorities said they found a they found an unregistered AR-15 with a high-capacity magazine, approximately 100 rounds of ammunition, a map of theschool, and a list of some students and teachers in the suspect's home ['https://news.yahoo.com/police-seize-unregistered-ar-15-080815253.html', 'http://l.yimg.com/uu/api/res/1.2/qXnIMKuB6jpZY5zxdzHIVA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/cbs_news_897/d370cdac4193bbba6937f382d437ac93'] -Sat, 23 Nov 2019 06:48:16 -0500 Internet outage forces Iranians to resort to old ways https://news.yahoo.com/internet-outage-forces-iranians-resort-old-ways-114816211.html "The internet restrictions, for their part, apparently aimed to temper shows ofdissent and anger over the move and stop footage of the unrest from beingshared. Brigadier General Salar Abnoosh, a deputy head of the Basij volunteermilitia, said Friday that the internet outage had helped to ""disrupt thecomplicated"" plans by Iran's enemies. On Saturday -- day seven of the internetrestrictions and the start of the working week in Iran -- people in Tehranwere trying to overcome problems brought on by the outage. " ['https://news.yahoo.com/internet-outage-forces-iranians-resort-old-ways-114816211.html', 'http://l2.yimg.com/uu/api/res/1.2/..s1Iv5wXaQt4jjGlb44KA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/223bae6b42bf363d2596237aaa0f1c208c9d08ab.jpg'] -Fri, 22 Nov 2019 08:16:00 -0500 World War III? In 1956, Russia Almost Fought Britain, France, and Israel WithNuclear Weapons https://news.yahoo.com/world-war-iii-1956-russia-131600783.html The Suez Canal Crisis was a dangerous gambit. ['https://news.yahoo.com/world-war-iii-1956-russia-131600783.html', 'http://l1.yimg.com/uu/api/res/1.2/OEe5PmqDKFweyutKQVubXg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/370f046be786cd969af5344d85d19da4'] -Fri, 22 Nov 2019 19:26:09 -0500 "Cuba acknowledges ""vestiges"" of racism, launches program to fight it" https://news.yahoo.com/cuba-acknowledges-vestiges-racism-launches-002609460.html "Cuba's government has launched a program to combat racism, acknowledging thata problem that Fidel Castro tried to eliminate after the 1959 leftistrevolution remains unresolved. The program aims to identify steps to fightdiscrimination, broaden education on Cuba's African legacy and start a publicdebate on racial issues, Culture Vice Minister Fernando Rojas told a cabinetmeeting, according to state-run media on Friday. ""Everyone recognizes ourrevolution has been the social and political process that has possibly donemost to eliminate racial discrimination,"" state-run media quoted PresidentMiguel Diaz-Canel as saying. " ['https://news.yahoo.com/cuba-acknowledges-vestiges-racism-launches-002609460.html'] -Sat, 23 Nov 2019 15:37:09 -0500 Judge orders father of supermodels Bella and Gigi Hadid to pull down $100million Bel Air mega-mansion https://news.yahoo.com/judge-orders-father-supermodels-bella-171514049.html "The property tycoon father of supermodels Gigi and Bella Hadid has beenordered by a judge to demolish his half-built $100 million Bel Air mega-mansion, which has been dubbed the ""Starship Enterprise"". Mohamed Hadid hasbeen involved in a long legal battle over the palatial 30,000 sq ft residenceafter neighbours complained about its size. A judge in Los Angeles SuperiorCourt decided it was a ""clear and present danger"" to other properties in thearea. The ruling came after a structural engineer said supporting piles werenot driven far enough into the ground underneath the hillside property. Thejudge said: ""If this house came down the hill it would take a portion of theneighbourhood with it."" Following the ruling Mr Hadid told TMZ the house ""hasnot moved a millimetre! It has never been an imminent danger to theneighbours."" The property developer is the father of supermodel Bella Hadidand her sister Gigi Credit: E-PRESS / BACKGRID UK He also said many cityinspectors had monitored the construction process since it began in 2012, andconcerns were not raised until years later. The court heard demolition wouldtake six months and cost several million dollars. It was the latestdevelopment in a long saga over the project, which was to include an IMAXcinema. Mr Hadid, a property developer, hoped to ultimately sell the mansionfor nine figures. In 2017 he told Town & Country Magazine: ""Demolish thishouse? Never! This house will last forever. Bel Air will fall before thishouse will."" The same year, he was sentenced to three years probation and 200hours of community service after pleading no contest to three charges ofviolating building regulations. Several neighbours sued Mr Hadid claiming theylived in ""constant fear” of the hillside collapsing, and that their ""privacyand serenity was invaded by the illegal and unsightly structure looming abovethem."" Mr Hadid responded that he was the victim of ""witch hunt"" and theneighbours' claims were ""total nonsense."" " ['https://news.yahoo.com/judge-orders-father-supermodels-bella-171514049.html', 'http://l2.yimg.com/uu/api/res/1.2/tH8S3utIPbftQ67oWncHag--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/e837b751f995e5df15fc8e2f28f7993b'] -Fri, 22 Nov 2019 08:00:00 -0500 26 of the Most Fascinating Public Sculptures https://news.yahoo.com/22-most-fascinating-public-sculptures-211800916.html ['https://news.yahoo.com/22-most-fascinating-public-sculptures-211800916.html'] -Sat, 23 Nov 2019 11:34:42 -0500 John Bolton re-opens Twitter account, says White House withheld his access https://news.yahoo.com/john-bolton-opens-twitter-account-193849416.html "Former National Security Advisor John Bolton returned to Twitter, alleging theWhite House withheld his access ""out of fear of what I may say?"" " ['https://news.yahoo.com/john-bolton-opens-twitter-account-193849416.html', 'http://l1.yimg.com/uu/api/res/1.2/CSD7BHDhn_3AFaEo9OkbBw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/f0f70bb5f9662502755184cd78fb0a30'] -Sat, 23 Nov 2019 13:57:16 -0500 Colombians continue protest, banging pots and pans at night https://news.yahoo.com/colombia-maintains-heightened-military-presence-185716049.html Several thousand Colombians continued their protest against President IvánDuque Saturday by banging pots and pans late into the evening in the latestshow of rejection against his conservative government. Frustrated citizensgathered in capital city Bogota – including outside an unofficial residence ofthe unpopular leader – to protest by chanting, dancing and holding up signsdecrying a range of social and economic woes. “Get out Duque!” some cried. ['https://news.yahoo.com/colombia-maintains-heightened-military-presence-185716049.html', 'http://l2.yimg.com/uu/api/res/1.2/652pvF5.lt3mEyiR7KUIag--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/8198ee443109fae97b707a9423298cf0'] -Fri, 22 Nov 2019 08:48:02 -0500 Otto Warmbier’s Parents Will Work to Have North Korean Assets Seized https://news.yahoo.com/otto-warmbier-parents-north-korean-134802591.html "The parents of former U.S. hostage Otto Warmbier, who died in 2017 after beingreleased from North Korea in a coma, have announced they will attempt to seizeNorth Korean business assets around the world to punish the country'sgovernment over its human-rights abuses.Otto Warmbier was convicted in a NorthKorean court after he tried to steal a propaganda poster from his hotel. Hewas released to the U.S. in a vegetative state a year later.Otto's parentshave alleged he was tortured. North Korea has denied the allegations,asserting it was the ""biggest victim"" in Otto's death and, without evidence,attributing Warmbier’s death to botulism.""My mission would be to hold NorthKorea responsible, to recover and discover their assets around the world,""Fred Warmbier said at a Friday press conference in Seoul, South Korea,according to the Associated Press. Fred and his wife Cindy had been invited tospeak at a forum for a group representing South Korean families whose memberswere abducted by North Korea over the course of the 1950-53 Korean War.""Wefeel that if you force North Korea to engage the world in a legal standpoint,then they will have to ultimately have a dialogue,"" he continued. ""They arenot going to come and have a dialogue with us any other way.""The Warmbiersplan to pressure European governments to close hostels run by North Korea.They are already pursuing legal action against a hostel on the grounds ofNorth Korea's embassy in Berlin.""We cannot give up, we can’t give them a pass.We have to fight with all of our power,"" Cindy Warmbier said at theconference.President Trump has repeatedly sought to negotiate the removal ofnuclear weapons from North Korea, and became the first American president tomeet with a North Korean leader during negotiations. Those negotiations arecurrently stalled. " ['https://news.yahoo.com/otto-warmbier-parents-north-korean-134802591.html', 'http://l1.yimg.com/uu/api/res/1.2/wtjLVZFaYcVjTytVoK4pMA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/efd025776b21401eb0fcc31adc249577'] -Fri, 22 Nov 2019 20:05:51 -0500 How the leader of a notorious Chicago street gang evolved into an ISISsupporter https://news.yahoo.com/leader-notorious-chicago-street-gang-212152623.html The gang leader thought he had provided $500 in cash to man fighting for ISISin Syria. In reality, it was an undercover FBI agent. ['https://news.yahoo.com/leader-notorious-chicago-street-gang-212152623.html', 'http://l.yimg.com/uu/api/res/1.2/RBRF42ThRe.7V5EfnLdZEQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/324ae857dd4b4a490f71164d0e042053'] -Fri, 22 Nov 2019 19:40:44 -0500 A man in India dressed up as a pilot and used his disguise to skip lines andget free upgrades, police say https://news.yahoo.com/man-india-dressed-pilot-used-120641017.html The police detained Rajan Mahbubani as he tried to board an AirAsia planeflying from Delhi to Kolkata. They say he impersonated a Lufthansa pilot. ['https://news.yahoo.com/man-india-dressed-pilot-used-120641017.html', 'http://l.yimg.com/uu/api/res/1.2/xs0tyTkkI4m8NPUrBRSwHg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/9943f0fad7d1a42ea520a653b73f6ce4'] -Fri, 22 Nov 2019 19:42:01 -0500 Through the wire -- Palestinians risk all to work in Israel https://news.yahoo.com/wire-palestinians-risk-israel-004201378.html It is well before dawn when the first work deprived Palestinians arrive tosneak through a two-metre hole cut in the metal fence that is supposed to keepthem out of Israel. The men are among the thousands of Palestinians working inIsrael illegally, risking bad working conditions, exploitation and jail for achance of employment. On the morning AFP visited, Yunis, from Dahariya in thesouthern West Bank, was one of hundreds running the gauntlet as policepatrolled the area. ['https://news.yahoo.com/wire-palestinians-risk-israel-004201378.html', 'http://l2.yimg.com/uu/api/res/1.2/QLzEAm91tQY8k.xS.Me.0g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/d4d12d4bc2d0a70402e89852be128fb94ff97864.jpg'] -Fri, 22 Nov 2019 18:00:00 -0500 Operation Aphrodite: America's World War II Experiment with B-17 SuicideDrones https://news.yahoo.com/operation-aphrodite-americas-world-war-230000937.html Some history that is not widely known--until now. ['https://news.yahoo.com/operation-aphrodite-americas-world-war-230000937.html', 'http://l2.yimg.com/uu/api/res/1.2/KxuAbO2Q97iMz1_zPMzNIg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/844cbaec24978c92f71283403c565f14'] -Fri, 22 Nov 2019 17:49:31 -0500 IRS Says Millionaires Can Keep Estate Tax Benefits After 2025 https://news.yahoo.com/irs-says-millionaires-keep-estate-224931469.html (Bloomberg) -- Taxpayers can benefit from higher thresholds for U.S. estateand gift taxes even if they don’t die until after the tax overhaul expires in2026, the Internal Revenue Service said.The 2017 Republican tax lawapproximately doubled the estate and gift tax exemption. That meansindividuals this year can pass on, tax-free, $11.4 million from their estateand gifts they gave before their death. Couples can pass on $22.8 million. Thehigher levels expire in 2026, but individuals who make large gifts while theexemption is higher and die after it goes back down won’t see the estate taxbenefit eroded, the IRS said in regulations announced Friday.“As a result,individuals planning to make large gifts between 2018 and 2025 can do sowithout concern that they will lose the tax benefit of the higher exclusionlevel once it decreases after 2025,” the agency said in a press release.Theexemption increase was a priority for Republicans in the 2017 tax overhaul. Itcut the number of individuals who would be subject to the 40% estate tax byabout two-thirds. The exemption was $5.5 million before the lawchange.Democrats, however, are eyeing a reversal of those changes if theysweep the House, Senate and White House in 2020. Almost every Democraticpresidential candidate has called for the estate tax to apply to a largernumber of wealthy families.Senator Bernie Sanders has called for the estatetax to kick in on fortunes worth at least $3.5 million, and has proposed ratesas high as 77%.To contact the reporter on this story: Laura Davison inWashington at ldavison4@bloomberg.netTo contact the editors responsible forthis story: Joe Sobczyk at jsobczyk@bloomberg.net, Laurie Asséo, Ros KrasnyFormore articles like this, please visit us at bloomberg.com©2019 Bloomberg L.P. ['https://news.yahoo.com/irs-says-millionaires-keep-estate-224931469.html'] -Fri, 22 Nov 2019 17:21:55 -0500 Colorado man faces new charges for plotting to bomb synagogue https://news.yahoo.com/colorado-man-faces-charges-plotting-222155006.html An avowed white supremacist being held without bond for plotting to bomb aColorado synagogue this month has been indicted on additional charges ofattempted arson and using explosives to commit a felony, federal prosecutorssaid on Friday. The two additional charges against Richard Holzer, 27, on topof an earlier count of attempting to obstruct religious services by force,could send him to prison for 50 years, U.S. Attorney Jason Dunn said in astatement. Holzer was arrested on Nov. 4 after an undercover sting by FBIagents, who said he plotted to bomb the Temple Emanuel synagogue in Pueblo,Colorado. ['https://news.yahoo.com/colorado-man-faces-charges-plotting-222155006.html', 'http://l.yimg.com/uu/api/res/1.2/kP5je0wwETesvOi2BKZrPQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/reuters.com/88188e1e2a02bb3f2a57256652b55015'] -Fri, 22 Nov 2019 12:54:07 -0500 GOP Sen. Marsha Blackburn tweets conspiratorial smear against Lt. Col Vindman https://news.yahoo.com/gop-sen-marsha-blackburn-tweets-175407520.html "Sen. Marsha Blackburn (R-Tenn.) has it out for a Purple Heart veteran.When Lt.Col Alexander Vindman testified in the impeachment hearing into PresidentTrump on Tuesday, Trump and other Republicans questioned his militarybonafides and seemed skeptical of the fact that he doesn't know who theUkraine whistleblower is. And in a Friday tweet, Blackburn kept the attacksgoing, tweeting that ""Vindictive Vindman is the 'whistleblower's' handler."">Vindictive Vindman is the ""whistleblower's"" handler.> > \-- Sen. MarshaBlackburn (@MarshaBlackburn) November 22, 2019There's a lot wrong with thisshort tweet. First, it suggests Vindman has something against Trump,furthering the right-wing rhetoric that claims he's less American because hewas born in the Soviet Union. And second, it falsely claims Vindman knows theidentity of the whistleblower -- something that isn't true, but didn't stopRep. Devin Nunes (R-Calif.) from trying to get Vindman to spill their identityon Tuesday. And third, it's an outright smear on a high-ranking militaryofficial who received heaps of praise for his service before, during, andafter his hearing.More stories from theweek.com Outed CIA agent Valerie Plameis running for Congress, and her launch video looks like a spy movie trailerIndia is entering a new dark age Where is Nancy Pelosi on impeachment? " ['https://news.yahoo.com/gop-sen-marsha-blackburn-tweets-175407520.html'] -Fri, 22 Nov 2019 23:05:41 -0500 Biden snaps at Fox News reporter for question about Hunter Biden'sillegitimate son https://news.yahoo.com/biden-snaps-fox-news-reporter-040541000.html Hunter Biden is the father; Raymond Arroyo breaks down his 'Friday Follies.' ['https://news.yahoo.com/biden-snaps-fox-news-reporter-040541000.html', 'http://l.yimg.com/uu/api/res/1.2/ZlSvt753vZjV5AoxTH4PIQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://d.yimg.com/hd/cp-video-transcode/11734/ee97e106-5348-44f1-a7bc-c15acb4acd97/2338ccab-cdca-5b33-a233-3739661a3665/data_3_0.jpg?s=b904574247b7e939c1c7c46dd01a9c17&c=829f29c6dfa3d12c6f661f8a6b041698&a=foxnews&mr=0'] -Sat, 23 Nov 2019 03:19:17 -0500 IS-linked Philippine militant behind suicide attacks killed https://news.yahoo.com/linked-philippine-militant-behind-suicide-081917185.html Philippine troops have killed a “high-value” but little-known Filipinomilitant who acted as a key link of the Islamic State group to local jihadistsand helped set up a series of deadly suicide attacks in the south that havealarmed the region, military officials said Saturday. Talha Jumsah, who usedthe nom de guerre Abu Talha, was killed Friday morning in a clash with troopsin the jungles off Patikul town in Sulu province, which has been rocked bythree deadly suicide bombings this year, including the first suicide attackknown to have been staged by a Filipino militant. ['https://news.yahoo.com/linked-philippine-militant-behind-suicide-081917185.html', 'http://l1.yimg.com/uu/api/res/1.2/G3JFyUdFrKvP6ZlW.5fvvQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/8250adc56fddfc0a11f4e93f488aca71'] -Fri, 22 Nov 2019 08:37:24 -0500 Buttigieg, Fellow Dems Seek Distance from Warren’s Pledge ‘Never to GiveAmbassadorial Positions to Wealthy Donors’ https://news.yahoo.com/buttigieg-fellow-dem-candidates-back-133724349.html Senator Elizabeth Warren’s Democratic primary opponents have proven hesitantto accept her challenge to “never to give ambassadorial positions to wealthydonors.”“Anyone who gives a big donation, don’t ask to be an ambassador,”Warren said during Wednesday's debate, after taking a swipe at Trump donor andAmbassador to the European Union Gordon. “I ask everyone running for presidentto join me in that,” Warren said Wednesday, before her campaign followed upwith a tweet Thursday.> Ambassador Gordon Sondland got his job after writing a$1 million check to Donald Trump's inaugural committee. This is Washingtoncorruption at its worst. I've pledged never to give ambassadorial positions towealthy donors—and every candidate should do the same.pic.twitter.com/kXG6jAJ34K> > \-- Elizabeth Warren (@ewarren) November 21,2019When reporters reached out other campaigns to see their interest in theproposal, most rebuffed the offer.South Bend, Ind., mayor Pete Buttigieg didnot rule donors out of consideration. “I’ll certainly commit that anybody Iappoint to any position will be qualified and somebody who will do a good jobserving the United States,” he said. “I certainly believe that anypresidential appointment should be driven by the qualifications of theappointee.”Andrew Yang echoed Buttigieg's sentiment. “I certainly think thereare other ways to select ambassadors than solely on how much money they got,”but refused to go as far as Warren in comments to HuffPost after the debate.“Ithink that’s completely up to her,” Kamala Harris surrogate Stephanie Moralessaid after the debate. “That’s the beauty of having different candidates voicetheir different opinions. As much passion as Sen. Harris put into her commentsabout Black women, she didn’t turn around and say, ‘Elizabeth Warren, you needto pledge to do these things.’”The only positive approval came from fellowprogressive candidate Bernie Sanders, who tweeted Thursday that “it is anoutrage that throughout the history of this country, presidentialadministrations have been filled with wealthy campaign contributors.”> It isan outrage that throughout the history of this country, presidentialadministrations have been filled with wealthy campaign contributors.> > Here’smy commitment: I will fill my administration with my donors—the working classof this country who give an average of $18 apiece. https://t.co/BMcSdEk5Rh> >\-- Bernie Sanders (@BernieSanders) November 21, 2019 ['https://news.yahoo.com/buttigieg-fellow-dem-candidates-back-133724349.html', 'http://l1.yimg.com/uu/api/res/1.2/VQcrJeIipVXnIzo5EKEQ_Q--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/the_national_review_738/2cb2d2ced759eccdb5e020357d490a9b'] -Sat, 23 Nov 2019 12:09:52 -0500 Thanksgiving weather: Snow, wind could snarl travel in central, eastern USA as55M clog roads, airports https://news.yahoo.com/thanksgiving-weather-snow-wind-could-153753609.html Wintry conditions are expected not only to delay travelers on icy, crowdedInterstates, but also disrupt air travel with strong, gusty winds at keyairports. ['https://news.yahoo.com/thanksgiving-weather-snow-wind-could-153753609.html'] -Sat, 23 Nov 2019 10:25:53 -0500 Syria Kurds say repatriated US child, German and children https://news.yahoo.com/syria-kurds-repatriated-us-child-german-children-152553347.html "Syria's Kurds have handed over an American toddler and three German childrenand their mother to their respective governments, a Kurdish official and aKurdish source said on Saturday. Abdelkarim Omar, a senior official with theKurdish authorities in northeastern Syria, said the handover went ahead onFriday. ""An American child and three German children with their mother werehanded over to their governments,"" he said in a statement on Twitter. " ['https://news.yahoo.com/syria-kurds-repatriated-us-child-german-children-152553347.html', 'http://l1.yimg.com/uu/api/res/1.2/hO_D0UxH4DPwpup5oAe8tw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/http://media.zenfs.com/en_us/News/afp.com/a19ad85da97818037082c5ec92f59fe7dabac4c6.jpg'] -Sat, 23 Nov 2019 19:00:00 -0500 In America's Next Serious War, It's Aircraft Carriers Won't Go Unscathed https://news.yahoo.com/americas-next-serious-war-aircraft-000000637.html It's time to adapt. ['https://news.yahoo.com/americas-next-serious-war-aircraft-000000637.html', 'http://l2.yimg.com/uu/api/res/1.2/oqgoiH.bOeN8fuIpn0ajeg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/the_national_interest_705/cffe6298bb2e5fbcc0ef44b1bdddc363'] -Sat, 23 Nov 2019 08:51:00 -0500 Haunting photos of the 'Forbidden City,' an abandoned military base thathasn't been used in 25 years https://news.yahoo.com/haunting-photos-forbidden-city-abandoned-135100168.html "The ""Forbidden City"" was used as the Nazi command center during World War IIand housed 40,000 Soviet soldiers during the Cold War. " ['https://news.yahoo.com/haunting-photos-forbidden-city-abandoned-135100168.html', 'http://l.yimg.com/uu/api/res/1.2/krT.OtUDPrHyo8wDHdXxuA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/business_insider_articles_888/13edcd96017767e5771ac25bdf0e1213'] -Fri, 22 Nov 2019 10:57:45 -0500 Vatican accused of harbouring bishop wanted for alleged sexual abuse of youngpriests https://news.yahoo.com/vatican-accused-harbouring-bishop-wanted-155745921.html "The Vatican has been accused of harbouring a bishop wanted for alleged sexabuse offences, as Pope Francis railed against the evils of sexualexploitation on a visit to Thailand. Prosecutors in Argentina have issued aninternational arrest warrant for Bishop Gustavo Zanchetta, who is accused ofsexually abusing young trainee priests, known as seminarians. He denies thecharges. Bishop Zanchetta, 55, who is close to his fellow Argentine PopeFrancis, lives in the Vatican. Not only that, he reportedly resides in CasaSanta Marta, an accommodation block in the shadow of St Peter’s Basilica whereFrancis has lived ever since his election six years ago. Bishop Zanchetta isbelieved to be living in the Vatican Credit: AFP Argentinian prosecutors havecomplained that the bishop has failed to respond to repeated emails andtelephone calls about the abuse allegations, which were made last year by twoyoung seminarians. The trainee priests also accused him of mismanagement ofthe diocese’s finances and abuse of power. If convicted, the bishop would faceup to 10 years in prison, but there is no extradition treaty between Argentinaand the Vatican and for now he seems to be safely ensconced in Rome. Thestand-off emerged as Pope Francis made an impassioned speech in Bangkok onbehalf of victims of sex trafficking, prompting accusations of a doublestandard in the Catholic Church’s stance on sex crimes. “Despite beingsuspended from ministry, the Vatican has argued that Zanchetta's ‘daily work’requires him to be in Rome instead of facing trial in Argentina. This decisionis at best questionable and at worst a Vatican-sponsored opportunity forZanchetta to flee from justice,” said Zach Hiner, the executive director ofvictims’ pressure group SNAP, the Survivors Network of those Abused byPriests. “If Pope Francis was serious about his “all-out battle” against casesof clergy abuse, he would order Zanchetta to return to Argentina and face theallegations against him.” Anne Barrett Doyle, of BishopAccountability.org,which documents the abuse crisis in the Catholic Church, said: “It's vitalthat Pope Francis ensures Zanchetta's full cooperation with Argentine civilauthorities. To do otherwise would put the Pope in violation of his own decreeforbidding conduct by bishops that interferes with civil investigations.“Francis must begin to set an example - especially because his protectivenesstoward Zanchetta to date already raises disturbing questions about hiscommitment to ending complicity by Church officials. “Francis should not havegiven Zanchetta safe harbour in the first place, given the bishop's reportedwrongdoing in Argentina.” During an open air Mass in Bangkok on Thursday, heurged greater efforts in combating what he called the “humiliation” of womenand children forced into prostitution. Earlier, in a speech delivered at theoffice of the Thai prime minister, the Pope called for greater internationalcommitment to protect women and children ""who are violated and exposed toevery form of exploitation, enslavement, violence and abuse."" Pope Francisexits a youth Mass at Assumption Cathedral on November 22, 2019 in Bangkok,Thailand Credit: Getty In 2017, Zanchetta resigned as bishop of the city ofOran, in the north of Argentina, citing “health reasons”. The Pope called himto Rome and gave him a job in Apsa, the Vatican agency that manages theChurch’s huge property portfolio. In January, he was suspended from that rolewith the Vatican acknowledging he was under investigation. Argentinianprosecutors complain that they cannot get in touch with Zanchetta and that herefuses to respond to their communications. The Vatican did not respond toquestions about Zanchetta’s whereabouts or whether he intended to reply toprosecutors in Argentina. In a Mexican television interview earlier this year,the Pope said he had asked Zanchetta about the accusations, which involvednude selfies on the bishop’s mobile phone. Francis said he gave his friend thebenefit of the doubt after he claimed his phone had been hacked. Arepresentative for the bishop in Rome insisted that Zanchetta had alwayscooperated with investigators. ""He is the first one to be interested inclarifying the truth, so that his reputation can be restored. For this reasonhe will continue to actively cooperate with the justice system,"" JavierIniesta told Reuters. Pope Francis has been accused of failing to act againstthe scourge of clerical sex abuse by campaign groups representing victims.Scandals have erupted in Argentina and neighbouring Chile, as well as othercountries such as Ireland, Australia and Germany. " ['https://news.yahoo.com/vatican-accused-harbouring-bishop-wanted-155745921.html', 'http://l.yimg.com/uu/api/res/1.2/Q8K9vA4HuCu6qlk2E.I2VQ--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-GB/the_telegraph_258/332d2263b6b4a8a57d18d08c4feccd8c'] -Fri, 22 Nov 2019 12:02:24 -0500 Meghan McCain Snaps at Sunny Hostin: ‘Take Your Cheap Applause Line!’ https://news.yahoo.com/meghan-mccain-snaps-sunny-hostin-170224259.html Things are just going swimmingly on The View.Following a week’s worth ofdramatic impeachment hearings, conservative co-host Meghan McCain lashed outat her View colleagues on Friday over Republican belief that President Trumpdid not commit an impeachable offense—specifically getting into a heated,personal clash with co-host Sunny Hostin.After McCain pointed out thatretiring Rep. Will Hurd (R-TX) said that he has not heard evidence provingTrump committed bribery or extortion, liberal co-host and frequent sparringpartner Joy Behar wondered aloud whether Hurd was “deaf” since “we all heardit.” This prompted McCain to grumble that Democrats had “gotten out over theirskis” so many times with Trump that there’s now a problem of distrust forconservatives like here when it comes to impeachment.“Can I say one thing—whatabout the Constitution? Isn’t that the bottom line?” Behar asked.“I have acopy of the Constitution on my nightstand,” the daughter of John McCain shotback. “Please don’t talk to me about the Constitution.”“The Constitutionbelongs to all of us whether we have it on our nightstand or not,” Beharretorted.Moments later, McCain moved on to her next target after Hostin saidshe was “shocked” to hear Hurd dismiss the evidence against the president.“Iwill also say that it tells me that he is complicit, the Republican Party hasenabled this president, continues to enable this president,” Hostin continued,causing McCain to accuse her of “slandering” a former CIA officer.“It’s aboutthe fact that he heard evidence clear and simple and for him to sit there andsay that he—the evidence has to be overwhelming and that he heard nooverwhelming evidence, I want to know which hearings he was sitting at,”Hostin added to loud cheers from the audience.“It’s easy to get a cheapapplause line here,” McCain groused. “It just is, and that’s fine. Take yourcheap applause line.” After Hostin sternly responded that it isn’t a “cheapapplause line” and “they agree” with her, McCain yelled: “Let me speak!”“Youhave been speaking a lot,” Hostin quickly fired back.‘The View’s’ MeghanMcCain Explodes at Sunny Hostin for Defending Julian AssangeRead more at TheDaily Beast.Got a tip? Send it to The Daily Beast hereGet our top stories inyour inbox every day. Sign up now!Daily Beast Membership: Beast Inside goesdeeper on the stories that matter to you. Learn more. ['https://news.yahoo.com/meghan-mccain-snaps-sunny-hostin-170224259.html', 'http://l.yimg.com/uu/api/res/1.2/kYh8mT.Wnc49ecstqT2J_A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/thedailybeast.com/61f45d60ad627740d4f838a72e840069'] -Fri, 22 Nov 2019 13:36:59 -0500 A transgender woman says she was forced to remove her makeup with handsanitizer for a DMV photo https://news.yahoo.com/transgender-woman-says-she-forced-183659177.html Jaydee Dolinar told Glamour that a DMV worker handed her hand sanitizer andsaid she wouldn't be granted a new photo ID unless she removed her makeup. ['https://news.yahoo.com/transgender-woman-says-she-forced-183659177.html', 'http://l2.yimg.com/uu/api/res/1.2/iE60jXB1GRjZjH2qNWSq5g--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-US/insider_articles_922/088ee77b40c92b07d5d5daba273e0ade'] -Fri, 22 Nov 2019 15:34:00 -0500 Our 20 Favorite Car Toys for Kids https://news.yahoo.com/20-favorite-car-toys-kids-203400055.html ['https://news.yahoo.com/20-favorite-car-toys-kids-203400055.html'] -Fri, 22 Nov 2019 16:04:55 -0500 AP sources: Ex-Iowa Gov. Tom Vilsack plans to endorse Biden https://news.yahoo.com/ap-sources-ex-iowa-gov-210455101.html Former Iowa Gov. Tom Vilsack plans to publicly endorse Joe Biden for presidentat a rally on Saturday, two people close to Biden’s campaign told TheAssociated Press. The former two-term governor, who served with Biden in theObama administration as U.S. secretary of agriculture, and his wife, ChristieVilsack, plan to appear with Biden and his wife, Jill, at a morning rally inDes Moines. The backing from Vilsack comes as Biden, once the early favoritein the state with the nation’s first presidential caucuses, has steadilyslipped in Iowa, and he now trails South Bend, Indiana, Mayor Pete Buttigiegand Massachusetts Sen. Elizabeth Warren in early polls. ['https://news.yahoo.com/ap-sources-ex-iowa-gov-210455101.html', 'http://l.yimg.com/uu/api/res/1.2/WCYJ9z8xekzGKpPSuWCh7A--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en/ap.org/9a11a82f375b7193f5910c86c5e723f1'] -Fri, 22 Nov 2019 09:39:04 -0500 PHOTOS: Iraqi protests continue amid rising death toll in Baghdad https://news.yahoo.com/photos-iraqi-protests-continue-amid-rising-death-toll-in-baghdad-143904959.html Three anti-government protesters have been killed and 25 others injured amidongoing clashes with Iraqi security forces near a strategic bridge in Baghdad. ['https://news.yahoo.com/photos-iraqi-protests-continue-amid-rising-death-toll-in-baghdad-143904959.html', 'http://l2.yimg.com/uu/api/res/1.2/dBraHf_rNQVu2whRrqqXlg--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/29702510-0d33-11ea-8f7f-f1886379ff70'] -Fri, 22 Nov 2019 18:38:35 -0500 Haunting texts revealed as Boston College student pleads not guilty inboyfriend's suicide https://news.yahoo.com/haunting-texts-revealed-boston-college-182435022.html Inyoung You came to a Boston courtroom from her native South Korea to enter anot guilty plea in the suicide of her Boston College boyfriend, Alex Urtula. ['https://news.yahoo.com/haunting-texts-revealed-boston-college-182435022.html', 'http://l.yimg.com/uu/api/res/1.2/vSNYir3vz.MF6DTbTy53rw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/cd6e10b86aec00b8f47a505a87dfbd4a'] diff --git a/final_task/rss_reader/requirements.txt b/final_task/rss_reader/requirements.txt index 47a6ff2..2b0a243 100644 --- a/final_task/rss_reader/requirements.txt +++ b/final_task/rss_reader/requirements.txt @@ -1,4 +1,4 @@ html2text dateutil -jinja +jinja2 xhtml2pdf \ No newline at end of file diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index 23f2d84..8a39671 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -5,7 +5,7 @@ import logging import sys from dataclasses import asdict -from xhtml2pdf import pisa +import jinja2.exceptions import ClassNews @@ -13,7 +13,8 @@ import ToPDF import ToHTML -VERSION = 1.1 + +VERSION = 1.4 def args_parser(args): @@ -25,7 +26,7 @@ def args_parser(args): parser.add_argument('--verbose', action='store_true', help='Outputs verbose status messages') parser.add_argument('--limit', type=int, help='Limit news topics if this parameter provided') parser.add_argument('--date', type=str, help='Date for selecting topics') - parser.add_argument('--to-pdf', type=str,help ='Convert news to pdf') + parser.add_argument('--to-pdf', type=str, help='Convert news to pdf') parser.add_argument('--to-html', type=str, help='Convert news to html') res_args = parser.parse_args(args) @@ -48,7 +49,6 @@ def get_dict_from_xml(rss_request, limit): def get_request(args_source, timeout=None): - logging.info('Start parsing') rss_request = requests.get(args_source, timeout=timeout) @@ -56,14 +56,38 @@ def get_request(args_source, timeout=None): status_code = rss_request.status_code logging.info("Status code {}".format(status_code)) rss_request.raise_for_status() - return rss_request + +def articles_to_dict_articles(res_articles): + dict_articles = [] + for article in res_articles: + dict_articles.append(asdict(article)) + return dict_articles + + +def print_list(res_list): + for article in res_list: + print(article) + + +def convert_to_pdf(list_articles, path): + ToPDF.print_article_list_to_pdf(list_articles, path) + + +def convert_to_html(list_articles, path): + ToHTML.print_article_list_to_html(list_articles, path) + + +def convert_articles_to_json(res_dict_articles): + json_articles = json.dumps(res_dict_articles, indent=4) + return json_articles + + def main(): try: args = args_parser(sys.argv[1:]) res_dict_articles = [] - result_articles = [] logging_level = logging.CRITICAL if args.verbose: logging_level = logging.INFO @@ -91,42 +115,36 @@ def main(): print("\nFeed: {}".format(main_title)) result_articles = ClassNews.dicts_to_articles(res_dict_articles) - for article in result_articles: - print(article) + print_list(result_articles) res = CSVEntities.csv_to_python(result_articles, "datecsv.csv") else: logging.info(rss_request.headers['content-type']) logging.warning('We received not an xml file from api, sorry') - if args.date: logging.info('Print news by date: ') result_articles = CSVEntities.return_news_to_date(args.date, "datecsv.csv", args.limit) - + res_dict_articles = articles_to_dict_articles(result_articles) if result_articles: - for article in result_articles: - res_dict_articles.append(asdict(article)) - if not (args.to_html or args.to_pdf): - print(article) + if not (args.to_html or args.to_pdf): + print_list(result_articles) else: - print("We don't have any news in cache %s"%args.date) + print("We don't have any news in cache %s" % args.date) if args.json and res_dict_articles: logging.info('Print result as JSON in stdout') - json_articles = json.dumps(res_dict_articles, indent=4) - print(json_articles) - if args.to_pdf and result_articles: - ToPDF.print_article_list_to_pdf(result_articles, args.to_pdf) - if args.to_html and result_articles: - ToHTML.print_article_list_to_html(result_articles, args.to_html) + print(convert_articles_to_json(res_dict_articles)) + if args.to_pdf: + convert_to_pdf(result_articles, args.to_pdf) + + if args.to_html: + convert_to_html(result_articles, args.to_html) except requests.exceptions.InvalidSchema: logging.critical('It is not http request!') - except requests.exceptions.ConnectTimeout: + except requests.exceptions.Timeout: logging.critical('Time to connect is out') - except requests.exceptions.ReadTimeout: - logging.critical('Time to read is out') except requests.exceptions.HTTPError as httpserr: logging.critical("Sorry, page not found") except requests.exceptions.InvalidURL: @@ -134,8 +152,14 @@ def main(): except requests.exceptions.ConnectionError: logging.critical("Sorry, you have an proxy or SSL error") # A proxy or SSL error occurred. - except pisa: - logging.critical("Sorry, you have problem with converting to pdf") + except ToPDF.PisaError: + logging.critical(ToPDF.PisaError.message) + except FileNotFoundError: + logging.critical("Sorry, path do not exist") + except PermissionError: + logging.critical("Sorry, you do not have access to this file.") + except jinja2.exceptions.TemplateNotFound: + logging.critical("Sorry, you forgot the template") if __name__ == '__main__': diff --git a/final_task/test/RssUnitTest.py b/final_task/test/RssUnitTest.py index f652557..4e647ff 100644 --- a/final_task/test/RssUnitTest.py +++ b/final_task/test/RssUnitTest.py @@ -1,18 +1,98 @@ import unittest import sys -sys.path.append('../rss_parser') -from rss_reader import get_request, args_parser, get_dict_from_xml -import ClassNews import requests.exceptions as rexc +sys.path.append('../rss_reader') +import rss_reader +import CSVEntities +import ClassNews +import ToPDF +import ToHTML + + +TEST_LIST = [ + ClassNews.Article( + 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', + 'Sat, 17 Nov 2019 09:36:14 -0500', + 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned' + ' with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been ' + 'seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring ' + 'Buttigieg from relative obscurity tothe top of the Democratic primary field. ', + '

On '
+            'an upswing, the Pete Buttigieg show rolls through New Hampshire' + 'Pete Buttigieg traveled more than 100 miles through the Granite State on a bus ' + 'emblazoned with his name and packed with over a dozen journalists. It’s a spectacle ' + 'that hasn’t been seen in recent presidential races, but it’s part of a freewheeling ' + 'strategy has helped bring Buttigieg from relative obscurity to the top of the ' + 'Democratic primary field.


'.replace('\n',"") + ), + ClassNews.Article( + 'NATO ally expels undercover Russian spy ', + 'Sat, 16 Nov 2019 16:11:50 -0500', + 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' + 'with the Russian military intelligence service, according to a Westernintelligence source.', + '

NATO ally expels undercover Russian spy In a rare move, NATO ' + 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' + 'intelligence service, according to a Western intelligence source.


'.replace('\n', '') + ) +] +TEST_LIST_DICT = [ + { + 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', + 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', + 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'article': "Pete Buttigieg traveled more than 100 miles through the Granite State on a busembla" + "zoned with his name and packed with over a dozen journalists. It's aspectacle that ha" + "sn't been seen in recent presidential races, but it's part ofa freewheeling strategy " + "has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary" + " field. ", + 'links': ['https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'http://l2.yimg.com/uu/api/res/1.2/cqp8V_ndESsAGfj_ke5adw--/YXBwaWQ9eXRhY2h5b247aD04Nj' + 't3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/9e' + '842ef0-04eb-11ea-a66f-fec562b3bef1' + ] + }, + { + 'title': 'NATO ally expels undercover Russian spy ', + 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', + 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated with the' + ' Russian military intelligence service, according to a Westernintelligence source.', + 'links': ['https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'http://l1.yimg.com/uu/api/res/1.2/IKBjTl0jeU0BCnrjqbCKAw--/YXBwaWQ9eXRhY2h5b247aD04Nj' + 't3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/' + '440e0010-0714-11ea-9bcb-45ff7f6277b3' + ] + } +] class RssReaderTestCase(unittest.TestCase): def test_html_to_links(self): self.assertTrue(ClassNews.html_text_to_list_links( - "

\"Racist,Syracuse suspended a fraternity and halted social activities at all of them for the semester after a series of racist and anti-Semitic incidents.


" + "

\"Racist,Syracuse suspended a fraternity and halted social " + "activities at all of them for the semester after a series of racist and anti-Semitic incidents.


" )),[ 'https://news.yahoo.com/syracuse-suspends-fraternity-activities-string-150512659.html', - 'http://l.yimg.com/uu/api/res/1.2/WtsFIK_rUo0Z_cSM4WlEhA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://media.zenfs.com/en-us/usa_today_news_641/0303a78836e137c91b44145a8c735262' + 'http://l.yimg.com/uu/api/res/1.2/WtsFIK_rUo0Z_cSM4WlEhA--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTEzMDs-/https://medi' + 'a.zenfs.com/en-us/usa_today_news_641/0303a78836e137c91b44145a8c735262' ] def test_dicts_to_articles(self): @@ -21,89 +101,143 @@ def test_dicts_to_articles(self): 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', - 'article': 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ', + 'article': 'Pete Buttigieg traveled more than 100 miles through the Granite State on a ' + 'busemblazoned with his name and packed with over a dozen journalists. It\'s ' + 'aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa ' + 'freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top ' + 'of the Democratic primary field. ', 'links': '

On '
-                                 'an upswing, the Pete Buttigieg show rolls through New Hampshire' - 'Pete Buttigieg traveled more than 100 miles through the Granite State on a bus ' - 'emblazoned with his name and packed with over a dozen journalists. It’s a spectacle ' - 'that hasn’t been seen in recent presidential races, but it’s part of a freewheeling ' - 'strategy has helped bring Buttigieg from relative obscurity to the top of the ' - 'Democratic primary field.


'.replace('\n',"") + 'html">On an upswing, the Pete Buttigieg show rolls through New Hampshire Pete Buttigieg traveled more than 100 miles through the Granite ' + 'State on a bus emblazoned with his name and packed with over a dozen journalists.' + ' It’s a spectacle that hasn’t been seen in recent presidential races, but it’s part ' + 'of a freewheeling strategy has helped bring Buttigieg from relative obscurity to the' + ' top of the Democratic primary field.


'.replace('\n', "") }, { 'title': 'NATO ally expels undercover Russian spy ', 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' - 'with the Russian military intelligence service, according to a Westernintelligence source.', + 'with the Russian military intelligence service, according to a ' + 'Westernintelligence source.', 'links': '

NATO ally expels undercover Russian spy In a rare move, NATO ' - 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' - 'intelligence service, according to a Western intelligence source.


'.replace('\n','') + '211150048.html">NATO ally expels undercover Russian spy In a rare' + ' move, NATO ally Bulgaria has expelled an undercover spy affiliated with the ' + 'Russian military intelligence service, according to a Western intelligence ' + 'source.


'.replace('\n', '') } ] - ),[ - ClassNews.Article( - 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', - 'Sat, 17 Nov 2019 09:36:14 -0500', - 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', - 'Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblazoned with his name and packed with over a dozen journalists. It\'s aspectacle that hasn\'t been seen in recent presidential races, but it\'s part ofa freewheeling strategy has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary field. ', - '

On '
-                                 'an upswing, the Pete Buttigieg show rolls through New Hampshire' - 'Pete Buttigieg traveled more than 100 miles through the Granite State on a bus ' - 'emblazoned with his name and packed with over a dozen journalists. It’s a spectacle ' - 'that hasn’t been seen in recent presidential races, but it’s part of a freewheeling ' - 'strategy has helped bring Buttigieg from relative obscurity to the top of the ' - 'Democratic primary field.


'.replace('\n',"") - ), - ClassNews.Article( - 'NATO ally expels undercover Russian spy ', - 'Sat, 16 Nov 2019 16:11:50 -0500', - 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', - 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated ' - 'with the Russian military intelligence service, according to a Westernintelligence source.', - '

NATO ally expels undercover Russian spy In a rare move, NATO ' - 'ally Bulgaria has expelled an undercover spy affiliated with the Russian military ' - 'intelligence service, according to a Western intelligence source.


'.replace('\n', '') - ) - ] + ), TEST_LIST ) + def test_write_csv(self): + self.assertEqual(CSVEntities.csv_to_python(TEST_LIST, 'rss_test.csv'), True) + def test_args_parser(self): - parser = args_parser(['https://news_api.com', '--version', '--json', '--verbose', '--limit', '2', '--date', '20191119']) + parser = rss_reader.args_parser(['https://news_api.com', '--version', '--json', '--verbose', '--limit', '2', + '--date', '20191119','--to-pdf', 'd:/set', '--to-html', 'd:/set']) self.assertEqual(parser.source, 'https://news_api.com') self.assertTrue(parser.version) self.assertTrue(parser.json) self.assertTrue(parser.verbose) self.assertEqual(parser.limit, 2) self.assertEqual(parser.date, '20191119') + self.assertEqual(parser.to_pdf, 'd:/set') + self.assertEqual(parser.to_html, 'd:/set') def test_requests_exceptions_inv_schema(self): - self.assertRaises(rexc.InvalidSchema, get_request, 'htps://news.yahoo.com') - #self.assertRaises(rexc.ConnectionError) + self.assertRaises(rexc.InvalidSchema, rss_reader.get_request, 'htps://news.yahoo.com') def test_requests_exceptions_read_timeout(self): - self.assertRaises(rexc.ReadTimeout, get_request,'https://news.yahoo.com', timeout=(1, 0.01)) + self.assertRaises(rexc.Timeout, rss_reader.get_request, 'https://news.yahoo.com', timeout=(1, 0.01)) def test_requests_exceptions_httperror(self): - self.assertRaises(rexc.HTTPError, get_request, 'https://yahoo.com/rss') + self.assertRaises(rexc.HTTPError, rss_reader.get_request, 'https://yahoo.com/rss') + + def test_to_pdf_exceptions(self): + self.assertRaises(FileNotFoundError, rss_reader.convert_to_pdf, TEST_LIST, 'c:/somenonexistdir') + + def test_to_html_exceptions(self): + self.assertRaises(FileNotFoundError, rss_reader.convert_to_html, TEST_LIST, 'c:/somenonexistdir') + + def test_articles_to_dict_articles(self): + self.assertEqual(rss_reader.articles_to_dict_articles(TEST_LIST), + [ + { + 'title': 'On an upswing, the Pete Buttigieg show rolls through New Hampshire', + 'date': 'Sat, 17 Nov 2019 09:36:14 -0500', + 'link': 'https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'article': "Pete Buttigieg traveled more than 100 miles through the Granite State on a busembla" + "zoned with his name and packed with over a dozen journalists. It's aspectacle that ha" + "sn't been seen in recent presidential races, but it's part ofa freewheeling strategy " + "has helped bring Buttigieg from relative obscurity tothe top of the Democratic primary" + " field. ", + 'links': ['https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html', + 'http://l2.yimg.com/uu/api/res/1.2/cqp8V_ndESsAGfj_ke5adw--/YXBwaWQ9eXRhY2h5b247aD04Nj' + 't3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/9e' + '842ef0-04eb-11ea-a66f-fec562b3bef1' + ] + }, + { + 'title': 'NATO ally expels undercover Russian spy ', + 'date': 'Sat, 16 Nov 2019 16:11:50 -0500', + 'link': 'https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'article': 'In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated with the' + ' Russian military intelligence service, according to a Westernintelligence source.', + 'links': ['https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html', + 'http://l1.yimg.com/uu/api/res/1.2/IKBjTl0jeU0BCnrjqbCKAw--/YXBwaWQ9eXRhY2h5b247aD04Nj' + 't3PTEzMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/' + '440e0010-0714-11ea-9bcb-45ff7f6277b3' + ] + } + ] + ) + + def test_list_to_json(self): + self.assertEqual( + TEST_LIST_DICT, + [ + { + "title": "On an upswing, the Pete Buttigieg show rolls through New Hampshire", + "date": "Sat, 17 Nov 2019 09:36:14 -0500", + "link": "https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html", + "article": "Pete Buttigieg traveled more than 100 miles through the Granite State on a busemblaz" + "oned with his name and packed with over a dozen journalists. It's aspectacle that ha" + "sn't been seen in recent presidential races, but it's part ofa freewheeling strategy ha" + "s helped bring Buttigieg from relative obscurity tothe top of the Democratic primary " + "field. ", + "links": [ + "https://news.yahoo.com/pete-buttigieg-bus-tour-upswing-polls-143614985.html", + "http://l2.yimg.com/uu/api/res/1.2/cqp8V_ndESsAGfj_ke5adw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTE" + "zMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/9e842ef0-04" + "eb-11ea-a66f-fec562b3bef1" + ] + }, + { + "title": "NATO ally expels undercover Russian spy ", + "date": "Sat, 16 Nov 2019 16:11:50 -0500", + "link": "https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html", + "article": "In a rare move, NATO ally Bulgaria has expelled an undercover spy affiliated with the " + "Russian military intelligence service, according to a Westernintelligence source.", + "links": [ + "https://news.yahoo.com/nato-ally-expels-undercover-russian-spy-211150048.html", + "http://l1.yimg.com/uu/api/res/1.2/IKBjTl0jeU0BCnrjqbCKAw--/YXBwaWQ9eXRhY2h5b247aD04Njt3PTE" + "zMDs-/https://media-mbst-pub-ue1.s3.amazonaws.com/creatr-uploaded-images/2019-11/440e0010-071" + "4-11ea-9bcb-45ff7f6277b3" + ] + } + ] + + ) if __name__ == '__main__': From d64cfc41e0e57ff407dc997ba507e9968058ff97 Mon Sep 17 00:00:00 2001 From: Elizaveta Lapunova Date: Mon, 25 Nov 2019 23:54:52 +0300 Subject: [PATCH 10/11] final commit --- final_task/README.md | 16 ++++- final_task/rss_reader.egg-info/PKG-INFO | 20 ++++-- final_task/rss_reader.egg-info/SOURCES.txt | 2 + final_task/rss_reader.egg-info/requires.txt | 4 +- final_task/rss_reader/CSVEntities.py | 2 +- final_task/rss_reader/ClassNews.py | 2 +- final_task/rss_reader/ToPDF.py | 50 ++++++++++----- final_task/rss_reader/__init__.py | 1 + final_task/rss_reader/__main__.py | 2 +- final_task/rss_reader/requirements.txt | 2 +- final_task/rss_reader/rss_reader.py | 69 ++++++++++++--------- final_task/rss_reader/template.html | 17 ++--- final_task/setup.py | 9 +-- final_task/test/RssUnitTest.py | 25 ++++++++ 14 files changed, 154 insertions(+), 67 deletions(-) diff --git a/final_task/README.md b/final_task/README.md index ed0a707..dc286c4 100644 --- a/final_task/README.md +++ b/final_task/README.md @@ -38,7 +38,7 @@ JSON structure: to run rss parser on your computer you need to: 1) clone repository from https://github.com/ElizabethUniverse/FinalTaskRssParser 2) `$cd final_task` -3) `$python setup.py sdist upload` +3) `$python setup.py sdist bdist_wheel` 4) `$cd dist` 3) `$pip install rss_reader-1.1.tar.gz` 4) run `$rss_reader https://news.yahoo.com/rss --limit 2 --verbose` @@ -55,4 +55,16 @@ If you want to receive news for the 15/11/2019, please enter the following comma `$python rss_reader.py https://news.yahoo.com/rss --date 20191115` ---date argument works without internet connection and with --verbose, --json, --limit LIMIT arguments the same way. \ No newline at end of file +--date argument works without internet connection and with --verbose, --json, --limit LIMIT arguments the same way. + +##Iteration 4 + +News can be converted to pdf or html. + +If you want to convert news to pdf: + +`$python rss_reader.py https://news.yahoo.com/rss --to-pdf path` + +to html: + +`$python rss_reader.py https://news.yahoo.com/rss --to-html path` \ No newline at end of file diff --git a/final_task/rss_reader.egg-info/PKG-INFO b/final_task/rss_reader.egg-info/PKG-INFO index 6976af4..94cdf45 100644 --- a/final_task/rss_reader.egg-info/PKG-INFO +++ b/final_task/rss_reader.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: rss-reader -Version: 1.1 +Version: 1.4 Summary: RSS parser Home-page: https://github.com/ElizabethUniverse/FinalTaskRssParser Author: Elizaveta Lapunova @@ -24,7 +24,7 @@ Description: ## Iteration 1 ```` JSON structure: ``` - { + [ { "title": "A black man was put in handcuffs after a police officer stopped him on a trainplatform because he was eating", "article": "Bay Area Rapid Transit police said Steve Foster, of Concord, California,violated state law by eating a sandwich on a BART station's platform. ", @@ -39,14 +39,14 @@ Description: ## Iteration 1 ... }, ... - } + ] ``` ## Iteration 2 to run rss parser on your computer you need to: 1) clone repository from https://github.com/ElizabethUniverse/FinalTaskRssParser 2) `$cd final_task` - 3) `$python setup.py sdist upload` + 3) `$python setup.py sdist bdist_wheel` 4) `$cd dist` 3) `$pip install rss_reader-1.1.tar.gz` 4) run `$rss_reader https://news.yahoo.com/rss --limit 2 --verbose` @@ -64,5 +64,17 @@ Description: ## Iteration 1 `$python rss_reader.py https://news.yahoo.com/rss --date 20191115` --date argument works without internet connection and with --verbose, --json, --limit LIMIT arguments the same way. + + ##Iteration 4 + + News can be converted to pdf or html. + + If you want to convert news to pdf: + + `$python rss_reader.py https://news.yahoo.com/rss --to-pdf path` + + to html: + + `$python rss_reader.py https://news.yahoo.com/rss --to-html path` Platform: any Requires-Python: >=3.7.0 diff --git a/final_task/rss_reader.egg-info/SOURCES.txt b/final_task/rss_reader.egg-info/SOURCES.txt index 6ab2004..182ffe8 100644 --- a/final_task/rss_reader.egg-info/SOURCES.txt +++ b/final_task/rss_reader.egg-info/SOURCES.txt @@ -2,6 +2,8 @@ README.md setup.py rss_reader/CSVEntities.py rss_reader/ClassNews.py +rss_reader/ToHTML.py +rss_reader/ToPDF.py rss_reader/__init__.py rss_reader/__main__.py rss_reader/requirements.txt diff --git a/final_task/rss_reader.egg-info/requires.txt b/final_task/rss_reader.egg-info/requires.txt index 8bfa697..716a618 100644 --- a/final_task/rss_reader.egg-info/requires.txt +++ b/final_task/rss_reader.egg-info/requires.txt @@ -1,2 +1,4 @@ html2text==2019.9.26 -dateutil==2.4.1 +python-dateutil==2.8.0 +jinja2==2.10.1 +fpdf==1.7.2 diff --git a/final_task/rss_reader/CSVEntities.py b/final_task/rss_reader/CSVEntities.py index 76ed8b6..e36a6cb 100644 --- a/final_task/rss_reader/CSVEntities.py +++ b/final_task/rss_reader/CSVEntities.py @@ -12,7 +12,7 @@ def csv_to_python(articles_list, csv_file): """This function inserts news to the source csv file that has never been seen in it.""" if not os.path.exists(csv_file): - open(csv_file, 'x', encoding='utf-8') + open(csv_file, 'x', encoding='utf-8').close() articles_list_from_csv = [] with open(csv_file, "r", encoding='utf-8') as file: diff --git a/final_task/rss_reader/ClassNews.py b/final_task/rss_reader/ClassNews.py index a685a52..6bb92da 100644 --- a/final_task/rss_reader/ClassNews.py +++ b/final_task/rss_reader/ClassNews.py @@ -57,7 +57,7 @@ class Article: date: str link: str article: str - links :str + links: str def __post_init__(self): self.links = html_text_to_list_links(self.links) diff --git a/final_task/rss_reader/ToPDF.py b/final_task/rss_reader/ToPDF.py index 3b4ef05..a447fde 100644 --- a/final_task/rss_reader/ToPDF.py +++ b/final_task/rss_reader/ToPDF.py @@ -1,24 +1,44 @@ -from xhtml2pdf import pisa import os - -import ToHTML +from fpdf import FPDF FILENAME_PDF = "articles.pdf" -class PisaError(Exception): - def __init__(self, msg): - self.message = msg +def conv_str(input_str): + return (input_str.replace('\u2026', '').replace('\u2019', '').replace('\u201c', '').replace('\u201d', '')\ + .replace('\u2013', '').replace('\u2018', '')) + + +class PDF(FPDF): + + # Page footer + def footer(self): + # Position at 1.5 cm from bottom + self.set_y(-15) + # Arial italic 8 + self.set_font('Arial', 'I', 8) + # Page number + self.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C') def print_article_list_to_pdf(list_articles, path): + if not os.path.exists(path): - raise FileNotFoundError - - with open(os.path.join(path, FILENAME_PDF), "wb") as pdf: - list_articles - pisa_pdf = pisa.CreatePDF(ToHTML.print_article_list(list_articles), dest=pdf) - if not pisa_pdf.err: - print('Please, check %s' % path) - else: - raise PisaError("Sorry, you have problem with converting to pdf") \ No newline at end of file + raise FileNotFoundError + path = os.path.join(path, FILENAME_PDF) + + pdf = PDF() + pdf.alias_nb_pages() + pdf.add_page() + pdf.set_font('Arial', '', 12) + + for item in list_articles: + pdf.cell(0, 10, "Title: %s" % (conv_str(item.title)), 0, 1) + pdf.cell(0, 10, "Date: %s" % (conv_str(item.date)), 0, 1) + pdf.cell(0, 10, "Link: %s" % (conv_str(item.link)), 0, 1) + pdf.multi_cell(0, 10, '%s' % (conv_str(item.article)), 0, 1) + for idx, link in enumerate(item.links): + pdf.multi_cell(0, 10, "[%d]:%s" % (idx, (conv_str(link))), 0, 1) + pdf.cell(0, 10, "", 0, 1) + pdf.output(path, 'F') + return True \ No newline at end of file diff --git a/final_task/rss_reader/__init__.py b/final_task/rss_reader/__init__.py index e69de29..8b13789 100644 --- a/final_task/rss_reader/__init__.py +++ b/final_task/rss_reader/__init__.py @@ -0,0 +1 @@ + diff --git a/final_task/rss_reader/__main__.py b/final_task/rss_reader/__main__.py index 2601d90..ec247e5 100644 --- a/final_task/rss_reader/__main__.py +++ b/final_task/rss_reader/__main__.py @@ -1,4 +1,4 @@ -from rss_parser import rss_reader +from rss_reader import rss_reader if __name__ == "__main__": # execute only if run as a script diff --git a/final_task/rss_reader/requirements.txt b/final_task/rss_reader/requirements.txt index 2b0a243..72722e2 100644 --- a/final_task/rss_reader/requirements.txt +++ b/final_task/rss_reader/requirements.txt @@ -1,4 +1,4 @@ html2text dateutil jinja2 -xhtml2pdf \ No newline at end of file +fpdf \ No newline at end of file diff --git a/final_task/rss_reader/rss_reader.py b/final_task/rss_reader/rss_reader.py index 8a39671..f9c47f4 100644 --- a/final_task/rss_reader/rss_reader.py +++ b/final_task/rss_reader/rss_reader.py @@ -33,7 +33,7 @@ def args_parser(args): return res_args -def get_dict_from_xml(rss_request, limit): +def get_dict_from_xml(rss_request, limit): #test main_title = '' root = ET.fromstring(rss_request.content) @@ -49,12 +49,12 @@ def get_dict_from_xml(rss_request, limit): def get_request(args_source, timeout=None): - logging.info('Start parsing') + rss_logging(logging, 'Start parsing', 'info') rss_request = requests.get(args_source, timeout=timeout) # Check status code status_code = rss_request.status_code - logging.info("Status code {}".format(status_code)) + rss_logging(logging, "Status code {}".format(status_code), 'info') rss_request.raise_for_status() return rss_request @@ -72,11 +72,15 @@ def print_list(res_list): def convert_to_pdf(list_articles, path): - ToPDF.print_article_list_to_pdf(list_articles, path) + if ToPDF.print_article_list_to_pdf(list_articles, path): + rss_logging(logging, "News converted to pdf successfully", 'info') + return True def convert_to_html(list_articles, path): - ToHTML.print_article_list_to_html(list_articles, path) + if ToHTML.print_article_list_to_html(list_articles, path): + rss_logging(logging, "News converted to html successfully", 'info') + return True def convert_articles_to_json(res_dict_articles): @@ -84,6 +88,15 @@ def convert_articles_to_json(res_dict_articles): return json_articles +def rss_logging(logger, msg, level): + if level == 'critical': + return logger.critical(msg) + if level == 'info': + return logger.info(msg) + if level == 'warning': + return logger.warning(msg) + + def main(): try: args = args_parser(sys.argv[1:]) @@ -96,45 +109,43 @@ def main(): print("Current version: " + str(VERSION)) if args.limit: print('News LIMIT: ' + str(args.limit)) + logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) if args.source and (not args.date): - logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) - # Get request rss_request = get_request(args.source) - print(rss_request.status_code) - logging.info('Parsing completed successfully') + rss_logging(logging, 'Parsing completed successfully', 'info') + rss_logging(logging, "Content type: %s" % rss_request.headers['content-type'], 'info') # Here we check the type of response. To correctly process it - if rss_request.headers['content-type'] == "application/xml": - + if rss_request.headers['content-type'] == "application/xml" or 'application/rss+xml': res_dict_articles, main_title = get_dict_from_xml(rss_request, args.limit) - logging.info('Print news:') - + rss_logging(logging, 'Print news:', 'info') print("\nFeed: {}".format(main_title)) result_articles = ClassNews.dicts_to_articles(res_dict_articles) - print_list(result_articles) - res = CSVEntities.csv_to_python(result_articles, "datecsv.csv") else: - logging.info(rss_request.headers['content-type']) - logging.warning('We received not an xml file from api, sorry') + rss_logging(logging, rss_request.headers['content-type'], 'info') + rss_logging(logging, 'We received not an xml file from api, sorry', 'warning') if args.date: - logging.info('Print news by date: ') + rss_logging(logging, 'Search news by date: ', 'info') result_articles = CSVEntities.return_news_to_date(args.date, "datecsv.csv", args.limit) + res_dict_articles = articles_to_dict_articles(result_articles) if result_articles: if not (args.to_html or args.to_pdf): + rss_logging(logging, 'Print news by date: ', 'info') print_list(result_articles) else: - print("We don't have any news in cache %s" % args.date) + rss_logging(logging, "We don't have any news in cache %s" % args.date, 'info') if args.json and res_dict_articles: - logging.info('Print result as JSON in stdout') + rss_logging(logging, 'Print result as JSON in stdout', 'info') print(convert_articles_to_json(res_dict_articles)) + if args.to_pdf: convert_to_pdf(result_articles, args.to_pdf) @@ -142,24 +153,22 @@ def main(): convert_to_html(result_articles, args.to_html) except requests.exceptions.InvalidSchema: - logging.critical('It is not http request!') + rss_logging(logging, 'It is not http request!', 'critical') except requests.exceptions.Timeout: - logging.critical('Time to connect is out') + rss_logging(logging, 'Time to connect is out', 'critical') except requests.exceptions.HTTPError as httpserr: - logging.critical("Sorry, page not found") + rss_logging(logging, 'Time to connect is out', 'critical') except requests.exceptions.InvalidURL: - logging.critical("Sorry, that's not valid url") + rss_logging(logging, "Sorry, that's not valid url", 'critical') except requests.exceptions.ConnectionError: - logging.critical("Sorry, you have an proxy or SSL error") + rss_logging(logging, 'Sorry, you have an proxy or SSL error', 'critical') # A proxy or SSL error occurred. - except ToPDF.PisaError: - logging.critical(ToPDF.PisaError.message) except FileNotFoundError: - logging.critical("Sorry, path do not exist") + rss_logging(logging, "Sorry, path do not exist", 'critical') except PermissionError: - logging.critical("Sorry, you do not have access to this file.") + rss_logging(logging, "Sorry, you do not have access to this file.", 'critical') except jinja2.exceptions.TemplateNotFound: - logging.critical("Sorry, you forgot the template") + rss_logging(logging, "Sorry, you forgot the template", 'critical') if __name__ == '__main__': diff --git a/final_task/rss_reader/template.html b/final_task/rss_reader/template.html index 7b194c1..545e0e2 100644 --- a/final_task/rss_reader/template.html +++ b/final_task/rss_reader/template.html @@ -3,15 +3,18 @@ {% for item in articles %} -

{{item.title}}

-

{{item.date}}

-{{item.link}} +

{{item.title}}

+

{{item.date}}

+

{{item.link}}

-

{{item.article}}

+ {%for link in item.links[1:]%} + + {% endfor%} +

{{item.article}}

-{% for links in item.links %} -

{{links}}

-{% endfor %} + {% for links in item.links %} +

{{links}}

+ {% endfor %} {% endfor %} diff --git a/final_task/setup.py b/final_task/setup.py index f57d5b4..bfc127f 100644 --- a/final_task/setup.py +++ b/final_task/setup.py @@ -1,3 +1,4 @@ +import sys import os from setuptools import setup, find_packages @@ -7,7 +8,7 @@ def read(fname): setup( # metadata name='rss_reader', - version='1.1', + version='1.4', author='Elizaveta Lapunova', author_email='liza.lapunova99@gmail.com', url='https://github.com/ElizabethUniverse/FinalTaskRssParser', @@ -19,15 +20,15 @@ def read(fname): #options packages=find_packages(), - install_requires=['html2text==2019.9.26', 'dateutil==2.4.1'], + install_requires=['html2text==2019.9.26', 'python-dateutil==2.8.0', 'jinja2==2.10.1','fpdf==1.7.2'], package_data={ '': ['*.py', '*.txt'] }, - python_requires ='>=3.7.0', + python_requires='>=3.7.0', entry_points={ "console_scripts": "rss_reader=rss_reader.rss_reader:main" }, - #test_suite='test', + test_suite='test', zip_safe=False ) diff --git a/final_task/test/RssUnitTest.py b/final_task/test/RssUnitTest.py index 4e647ff..ed3bd6d 100644 --- a/final_task/test/RssUnitTest.py +++ b/final_task/test/RssUnitTest.py @@ -1,12 +1,14 @@ import unittest import sys import requests.exceptions as rexc +import os sys.path.append('../rss_reader') import rss_reader import CSVEntities import ClassNews import ToPDF import ToHTML +import logging TEST_LIST = [ @@ -153,6 +155,15 @@ def test_args_parser(self): self.assertEqual(parser.date, '20191119') self.assertEqual(parser.to_pdf, 'd:/set') self.assertEqual(parser.to_html, 'd:/set') + def test_pdf_writing(self): + path = os.path.dirname(__file__) + self.assertEqual(ToPDF.print_article_list_to_pdf(TEST_LIST, path), True) + def test_pdf_writing(self): + path = os.path.dirname(__file__) + self.assertEqual(rss_reader.convert_to_pdf(TEST_LIST, path), True) + + def test_requests(self): + self.assertEqual(rss_reader.get_request('https://news.yahoo.com/rss').status_code, 200) def test_requests_exceptions_inv_schema(self): self.assertRaises(rexc.InvalidSchema, rss_reader.get_request, 'htps://news.yahoo.com') @@ -202,6 +213,20 @@ def test_articles_to_dict_articles(self): ] ) + def test_logger_critical(self): + logging_level = logging.CRITICAL + logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'critical'), logging.critical("message")) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'warning'), logging.warning("message")) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'info'), logging.info("message")) + + def test_logger_info(self): + logging_level = logging.INFO + logging.basicConfig(format='%(levelname)s:%(message)s', level=logging_level) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'critical'), logging.critical("message")) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'warning'), logging.warning("message")) + self.assertEqual(rss_reader.rss_logging(logging, "message", 'info'), logging.info("message")) + def test_list_to_json(self): self.assertEqual( TEST_LIST_DICT, From b6205e0febdfb34b45b5ddc31616ee4dd3f06f3e Mon Sep 17 00:00:00 2001 From: ElizabethUniverse Date: Mon, 25 Nov 2019 23:58:19 +0300 Subject: [PATCH 11/11] Update README.md --- final_task/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/final_task/README.md b/final_task/README.md index dc286c4..2bc2d98 100644 --- a/final_task/README.md +++ b/final_task/README.md @@ -57,7 +57,7 @@ If you want to receive news for the 15/11/2019, please enter the following comma --date argument works without internet connection and with --verbose, --json, --limit LIMIT arguments the same way. -##Iteration 4 +## Iteration 4 News can be converted to pdf or html. @@ -67,4 +67,4 @@ If you want to convert news to pdf: to html: -`$python rss_reader.py https://news.yahoo.com/rss --to-html path` \ No newline at end of file +`$python rss_reader.py https://news.yahoo.com/rss --to-html path`