From 4e6c0b18f04edeb3ad017674cacb2d21a2012e43 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 10:08:28 +0530 Subject: [PATCH 1/6] Python Program that fetches top trending news --- web_programming/fetch_news.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 web_programming/fetch_news.py diff --git a/web_programming/fetch_news.py b/web_programming/fetch_news.py new file mode 100644 index 000000000000..441190607c31 --- /dev/null +++ b/web_programming/fetch_news.py @@ -0,0 +1,26 @@ +# Created by sarathkaul on 12/11/19 + +import requests + +_NEWS_API = "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=4dbc17e007ab436fb66416009dfb59a8" + +def fetch_bbc_news(): + # fetching data in json format + bbc_page_fetch = requests.get(_NEWS_API).json() + + # getting all articles in a string article + article = bbc_page_fetch["articles"] + + # result containing all trending news + results = [] + + for a_article in article: + results.append(a_article) + + for a_result in range(len(results)): + # printing all trending news + print(str(a_result + 1) + ".) ", results[a_result]['title']) + + +if __name__ == '__main__': + fetch_bbc_news() From f451d5192bc7fa0b573d25740841fd4315463284 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 10:11:50 +0530 Subject: [PATCH 2/6] Python Program that fetches top trending news --- web_programming/fetch_news.py | 1 + 1 file changed, 1 insertion(+) diff --git a/web_programming/fetch_news.py b/web_programming/fetch_news.py index 441190607c31..e524b540629e 100644 --- a/web_programming/fetch_news.py +++ b/web_programming/fetch_news.py @@ -4,6 +4,7 @@ _NEWS_API = "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=4dbc17e007ab436fb66416009dfb59a8" + def fetch_bbc_news(): # fetching data in json format bbc_page_fetch = requests.get(_NEWS_API).json() From f46a6b7bfad4683d6ab7af03a5d422e1abef17f2 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 12:18:54 +0530 Subject: [PATCH 3/6] Revisions in Fetch BBC News --- web_programming/fetch_bbc_news.py | 18 ++++++++++++++++++ web_programming/fetch_news.py | 27 --------------------------- 2 files changed, 18 insertions(+), 27 deletions(-) create mode 100644 web_programming/fetch_bbc_news.py delete mode 100644 web_programming/fetch_news.py diff --git a/web_programming/fetch_bbc_news.py b/web_programming/fetch_bbc_news.py new file mode 100644 index 000000000000..43ffc305ea48 --- /dev/null +++ b/web_programming/fetch_bbc_news.py @@ -0,0 +1,18 @@ +# Created by sarathkaul on 12/11/19 + +import requests + +# Enter Your API Key in following URL +_NEWS_API = "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=" + + +def fetch_bbc_news(bbc_news_api_key: str) -> None: + # fetching a list of articles in json format + bbc_news_page = requests.get(_NEWS_API + bbc_news_api_key).json() + # each article in the list is a dict + for i, article in enumerate(bbc_news_page["articles"], 1): + print(f"{i}.) {article['title']}") + + +if __name__ == '__main__': + fetch_bbc_news(bbc_news_api_key="") diff --git a/web_programming/fetch_news.py b/web_programming/fetch_news.py deleted file mode 100644 index e524b540629e..000000000000 --- a/web_programming/fetch_news.py +++ /dev/null @@ -1,27 +0,0 @@ -# Created by sarathkaul on 12/11/19 - -import requests - -_NEWS_API = "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=4dbc17e007ab436fb66416009dfb59a8" - - -def fetch_bbc_news(): - # fetching data in json format - bbc_page_fetch = requests.get(_NEWS_API).json() - - # getting all articles in a string article - article = bbc_page_fetch["articles"] - - # result containing all trending news - results = [] - - for a_article in article: - results.append(a_article) - - for a_result in range(len(results)): - # printing all trending news - print(str(a_result + 1) + ".) ", results[a_result]['title']) - - -if __name__ == '__main__': - fetch_bbc_news() From 258d73f8dce0faae1d6272384c2e152424bf7619 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 14:54:17 +0530 Subject: [PATCH 4/6] psf/black Changes --- web_programming/fetch_bbc_news.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web_programming/fetch_bbc_news.py b/web_programming/fetch_bbc_news.py index 43ffc305ea48..7f8bc57b69f5 100644 --- a/web_programming/fetch_bbc_news.py +++ b/web_programming/fetch_bbc_news.py @@ -2,7 +2,6 @@ import requests -# Enter Your API Key in following URL _NEWS_API = "https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=" @@ -14,5 +13,5 @@ def fetch_bbc_news(bbc_news_api_key: str) -> None: print(f"{i}.) {article['title']}") -if __name__ == '__main__': +if __name__ == "__main__": fetch_bbc_news(bbc_news_api_key="") From 6e6dd6b38b064692102355cdc5dd877212d488b4 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 15:06:35 +0530 Subject: [PATCH 5/6] Python Program to send slack message to a channel --- web_programming/slack_message.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 web_programming/slack_message.py diff --git a/web_programming/slack_message.py b/web_programming/slack_message.py new file mode 100644 index 000000000000..9d3cc5911181 --- /dev/null +++ b/web_programming/slack_message.py @@ -0,0 +1,20 @@ +# Created by sarathkaul on 12/11/19 + +import json +import requests + + +def send_slack_message(message_body, slack_url): + slack_data = {"text": message_body} + headers = {"Content-Type": "application/json"} + response = requests.post(slack_url, data=json.dumps(slack_data), headers=headers) + if response.status_code != 200: + raise ValueError( + "Request to slack returned an error %s, the response is:\n%s" + % (response.status_code, response.text) + ) + + +if __name__ == "main": + # Set the slack url to the one provided by Slack when you create the webhook at https://my.slack.com/services/new/incoming-webhook/ + send_slack_message("", "") From 8d74643237063b66764fe9b826a0cd605f84f6a3 Mon Sep 17 00:00:00 2001 From: Sarath Kaul Date: Tue, 12 Nov 2019 15:32:17 +0530 Subject: [PATCH 6/6] Slack Message Revision Changes --- web_programming/slack_message.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/web_programming/slack_message.py b/web_programming/slack_message.py index 9d3cc5911181..8dd0462d48e3 100644 --- a/web_programming/slack_message.py +++ b/web_programming/slack_message.py @@ -1,17 +1,15 @@ # Created by sarathkaul on 12/11/19 -import json import requests -def send_slack_message(message_body, slack_url): - slack_data = {"text": message_body} +def send_slack_message(message_body: str, slack_url: str) -> None: headers = {"Content-Type": "application/json"} - response = requests.post(slack_url, data=json.dumps(slack_data), headers=headers) + response = requests.post(slack_url, json={"text": message_body}, headers=headers) if response.status_code != 200: raise ValueError( - "Request to slack returned an error %s, the response is:\n%s" - % (response.status_code, response.text) + f"Request to slack returned an error {response.status_code}, " + f"the response is:\n{response.text}" )