Skip to content

Instantly share code, notes, and snippets.

@skolo-online
Created January 31, 2022 08:01
Show Gist options
  • Save skolo-online/7e15a58c05b540823ee799fbeda40fe9 to your computer and use it in GitHub Desktop.
Save skolo-online/7e15a58c05b540823ee799fbeda40fe9 to your computer and use it in GitHub Desktop.
Flask Application Generated by Codex
import requests
from flask import Flask, render_template, request
app = Flask(__name__)
# Get the news stories
api_key = None
base_url = None
def configure_request(app):
global api_key, base_url
api_key = app.config['NEWS_API_KEY']
base_url = app.config['NEWS_API_BASE_URL']
def get_news():
get_news_url = base_url.format(api_key)
with urllib.request.urlopen(get_news_url) as url:
get_news_data = url.read()
get_news_response = json.loads(get_news_data)
news_results = None
if get_news_response['articles']:
news_results_list = get_news_response['articles']
news_results = process_results(news_results_list)
return news_results
def process_results(news_list):
news_results = []
for news_item in news_list:
author = news_item.get('author')
title = news_item.get('title')
description = news_item.get('description')
url = news_item.get('url')
urlToImage = news_item.get('urlToImage')
publishedAt = news_item.get('publishedAt')
if urlToImage:
news_object = News(author, title, description, url, urlToImage, publishedAt)
news_results.append(news_object)
return news_results
@app.route('/')
def index():
news = get_news()
return render_template('index.html', news=news)
@app.route('/sources')
def sources():
return render_template('sources.html')
if __name__ == '__main__':
app.run(debug=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment