From 268f9e1cf319fb155e0b2f729d429257c07555bf Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 07:52:15 -0700 Subject: [PATCH 01/16] added gitignore for wikipedia/data directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cca401a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +wikipedia/data/ -- 2.39.2 From 4e1b7fbdfe346a1b0546a8afb24f8c2f10138b79 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 08:18:05 -0700 Subject: [PATCH 02/16] fixed typo in debug message --- wikipedia/scripts/fetch_enwiki_revisions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index cbb283d..fdd4ad5 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -121,7 +121,7 @@ def main(): tsv_writer.writeheader() for article in article_list: - logging.info(f"pulling revisiosn for: {article}") + logging.info(f"pulling revisions for: {article}") for rev in get_revisions_for_page(article): logging.debug(f"processing raw revision: {rev}") -- 2.39.2 From 06d2fd156335b6bb83966ea89f4b7283055ad946 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 10:47:33 -0500 Subject: [PATCH 03/16] fix bugs with the date stamps --- wikipedia/scripts/fetch_enwiki_daily_views.py | 4 +--- wikipedia/scripts/fetch_enwiki_revisions.py | 6 ++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/wikipedia/scripts/fetch_enwiki_daily_views.py b/wikipedia/scripts/fetch_enwiki_daily_views.py index c250bfe..225b06d 100755 --- a/wikipedia/scripts/fetch_enwiki_daily_views.py +++ b/wikipedia/scripts/fetch_enwiki_daily_views.py @@ -47,8 +47,6 @@ def main(): yesterday = datetime.datetime.today() - datetime.timedelta(days=1) queryDate = yesterday.strftime("%Y%m%d") - queryDate = queryDate + "00" #requires specifying hours - #handle -L loglevel_mapping = { 'debug' : logging.DEBUG, 'info' : logging.INFO, @@ -92,7 +90,7 @@ def main(): #2 Repeatedly call the API with that list of names for a in articleList: a = a.strip("\"\n") #destringify - url= f"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/{a}/daily/{queryDate}/{queryDate}" + url= f"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/{a}/daily/{queryDate}00/{queryDate}00" response = requests.get(url) if response.ok: diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index cbb283d..3ecd04f 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!yusr/bin/env python3 ############################################################################### # @@ -44,8 +44,6 @@ def main(): yesterday = datetime.datetime.today() - datetime.timedelta(days=1) query_date = yesterday.strftime("%Y%m%d") - query_data = query_date + "00" #requires specifying hours - #handle -L loglevel_mapping = { 'debug' : logging.DEBUG, 'info' : logging.INFO, @@ -73,7 +71,7 @@ def main(): logging.info(f"Last commit: {export_git_hash}") json_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{query_date}.json") - tsv_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{query_data}.tsv") + tsv_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{query_date}.tsv") api_session = api.Session("https://en.wikipedia.org/w/api.php") -- 2.39.2 From 04e00f363bec0c5aa349e6c85f9a78d6ee70c3fd Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 15:14:05 -0500 Subject: [PATCH 04/16] address confusion with date The timestamps in files should be the day that the exports are done. For the view data, the query date needs to be the day before but this shouldn't be the timestamp we use in files, etc. --- wikipedia/scripts/fetch_enwiki_daily_views.py | 14 +++++++------- wikipedia/scripts/fetch_enwiki_revisions.py | 14 ++++---------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/wikipedia/scripts/fetch_enwiki_daily_views.py b/wikipedia/scripts/fetch_enwiki_daily_views.py index 225b06d..f766ed8 100755 --- a/wikipedia/scripts/fetch_enwiki_daily_views.py +++ b/wikipedia/scripts/fetch_enwiki_daily_views.py @@ -23,7 +23,6 @@ from csv import DictWriter #import feather #TBD def parse_args(): - parser = argparse.ArgumentParser(description='Call the views API to collect Wikipedia view data.') parser.add_argument('-o', '--output_folder', help='Where to save output', default="wikipedia/data", type=str) parser.add_argument('-i', '--article_file', help='File listing article names', default="wikipedia/resources/enwp_wikiproject_covid19_articles.txt", type=str) @@ -42,10 +41,10 @@ def main(): #handle -d if args.query_date: - queryDate = args.query_date + query_date = args.query_date else: yesterday = datetime.datetime.today() - datetime.timedelta(days=1) - queryDate = yesterday.strftime("%Y%m%d") + query_date = yesterday.strftime("%Y%m%d") #handle -L loglevel_mapping = { 'debug' : logging.DEBUG, @@ -69,13 +68,14 @@ def main(): export_git_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() export_git_short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() export_time = str(datetime.datetime.now()) + export_date = datetime.datetime.today().strftime("%Y%m%d") logging.info(f"Starting run at {export_time}") logging.info(f"Last commit: {export_git_hash}") #1 Load up the list of article names - j_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{queryDate}.json") - t_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{queryDate}.tsv") + j_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.json") + t_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.tsv") with open(articleFile, 'r') as infile: articleList = list(infile) @@ -90,7 +90,7 @@ def main(): #2 Repeatedly call the API with that list of names for a in articleList: a = a.strip("\"\n") #destringify - url= f"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/{a}/daily/{queryDate}00/{queryDate}00" + url= f"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/{a}/daily/{query_date}00/{query_date}00" response = requests.get(url) if response.ok: @@ -115,7 +115,7 @@ def main(): # write out of the csv file dw.writerow(jd) - # f_Out = outputPath + "dailyviews" + queryDate + ".feather" + # f_Out = outputPath + "dailyviews" + query_date + ".feather" # read the json back in and make a feather file? logging.debug(f"Run complete at {datetime.datetime.now()}") logging.info(f"Processed {success} successful URLs and {failure} failures.") diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index 3ecd04f..e8f177d 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -1,4 +1,4 @@ -#!yusr/bin/env python3 +#!/usr/bin/env python3 ############################################################################### # @@ -26,7 +26,6 @@ def parse_args(): parser = argparse.ArgumentParser(description='Call the views API to collect Wikipedia revision data.') parser.add_argument('-o', '--output_folder', help='Where to save output', default="wikipedia/data", type=str) parser.add_argument('-i', '--article_file', help='File listing article names', default="wikipedia/resources/enwp_wikiproject_covid19_articles.txt", type=str) - parser.add_argument('-d', '--query_date', help='Date if not yesterday, in YYYYMMDD format.', type=str) parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=str), parser.add_argument('-W', '--logging_destination', help='Logging destination file. (default: standard error)', type=str), args = parser.parse_args() @@ -37,12 +36,6 @@ def main(): output_path = args.output_folder article_filename = args.article_file - #handle -d - if args.query_date: - query_date = args.query_date - else: - yesterday = datetime.datetime.today() - datetime.timedelta(days=1) - query_date = yesterday.strftime("%Y%m%d") #handle -L loglevel_mapping = { 'debug' : logging.DEBUG, @@ -66,12 +59,13 @@ def main(): export_git_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() export_git_short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() export_time = str(datetime.datetime.now()) + export_date = datetime.datetime.today().strftime("%Y%m%d") logging.info(f"Starting run at {export_time}") logging.info(f"Last commit: {export_git_hash}") - json_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{query_date}.json") - tsv_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{query_date}.tsv") + json_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{export_date}.json") + tsv_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{export_date}.tsv") api_session = api.Session("https://en.wikipedia.org/w/api.php") -- 2.39.2 From 141871eda6754b95f1617e354fe1d9728d0fd8e1 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 15:15:11 -0500 Subject: [PATCH 05/16] add two small shellscripts for automation - Added two bash scripts usable as cronjobs to automate the production of revisions and view data. These commands automate the process of running code and copying material --- cron-wikipedia_revisions.sh | 17 +++++++++++++++++ cron-wikipedia_views.sh | 16 ++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 cron-wikipedia_revisions.sh create mode 100644 cron-wikipedia_views.sh diff --git a/cron-wikipedia_revisions.sh b/cron-wikipedia_revisions.sh new file mode 100644 index 0000000..71ee752 --- /dev/null +++ b/cron-wikipedia_revisions.sh @@ -0,0 +1,17 @@ +#!/bin/bash -x + +TZ="UTC" +date_string=$(date +%Y%m%d) + +./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/enwp-wikiproject_scraper-${date_string}.log) + +revs_log="enwp-revisions-${date_string}.log" +./wikipedia/scripts/fetch_enwiki_revisions.py 2> >(tee wikipedia/logs/${rev_log}) +cp wikipedia/logs/${rev_log} /var/www/covid19/wikipedia/logs/ + +revs_tsv="digobs_covid19-wikipedia-enwiki_revisions-${date_string}.tsv" +cp wikipedia/data/${revs_tsv} /var/www/covid19/wikipedia + +revs_json="digobs_covid19-wikipedia-enwiki_revisions-${date_string}.json" +xz wikipedia/data/${revs_json} +cp wikipedia/data/${revs_json}.xz /var/www/covid19/wikipedia diff --git a/cron-wikipedia_views.sh b/cron-wikipedia_views.sh new file mode 100644 index 0000000..ec3d4ec --- /dev/null +++ b/cron-wikipedia_views.sh @@ -0,0 +1,16 @@ +#!/bin/bash -x + +TZ="UTC" +date_string=$(date +%Y%m%d) + +./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/enwp-wikiproject_scraper-${date_string}.log) + +# get the list of files +view_log="enwp-daily_views-${date_string}.log" +./wikipedia/scripts/fetch_enwiki_daily_views.py 2> >(tee wikipedia/logs/${view_log}) +cp wikipedia/logs/${view_log} /var/www/covid19/wikipedia/logs/${view_log} +cp wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.tsv /var/www/covid19/wikipedia/ + +# xz wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.json +cp wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.json /var/www/covid19/wikipedia/ + -- 2.39.2 From 95d37cff7aa215b9c411e863f7d1ba702de61405 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 15:49:02 -0500 Subject: [PATCH 06/16] change copy to move in cron scripts --- cron-wikipedia_revisions.sh | 6 +++--- cron-wikipedia_views.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cron-wikipedia_revisions.sh b/cron-wikipedia_revisions.sh index 71ee752..a53bc3f 100644 --- a/cron-wikipedia_revisions.sh +++ b/cron-wikipedia_revisions.sh @@ -7,11 +7,11 @@ date_string=$(date +%Y%m%d) revs_log="enwp-revisions-${date_string}.log" ./wikipedia/scripts/fetch_enwiki_revisions.py 2> >(tee wikipedia/logs/${rev_log}) -cp wikipedia/logs/${rev_log} /var/www/covid19/wikipedia/logs/ +mv wikipedia/logs/${revs_log} /var/www/covid19/wikipedia/logs/ revs_tsv="digobs_covid19-wikipedia-enwiki_revisions-${date_string}.tsv" -cp wikipedia/data/${revs_tsv} /var/www/covid19/wikipedia +mv wikipedia/data/${revs_tsv} /var/www/covid19/wikipedia revs_json="digobs_covid19-wikipedia-enwiki_revisions-${date_string}.json" xz wikipedia/data/${revs_json} -cp wikipedia/data/${revs_json}.xz /var/www/covid19/wikipedia +mv wikipedia/data/${revs_json}.xz /var/www/covid19/wikipedia diff --git a/cron-wikipedia_views.sh b/cron-wikipedia_views.sh index ec3d4ec..3611657 100644 --- a/cron-wikipedia_views.sh +++ b/cron-wikipedia_views.sh @@ -8,9 +8,9 @@ date_string=$(date +%Y%m%d) # get the list of files view_log="enwp-daily_views-${date_string}.log" ./wikipedia/scripts/fetch_enwiki_daily_views.py 2> >(tee wikipedia/logs/${view_log}) -cp wikipedia/logs/${view_log} /var/www/covid19/wikipedia/logs/${view_log} -cp wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.tsv /var/www/covid19/wikipedia/ +mv wikipedia/logs/${view_log} /var/www/covid19/wikipedia/logs/${view_log} +mv wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.tsv /var/www/covid19/wikipedia/ # xz wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.json -cp wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.json /var/www/covid19/wikipedia/ +mv wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.json /var/www/covid19/wikipedia/ -- 2.39.2 From 3f19805d363a51f037e4df23a15b1a4157d82723 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 15:49:28 -0500 Subject: [PATCH 07/16] fix bug in rev scraper script Bug was a break, added for debugging, that caused the script to only work for the first article. --- wikipedia/scripts/fetch_enwiki_revisions.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index 44528e8..3793c0b 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -141,8 +141,6 @@ def main(): rev['export_commit'] = export_git_short_hash tsv_writer.writerow({k: rev[k] for k in tsv_fields}) - break if __name__ == "__main__": - main() -- 2.39.2 From d655e1ce9332f039a2bd271776752b3f74863848 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 16:39:53 -0500 Subject: [PATCH 08/16] tweaks to revision export code - flags were not being exported (e.g., minor, anon) - broke with hidden/deleted user names --- wikipedia/scripts/fetch_enwiki_revisions.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index 3793c0b..6a3563f 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -80,10 +80,11 @@ def main(): 'sha1' : 'sha1', 'contentmodel' : 'contentmodel', 'tags' : 'tags', + 'flags' : 'flags', 'comment' : 'comment', 'content' : 'content' } - exclude_from_tsv = ['tags', 'comment', 'content'] + exclude_from_tsv = ['tags', 'comment', 'content', 'flags'] # load the list of articles with open(article_filename, 'r') as infile: @@ -101,7 +102,7 @@ def main(): tsv_fields = [e for e in tsv_fields if e not in exclude_from_tsv] # add special export fields - tsv_fields = tsv_fields + ['url', 'export_timestamp', 'export_commit'] + tsv_fields = tsv_fields + ['anon', 'minor', 'url', 'export_timestamp', 'export_commit'] export_info = { 'git_commit' : export_git_hash, 'timestamp' : export_time } @@ -127,6 +128,22 @@ def main(): if "sha1" not in rev: rev["sha1"] = "" + if "userhidden" in rev: + rev["user"] = "" + rev["userid"] = "" + + # recode anon so it's true or false instead of present/missing + if "anon" in rev: + rev["anon"] = True + else: + rev["anon"] = False + + # let's recode "minor" in the same way + if "minor" in rev: + rev["minor"] = True + else: + rev["minor"] = False + # add page title information rev['title'] = rev['page']['title'] rev['pageid'] = rev['page']['pageid'] -- 2.39.2 From 282588772e99e7df51523928c364247e9ad5a54b Mon Sep 17 00:00:00 2001 From: aaronshaw Date: Wed, 1 Apr 2020 16:52:22 -0500 Subject: [PATCH 09/16] pointing at updated data url, adding explicit NA handling to factor, cutting unnecessary call to ggplot2, and updated corresponding output from new data file. May not work while kibo urls are getting resolved --- .../output/top10_views_by_project_date.csv | 20 +++++++++---------- wikipedia_views/analysis/pageview_example.R | 9 +++++---- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/wikipedia_views/analysis/output/top10_views_by_project_date.csv b/wikipedia_views/analysis/output/top10_views_by_project_date.csv index 796af10..ce7eb5e 100644 --- a/wikipedia_views/analysis/output/top10_views_by_project_date.csv +++ b/wikipedia_views/analysis/output/top10_views_by_project_date.csv @@ -1,11 +1,11 @@ "article","project","timestamp","views" -"2019–20_coronavirus_pandemic","en.wikipedia","2020032600",1148284 -"2020_coronavirus_pandemic_in_India","en.wikipedia","2020032600",513901 -"Coronavirus","en.wikipedia","2020032600",397959 -"2020_coronavirus_pandemic_in_the_United_States","en.wikipedia","2020032600",337676 -"2019–20_coronavirus_pandemic_by_country_and_territory","en.wikipedia","2020032600",298603 -"2020_coronavirus_pandemic_in_Italy","en.wikipedia","2020032600",297687 -"Coronavirus_disease_2019","en.wikipedia","2020032600",292272 -"2020_coronavirus_pandemic_in_Spain","en.wikipedia","2020032600",114732 -"2020_coronavirus_pandemic_in_the_United_Kingdom","en.wikipedia","2020032600",111856 -"Anthony_Fauci","en.wikipedia","2020032600",103205 +"2019–20_coronavirus_pandemic","en.wikipedia","2020033100",831879 +"2020_coronavirus_pandemic_in_India","en.wikipedia","2020033100",323123 +"2019–20_coronavirus_pandemic_by_country_and_territory","en.wikipedia","2020033100",315572 +"2020_coronavirus_pandemic_in_the_United_States","en.wikipedia","2020033100",290535 +"Coronavirus_disease_2019","en.wikipedia","2020033100",211391 +"2020_coronavirus_pandemic_in_Italy","en.wikipedia","2020033100",209908 +"Coronavirus","en.wikipedia","2020033100",188921 +"USNS_Comfort_(T-AH-20)","en.wikipedia","2020033100",150422 +"USNS_Comfort_(T-AH-20)","en.wikipedia","2020033100",150422 +"WrestleMania_36","en.wikipedia","2020033100",137637 diff --git a/wikipedia_views/analysis/pageview_example.R b/wikipedia_views/analysis/pageview_example.R index 8a7aba3..fb5359a 100644 --- a/wikipedia_views/analysis/pageview_example.R +++ b/wikipedia_views/analysis/pageview_example.R @@ -4,13 +4,12 @@ ### Minimal example analysis file using pageview data library(tidyverse) -library(ggplot2) library(scales) -### Import and cleanup data +### Import and cleanup one datafile from the observatory DataURL <- - url("https://github.com/CommunityDataScienceCollective/COVID-19_Digital_Observatory/raw/master/wikipedia_views/data/dailyviews2020032600.tsv") + url("https://covid19.communitydata.science/datasets/wikipedia/digobs_covid19-wikipedia-enwiki_dailyviews-20200401.tsv") views <- read.table(DataURL, sep="\t", header=TRUE, stringsAsFactors=FALSE) @@ -30,12 +29,14 @@ views <- ### (see https://www.tidyverse.org for more info) views <- views[,c("article", "project", "timestamp", "views")] -views$timestamp <- factor(views$timestamp) +views$timestamp <- fct_explicit_na(views$timestamp) + ### Sorts and groups at the same time views.by.proj.date <- arrange(group_by(views, project, timestamp), desc(views)) + ### Export just the top 10 by pageviews write.table(head(views.by.proj.date, 10), file="output/top10_views_by_project_date.csv", sep=",", -- 2.39.2 From 070d23f71854b43c22f11d3e26bceca8b2a1de3c Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 17:16:34 -0500 Subject: [PATCH 10/16] changes in response to code review by nate - moved some common functions into files - other smaller changes --- wikipedia/scripts/digobs.py | 27 +++++++++++++++++++ wikipedia/scripts/fetch_enwiki_daily_views.py | 22 +++------------ wikipedia/scripts/fetch_enwiki_revisions.py | 24 +++++------------ 3 files changed, 37 insertions(+), 36 deletions(-) create mode 100644 wikipedia/scripts/digobs.py diff --git a/wikipedia/scripts/digobs.py b/wikipedia/scripts/digobs.py new file mode 100644 index 0000000..0bce250 --- /dev/null +++ b/wikipedia/scripts/digobs.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import sys +import subprocess +import logging + +def git_hash(short=False): + if short: + return subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() + else: + subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() + +def get_loglevel(arg_loglevel): + loglevel_mapping = { 'debug' : logging.DEBUG, + 'info' : logging.INFO, + 'warning' : logging.WARNING, + 'error' : logging.ERROR, + 'critical' : logging.CRITICAL } + + if arg_loglevel in loglevel_mapping: + loglevel = loglevel_mapping[arg_loglevel] + return loglevel + else: + print("Choose a valid log level: debug, info, warning, error, or critical", file=sys.stderr) + return logging.INFO + + diff --git a/wikipedia/scripts/fetch_enwiki_daily_views.py b/wikipedia/scripts/fetch_enwiki_daily_views.py index f766ed8..7015a3b 100755 --- a/wikipedia/scripts/fetch_enwiki_daily_views.py +++ b/wikipedia/scripts/fetch_enwiki_daily_views.py @@ -10,16 +10,15 @@ ############################################################################### import sys -import subprocess import requests import argparse import json import time import os.path -import argparse import datetime import logging from csv import DictWriter +import digobs #import feather #TBD def parse_args(): @@ -47,17 +46,7 @@ def main(): query_date = yesterday.strftime("%Y%m%d") #handle -L - loglevel_mapping = { 'debug' : logging.DEBUG, - 'info' : logging.INFO, - 'warning' : logging.WARNING, - 'error' : logging.ERROR, - 'critical' : logging.CRITICAL } - - if args.logging_level in loglevel_mapping: - loglevel = loglevel_mapping[args.logging_level] - else: - print("Choose a valid log level: debug, info, warning, error, or critical") - exit + loglevel = digobs.get_loglevel(args.logging_level) #handle -W if args.logging_destination: @@ -65,20 +54,18 @@ def main(): else: logging.basicConfig(level=loglevel) - export_git_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() - export_git_short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() export_time = str(datetime.datetime.now()) export_date = datetime.datetime.today().strftime("%Y%m%d") logging.info(f"Starting run at {export_time}") - logging.info(f"Last commit: {export_git_hash}") + logging.info(f"Last commit: {digobs.git_hash()}") #1 Load up the list of article names j_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.json") t_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.tsv") with open(articleFile, 'r') as infile: - articleList = list(infile) + articleList = list(map(str.strip, infile)) success = 0 #for logging how many work/fail failure = 0 @@ -89,7 +76,6 @@ def main(): #2 Repeatedly call the API with that list of names for a in articleList: - a = a.strip("\"\n") #destringify url= f"https://wikimedia.org/api/rest_v1/metrics/pageviews/per-article/en.wikipedia/all-access/all-agents/{a}/daily/{query_date}00/{query_date}00" response = requests.get(url) diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index 6a3563f..2c0ef7a 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -13,12 +13,12 @@ import argparse import logging import os.path import json -import subprocess import datetime from requests import Request from csv import DictWriter from mw import api +import digobs def parse_args(): @@ -38,17 +38,7 @@ def main(): article_filename = args.article_file #handle -L - loglevel_mapping = { 'debug' : logging.DEBUG, - 'info' : logging.INFO, - 'warning' : logging.WARNING, - 'error' : logging.ERROR, - 'critical' : logging.CRITICAL } - - if args.logging_level in loglevel_mapping: - loglevel = loglevel_mapping[args.logging_level] - else: - print("Choose a valid log level: debug, info, warning, error, or critical") - exit + loglevel = digobs.get_loglevel(args.logging_level) #handle -W if args.logging_destination: @@ -56,13 +46,11 @@ def main(): else: logging.basicConfig(level=loglevel) - export_git_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() - export_git_short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() export_time = str(datetime.datetime.now()) export_date = datetime.datetime.today().strftime("%Y%m%d") logging.info(f"Starting run at {export_time}") - logging.info(f"Last commit: {export_git_hash}") + logging.info(f"Last commit: {digobs.git_hash()}") json_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{export_date}.json") tsv_output_filename = os.path.join(output_path, f"digobs_covid19-wikipedia-enwiki_revisions-{export_date}.tsv") @@ -88,7 +76,7 @@ def main(): # load the list of articles with open(article_filename, 'r') as infile: - article_list = [art.strip() for art in list(infile)] + article_list= list(map(str.strip, infile)) def get_revisions_for_page(title): return api_session.revisions.query(properties=rv_props.values(), @@ -104,7 +92,7 @@ def main(): # add special export fields tsv_fields = tsv_fields + ['anon', 'minor', 'url', 'export_timestamp', 'export_commit'] - export_info = { 'git_commit' : export_git_hash, + export_info = { 'git_commit' : digobs.git_hash(), 'timestamp' : export_time } with open(json_output_filename, 'w') as json_output, \ @@ -155,7 +143,7 @@ def main(): 'oldid' : rev['revid']}).prepare().url rev['export_timestamp'] = export_time - rev['export_commit'] = export_git_short_hash + rev['export_commit'] = digobs.git_hash(short=True) tsv_writer.writerow({k: rev[k] for k in tsv_fields}) -- 2.39.2 From b457cd726b8e4e15218eb3e2b50c07c6832e92a3 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 18:13:02 -0500 Subject: [PATCH 11/16] use the type= feature in argparse - integrated the type= feature in argparse in all three scripts - removed some redundant code from the third file --- wikipedia/scripts/fetch_enwiki_daily_views.py | 9 +++------ wikipedia/scripts/fetch_enwiki_revisions.py | 9 +++------ wikipedia/scripts/wikiproject_scraper.py | 19 +++---------------- 3 files changed, 9 insertions(+), 28 deletions(-) diff --git a/wikipedia/scripts/fetch_enwiki_daily_views.py b/wikipedia/scripts/fetch_enwiki_daily_views.py index 7015a3b..829343d 100755 --- a/wikipedia/scripts/fetch_enwiki_daily_views.py +++ b/wikipedia/scripts/fetch_enwiki_daily_views.py @@ -26,7 +26,7 @@ def parse_args(): parser.add_argument('-o', '--output_folder', help='Where to save output', default="wikipedia/data", type=str) parser.add_argument('-i', '--article_file', help='File listing article names', default="wikipedia/resources/enwp_wikiproject_covid19_articles.txt", type=str) parser.add_argument('-d', '--query_date', help='Date if not yesterday, in YYYYMMDD format.', type=str) - parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=str), + parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=digobs.get_loglevel), parser.add_argument('-W', '--logging_destination', help='Logging destination file. (default: standard error)', type=str), args = parser.parse_args() return(args) @@ -45,14 +45,11 @@ def main(): yesterday = datetime.datetime.today() - datetime.timedelta(days=1) query_date = yesterday.strftime("%Y%m%d") - #handle -L - loglevel = digobs.get_loglevel(args.logging_level) - #handle -W if args.logging_destination: - logging.basicConfig(filename=args.logging_destination, filemode='a', level=loglevel) + logging.basicConfig(filename=args.logging_destination, filemode='a', level=args.logging_level) else: - logging.basicConfig(level=loglevel) + logging.basicConfig(level=args.logging_level) export_time = str(datetime.datetime.now()) export_date = datetime.datetime.today().strftime("%Y%m%d") diff --git a/wikipedia/scripts/fetch_enwiki_revisions.py b/wikipedia/scripts/fetch_enwiki_revisions.py index 2c0ef7a..2d25e85 100755 --- a/wikipedia/scripts/fetch_enwiki_revisions.py +++ b/wikipedia/scripts/fetch_enwiki_revisions.py @@ -26,7 +26,7 @@ def parse_args(): parser = argparse.ArgumentParser(description='Call the views API to collect Wikipedia revision data.') parser.add_argument('-o', '--output_folder', help='Where to save output', default="wikipedia/data", type=str) parser.add_argument('-i', '--article_file', help='File listing article names', default="wikipedia/resources/enwp_wikiproject_covid19_articles.txt", type=str) - parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=str), + parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=digobs.get_loglevel), parser.add_argument('-W', '--logging_destination', help='Logging destination file. (default: standard error)', type=str), args = parser.parse_args() return(args) @@ -37,14 +37,11 @@ def main(): output_path = args.output_folder article_filename = args.article_file - #handle -L - loglevel = digobs.get_loglevel(args.logging_level) - #handle -W if args.logging_destination: - logging.basicConfig(filename=args.logging_destination, filemode='a', level=loglevel) + logging.basicConfig(filename=args.logging_destination, filemode='a', level=args.logging_level) else: - logging.basicConfig(level=loglevel) + logging.basicConfig(level=args.logging_level) export_time = str(datetime.datetime.now()) export_date = datetime.datetime.today().strftime("%Y%m%d") diff --git a/wikipedia/scripts/wikiproject_scraper.py b/wikipedia/scripts/wikiproject_scraper.py index 6e01051..528f0d7 100755 --- a/wikipedia/scripts/wikiproject_scraper.py +++ b/wikipedia/scripts/wikiproject_scraper.py @@ -30,7 +30,7 @@ def parse_args(): parser = argparse.ArgumentParser(description='Get a list of pages tracked by the COVID-19 Wikiproject.') parser.add_argument('-o', '--output_file', help='Where to save output', default="wikipedia/resources/enwp_wikiproject_covid19_articles.txt", type=str) - parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info'), + parser.add_argument('-L', '--logging_level', help='Logging level. Options are debug, info, warning, error, critical. Default: info.', default='info', type=digobs.get_loglevel), parser.add_argument('-W', '--logging_destination', help='Logging destination file. (default: standard error)', type=str), args = parser.parse_args() @@ -41,24 +41,11 @@ def main(): args = parse_args() outputFile = args.output_file - #handle -L - loglevel_mapping = { 'debug' : logging.DEBUG, - 'info' : logging.INFO, - 'warning' : logging.WARNING, - 'error' : logging.ERROR, - 'critical' : logging.CRITICAL } - - if args.logging_level in loglevel_mapping: - loglevel = loglevel_mapping[args.logging_level] - else: - print("Choose a valid log level: debug, info, warning, error, or critical") - exit - #handle -W if args.logging_destination: - logging.basicConfig(filename=args.logging_destination, filemode='a', level=loglevel) + logging.basicConfig(filename=args.logging_destination, filemode='a', level=args.logging_level) else: - logging.basicConfig(level=loglevel) + logging.basicConfig(level=args.logging_level) export_git_hash = subprocess.check_output(['git', 'rev-parse', 'HEAD']).decode().strip() export_git_short_hash = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD']).decode().strip() -- 2.39.2 From 427eddd14163deea2f169a32d90cfcb7835f4ecc Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 18:21:41 -0500 Subject: [PATCH 12/16] cleaned up unnecessary files --- .gitignore | 2 + wikipedia/logs/placeholder | 0 .../enwp_wikiproject_covid19_articles.txt | 1508 ----------------- 3 files changed, 2 insertions(+), 1508 deletions(-) delete mode 100644 wikipedia/logs/placeholder delete mode 100644 wikipedia/resources/enwp_wikiproject_covid19_articles.txt diff --git a/.gitignore b/.gitignore index cca401a..d137103 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ wikipedia/data/ +wikipedia/logs/ +wikipedia/resources/enwp_wikiproject_covid19_articles.txt diff --git a/wikipedia/logs/placeholder b/wikipedia/logs/placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/wikipedia/resources/enwp_wikiproject_covid19_articles.txt b/wikipedia/resources/enwp_wikiproject_covid19_articles.txt deleted file mode 100644 index 1df2567..0000000 --- a/wikipedia/resources/enwp_wikiproject_covid19_articles.txt +++ /dev/null @@ -1,1508 +0,0 @@ -2019–20 coronavirus pandemic -Severe acute respiratory syndrome coronavirus 2 -Social distancing -Contact tracing -2019–20 coronavirus pandemic by country and territory -2020 coronavirus pandemic in Asia -Acute respiratory distress syndrome -Michael Sorkin -2019–20 coronavirus pandemic in mainland China -2020 coronavirus pandemic in Europe -2020 coronavirus pandemic in Italy -2020 coronavirus pandemic in Oceania -2020 coronavirus pandemic in South Korea -COVID-19 testing -Chloroquine -Grand Princess -Impact of the 2019–20 coronavirus pandemic on politics -Mike Longo -Tedros Adhanom -2020 coronavirus pandemic in Africa -Angiotensin-converting enzyme 2 -Liang Wudong -Risk factor -Angelo Rottoli -Patrick Devedjian -Case chronology of the 2019–20 coronavirus pandemic in March 2020 -List of deaths from the 2019–20 coronavirus pandemic -Timeline of the 2019–20 coronavirus pandemic from November 2019 to January 2020 -Timeline of the 2019–20 coronavirus pandemic in February 2020 -2020 coronavirus pandemic in Canada -2020 coronavirus pandemic in India -2019–20 coronavirus pandemic in Hubei -2020 coronavirus pandemic in Azerbaijan -2020 coronavirus pandemic in Bosnia and Herzegovina -2020 coronavirus pandemic in California -2020 coronavirus pandemic in Egypt -2020 coronavirus pandemic in France -2020 coronavirus pandemic in Greece -2020 coronavirus pandemic in Illinois -2020 coronavirus pandemic in Japan -2020 coronavirus pandemic in Malta -2020 coronavirus pandemic in Norway -2020 coronavirus pandemic in Portugal -2020 coronavirus pandemic in Russia -2020 coronavirus pandemic in Spain -2020 coronavirus pandemic in Switzerland -2020 coronavirus pandemic in Turkey -2020 coronavirus pandemic in the Czech Republic -2020 coronavirus pandemic in the Philippines -2020 coronavirus pandemic in the United Kingdom -Centers for Disease Control and Prevention -Coronavirus party -Extracorporeal membrane oxygenation -Financial impact of the 2019–20 coronavirus pandemic -Impact of the 2019–20 coronavirus pandemic on prisons -Impact of the 2019–20 coronavirus pandemic on the 2020 Summer Olympics -Impact of the 2019–20 coronavirus pandemic on the video game industry -NHS Nightingale Hospitals -Severe acute respiratory syndrome -U.S. state and local government response to the 2020 coronavirus pandemic -2019–20 coronavirus pandemic in Henan -2020 coronavirus lockdown in India -2020 coronavirus pandemic in Andorra -2020 coronavirus pandemic in Belarus -2020 coronavirus pandemic in Iceland -2020 coronavirus pandemic in Kosovo -2020 coronavirus pandemic in Lithuania -2020 coronavirus pandemic in Moldova -2020 coronavirus pandemic in Myanmar -2020 coronavirus pandemic in North Macedonia -2020 coronavirus pandemic in Slovenia -2020 coronavirus pandemic in Transnistria -2020 coronavirus pandemic in Ukraine -2020 coronavirus pandemic in the Falkland Islands -Case fatality rate -Coronavirus Aid, Relief, and Economic Security Act -Darvinson Rojas -Gaetano Manfredi -Jenny Polanco -Lopinavir/ritonavir -Mental health during the 2019–20 coronavirus pandemic -Spit hood -Zhong Nanshan -2020 coronavirus pandemic in Belize -2020 coronavirus pandemic in Mozambique -Chen Wei (medical scientist) -Imperial College COVID-19 Response Team -Panic buying -Curfews and lockdowns related to the 2019–20 coronavirus pandemic -Impact of the 2019–20 coronavirus pandemic on science and technology -List of incidents of xenophobia and racism related to the 2019–20 coronavirus pandemic -Joe Diffie -2020 Malaysia movement control order -2020 coronavirus pandemic in Guernsey -2020 coronavirus pandemic on cruise ships -Charles, Prince of Wales -Eurovision Song Contest 2020 -Larry Kudlow -Olga Kurylenko -Terrence McNally -Tom Hanks -2019–20 coronavirus pandemic cases/WHO situation reports -2019–20 coronavirus pandemic in Shanghai -2020 Luzon enhanced community quarantine -2020 coronavirus pandemic in Alberta -2020 coronavirus pandemic in Arkansas -2020 coronavirus pandemic in Brazil -2020 coronavirus pandemic in Chile -2020 coronavirus pandemic in Costa Rica -2020 coronavirus pandemic in Georgia (U.S. state) -2020 coronavirus pandemic in Indonesia -2020 coronavirus pandemic in Karnataka -2020 coronavirus pandemic in Louisiana -2020 coronavirus pandemic in Maryland -2020 coronavirus pandemic in Metro Manila -2020 coronavirus pandemic in Michigan -2020 coronavirus pandemic in Morocco -2020 coronavirus pandemic in New Jersey -2020 coronavirus pandemic in Nonthaburi Province -2020 coronavirus pandemic in Nova Scotia -2020 coronavirus pandemic in Ontario -2020 coronavirus pandemic in Pakistan -2020 coronavirus pandemic in Quebec -2020 coronavirus pandemic in Singapore -2020 coronavirus pandemic in South Carolina -2020 coronavirus pandemic in Tamil Nadu -2020 coronavirus pandemic in Uruguay -2020 coronavirus pandemic in Vietnam -2020 coronavirus pandemic in Washington, D.C. -2020 coronavirus pandemic in Wisconsin -2020 coronavirus pandemic in the United Arab Emirates -Anthony Fauci -Ben Carson -Carmen Deseda -Coronavirus Preparedness and Response Supplemental Appropriations Act, 2020 -Deborah Birx -Flybe -Impact of the 2019–20 coronavirus pandemic on aviation -Impact of the 2019–20 coronavirus pandemic on religion -Impact of the 2019–20 coronavirus pandemic on the food industry -Jesús Gayoso Rey -Kanika Kapoor -Lorena Borjas -Matthew Pottinger -Michael J. Ryan (doctor) -Neil Ferguson (epidemiologist) -Robert R. Redfield -SARS conspiracy theory -Steven Mnuchin -Suspension of the 2019–20 NBA season -Travel restrictions related to the 2019–20 coronavirus pandemic -White House Coronavirus Task Force -World Dream -Zhang Wenhong -2020 Tour Championship -2020 coronavirus pandemic in Alaska -2020 coronavirus pandemic in Arizona -2020 coronavirus pandemic in Aruba -2020 coronavirus pandemic in Bahrain -2020 coronavirus pandemic in Bolivia -2020 coronavirus pandemic in British Columbia -2020 coronavirus pandemic in Burkina Faso -2020 coronavirus pandemic in Canary Islands -2020 coronavirus pandemic in Chad -2020 coronavirus pandemic in Connecticut -2020 coronavirus pandemic in Cyprus -2020 coronavirus pandemic in Ecuador -2020 coronavirus pandemic in Eswatini -2020 coronavirus pandemic in Fiji -2020 coronavirus pandemic in Goa -2020 coronavirus pandemic in Hawaii -2020 coronavirus pandemic in Idaho -2020 coronavirus pandemic in Ivory Coast -2020 coronavirus pandemic in Jersey -2020 coronavirus pandemic in Kansas -2020 coronavirus pandemic in Kenya -2020 coronavirus pandemic in Kyrgyzstan -2020 coronavirus pandemic in London -2020 coronavirus pandemic in Maharashtra -2020 coronavirus pandemic in Manitoba -2020 coronavirus pandemic in Mississippi -2020 coronavirus pandemic in Montana -2020 coronavirus pandemic in Namibia -2020 coronavirus pandemic in New Brunswick -2020 coronavirus pandemic in New York City -2020 coronavirus pandemic in Nigeria -2020 coronavirus pandemic in North Dakota -2020 coronavirus pandemic in Northern Cyprus -2020 coronavirus pandemic in Oman -2020 coronavirus pandemic in Paraguay -2020 coronavirus pandemic in Peru -2020 coronavirus pandemic in Qatar -2020 coronavirus pandemic in Sarawak -2020 coronavirus pandemic in Scotland -2020 coronavirus pandemic in Somalia -2020 coronavirus pandemic in Syria -2020 coronavirus pandemic in Texas -2020 coronavirus pandemic in Utah -2020 coronavirus pandemic in Wales -2020 coronavirus pandemic in West Virginia -2020 coronavirus pandemic in Zagreb -2020 coronavirus pandemic in the Dominican Republic -2020 coronavirus pandemic in the State of Palestine -Aileen Baviera -Brett Dean -COVID-19 in pregnancy -Chen Qiushi -Claire Byrne -Corona Rintawan -Daniel Azulay -Economic impact of the 2019–20 coronavirus pandemic in India -European Centre for Disease Prevention and Control -Fangcang hospital -Germà Colón -Gita Ramjee -Harry Aarts -Health (Preservation and Protection and other Emergency Measures in the Public Interest) Act 2020 -Human rights issues during the 2019–20 coronavirus pandemic -Index case -Isaac Robinson (politician) -Jean Leber -Joel Szabat -Kelvin Droegemeier -Leishenshan Hospital -Liu Shouxiang -Lucia Bosè -MS Braemar -Mirga Gražinytė-Tyla -NHS Nightingale Hospital -National COVID-19 Coordination Commission -Orlando McDaniel -Patient Under Investigation -Paul Goma -Piero Schlesinger -Qiu Jun (bodybuilder) -Rita Wilson -Seema Verma -Siméon Sawadogo -Spring Education Group -Stephen Biegun -Thomas Schäfer -Timeline of the 2020 coronavirus pandemic in the Philippines -Xie Linka -2019–20 coronavirus pandemic on social media -2020 coronavirus pandemic in Angola -2020 coronavirus pandemic in Antigua and Barbuda -2020 coronavirus pandemic in Benin -2020 coronavirus pandemic in Bhutan -2020 coronavirus pandemic in Curaçao -2020 coronavirus pandemic in Dominica -2020 coronavirus pandemic in El Salvador -2020 coronavirus pandemic in Eritrea -2020 coronavirus pandemic in Gabon -2020 coronavirus pandemic in Gibraltar -2020 coronavirus pandemic in Grenada -2020 coronavirus pandemic in Guam -2020 coronavirus pandemic in Guinea-Bissau -2020 coronavirus pandemic in Guyana -2020 coronavirus pandemic in Iowa -2020 coronavirus pandemic in Liberia -2020 coronavirus pandemic in Madagascar -2020 coronavirus pandemic in Martinique -2020 coronavirus pandemic in Mayotte -2020 coronavirus pandemic in Mongolia -2020 coronavirus pandemic in Nebraska -2020 coronavirus pandemic in New Hampshire -2020 coronavirus pandemic in Panama -2020 coronavirus pandemic in Rhode Island -2020 coronavirus pandemic in Réunion -2020 coronavirus pandemic in Saint Helena -2020 coronavirus pandemic in Saint Lucia -2020 coronavirus pandemic in Seychelles -2020 coronavirus pandemic in Sint Maarten -2020 coronavirus pandemic in Sudan -2020 coronavirus pandemic in Tanzania -2020 coronavirus pandemic in Uttar Pradesh -2020 coronavirus pandemic in the Bahamas -2020 coronavirus pandemic in the Canary Islands -2020 coronavirus pandemic in the Central African Republic -2020 coronavirus pandemic in the Democratic Republic of the Congo -2020 coronavirus pandemic in the Isle of Man -2020 coronavirus pandemic in the Republic of the Congo -2020 coronavirus pandemic in the United States Virgin Islands -2020 coronavirus pandemic on Long Island -Anne Rimoin -Bat SARS-like coronavirus WIV1 -Brendan Murphy (Australian doctor) -COVID-19 Hospital -COVID Tracking Project -Central Hospital of Wuhan -Chen Yixin -Ciara Kelly -Dabie Mountain Regional Medical Centre -Daniel Yuste -Detto Mariano -Emily Adams -Fariborz Raisdana -Floyd Cardoz -Giovanni Battista Rabino -Hamish Wilson -Health Protection (Coronavirus, Restrictions) (England) Regulations 2020 -Howard P. Forman -Impact of the 2019–20 coronavirus pandemic on the cannabis industry -Jacques Oudin -John Bessler -Korea Centers for Disease Control and Prevention -Li Zehua -Luciana Lamorgese -Martinho Lutero Galati -Muhammed Babandede -Nasser Shabani -Operation Broadshare -Peg Broadbent -Rent Strike 2020 -SAARC COVID-19 Emergency Fund -Safe Hands Challenge -Stephen Schwartz (pathologist) -Teleconferencing in the 2019–20 coronavirus pandemic -Tomas Oneborg -Vittorio Gregotti -Wang Xiaodong (born 1960) -Zororo Makamba -List of countries by COVID-19 fatalities -Notifiable diseases in the United Kingdom -Timeline of the 2020 coronavirus pandemic in Croatia -Timeline of the 2020 coronavirus pandemic in Pakistan -2020 coronavirus pandemic in Washington -File:Novel Coronavirus SARS-CoV-2.jpg -2020 coronavirus pandemic in Chicago -2020 coronavirus pandemic in Marche -2020 coronavirus pandemic in New Orleans -2020 coronavirus pandemic in San Diego -2020 coronavirus pandemic in San Francisco County, California -2020 coronavirus pandemic in Santa Clara County, California -2020 coronavirus pandemic in Tuscany -Category:2019–20 coronavirus pandemic -Category:2019–20 coronavirus pandemic by city -Category:2019–20 coronavirus pandemic by country and territory -Category:2019–20 coronavirus pandemic by dependent territory -Category:2019–20 coronavirus pandemic by location -Category:2019–20 coronavirus pandemic in China by city -Category:2019–20 coronavirus pandemic in China templates -Category:2019–20 coronavirus pandemic in mainland China -Category:2020 coronavirus pandemic in Afghanistan -Category:2020 coronavirus pandemic in Argentina templates -Category:2020 coronavirus pandemic in Austria -Category:2020 coronavirus pandemic in Bolivia templates -Category:2020 coronavirus pandemic in Brazil -Category:2020 coronavirus pandemic in British Overseas Territories -Category:2020 coronavirus pandemic in Burkina Faso -Category:2020 coronavirus pandemic in Canada by province or territory -Category:2020 coronavirus pandemic in Central America -Category:2020 coronavirus pandemic in Croatia -Category:2020 coronavirus pandemic in Crown dependencies -Category:2020 coronavirus pandemic in Denmark -Category:2020 coronavirus pandemic in Estonia templates -Category:2020 coronavirus pandemic in Finland -Category:2020 coronavirus pandemic in France templates -Category:2020 coronavirus pandemic in Germany by state -Category:2020 coronavirus pandemic in Hungary -Category:2020 coronavirus pandemic in India -Category:2020 coronavirus pandemic in India templates -Category:2020 coronavirus pandemic in Indonesia templates -Category:2020 coronavirus pandemic in Iran templates -Category:2020 coronavirus pandemic in Ireland templates -Category:2020 coronavirus pandemic in Italy templates -Category:2020 coronavirus pandemic in Japan templates -Category:2020 coronavirus pandemic in Lithuania templates -Category:2020 coronavirus pandemic in Malaysia by state -Category:2020 coronavirus pandemic in Norway templates -Category:2020 coronavirus pandemic in Overseas France -Category:2020 coronavirus pandemic in Paraguay templates -Category:2020 coronavirus pandemic in Romania templates -Category:2020 coronavirus pandemic in Serbia -Category:2020 coronavirus pandemic in Slovakia templates -Category:2020 coronavirus pandemic in South America -Category:2020 coronavirus pandemic in South Korea templates -Category:2020 coronavirus pandemic in Spain by autonomous community -Category:2020 coronavirus pandemic in Sweden -Category:2020 coronavirus pandemic in Switzerland templates -Category:2020 coronavirus pandemic in Thailand templates -Category:2020 coronavirus pandemic in Uruguay -Category:2020 coronavirus pandemic in insular areas of the United States -Category:2020 coronavirus pandemic in the Dominican Republic -Category:2020 coronavirus pandemic in the Netherlands -Category:2020 coronavirus pandemic in the Philippines -Category:2020 coronavirus pandemic in the Republic of Ireland -Category:2020 coronavirus pandemic in the United Kingdom -Category:2020 coronavirus pandemic in the United States -Category:2020 coronavirus pandemic in the United States by state -Category:B-Class COVID-19 articles -Category:C-Class COVID-19 articles -Category:COVID-19 articles by importance -Category:COVID-19 articles needing attention -Category:Category-Class COVID-19 articles -Category:Deaths from Coronavirus disease 2019 -Category:Deaths from the 2019–20 coronavirus pandemic in China -Category:Deaths from the 2019–20 coronavirus pandemic in the Netherlands -Category:Deaths from the 2020 coronavirus pandemic in Burkina Faso -Category:Deaths from the 2020 coronavirus pandemic in Hungary -Category:Deaths from the 2020 coronavirus pandemic in Iran -Category:Deaths from the 2020 coronavirus pandemic in Japan -Category:Deaths from the 2020 coronavirus pandemic in Serbia -Category:Deaths from the 2020 coronavirus pandemic in Spain -Category:Deaths from the 2020 coronavirus pandemic in Turkey -Category:Deaths from the 2020 coronavirus pandemic in Zimbabwe -Category:Deaths from the 2020 coronavirus pandemic in the Philippines -Category:Deaths from the 2020 coronavirus pandemic in the United States -Category:Draft-Class COVID-19 articles -Category:Elections postponed due to the 2019–20 coronavirus pandemic -Category:FA-Class COVID-19 articles -Category:FM-Class COVID-19 articles -Category:Films postponed due to the 2019–20 coronavirus pandemic -Category:Health disasters in Danish dependencies -Category:High-importance COVID-19 articles -Category:Impact of the 2019–20 coronavirus pandemic -Category:Impact of the 2019–20 coronavirus pandemic on music -Category:Impact of the 2019–20 coronavirus pandemic on sports -Category:Impact of the 2019–20 coronavirus pandemic on the 2020 Summer Olympics -Category:Impact of the 2019–20 coronavirus pandemic on the video game industry -Category:Law associated with the 2019–20 coronavirus pandemic -Category:Low-importance COVID-19 articles -Category:Motorsport events postponed due to the 2019–20 coronavirus pandemic -Category:Music events postponed due to the 2019–20 coronavirus pandemic -Category:NA-importance COVID-19 articles -Category:Organizations associated with the 2019–20 coronavirus pandemic -Category:Project-Class COVID-19 articles -Category:Redirect-Class COVID-19 articles -Category:Responses to the 2019–20 coronavirus pandemic -Category:SL-Class COVID-19 articles -Category:Sports events postponed due to the 2019–20 coronavirus pandemic -Category:Stub-Class COVID-19 articles -Category:Timeline of the 2019–20 coronavirus pandemic -Category:Unassessed COVID-19 articles -Category:Unknown-importance COVID-19 articles -Category:WikiProject COVID-19 -Category:WikiProject COVID-19 members -Category:Wikipedians with COVID-19 -2020 coronavirus pandemic in Georgia -Coronavirus (disambiguation) -File:13981210000546637185832350425406 بخش ویژه «بیماران کرونا» بیمارستان امام خمینی.jpg -File:2019-nCoV-CDC-23312.png -File:2019-nCoV-CDC-23313.png -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 01.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 03.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 05.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 07.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 09.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 11.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 13.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 15.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 17.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 19.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 21.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 23.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 25.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 27.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 29.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 31.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 33.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 35.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 37.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 39.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 41.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 43.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 45.jpg -File:20200123 Qingdao Metro Line 3 car No.3016.jpg -File:2020 coronavirus task force.jpg -File:6954Baliuag enhanced community quarantine 12.jpg -File:6954Baliuag enhanced community quarantine 27.jpg -File:6954Baliuag enhanced community quarantine 63.jpg -File:Arrival of repatriated Filipinos from China 2019-nCov.jpg -File:Banniere librairie covid19 black 820x312px.png -File:COVID-19-pandemic-Poland-timeline.gif -File:COVID-19 Cases in Pennsylvania by counties.svg -File:COVID-19 Confirmed Cases Animated Map.webm -File:COVID-19 Outbreak America Map.svg -File:COVID-19 Outbreak Cases in Armenia (Density).svg -File:COVID-19 Outbreak Cases in Chile.png -File:COVID-19 Outbreak Cases in Germany.svg -File:COVID-19 Outbreak Cases in Metro Manila.svg -File:COVID-19 Outbreak Cases in New Zealand (Region Totals).svg -File:COVID-19 Outbreak Cases in Norway by municipalities.png -File:COVID-19 Outbreak Cases in Paraguay.png -File:COVID-19 Outbreak Cases in Uruguay.svg -File:COVID-19 Outbreak World Map-GlobalTravelBan.svg -File:COVID-19 Outbreak World Map (33).svg -File:COVID-19 Outbreak World Map (35).svg -File:COVID-19 Outbreak World Map Total Deaths per Capita.svg -File:COVID-19 barnstar.png -File:COVID-19 outbreak world per capita cases map.svg -File:COVID-19 pandemic cases in the Philippines by region.svg -File:COVID-19 pandemic cases in the Philippines with deaths and recoveries.svg -File:COVID-19 sign at bagel shop in Oconomowoc WI 23 March 2020.jpg -File:Check for 2019-nCoV in Beijing railway station metro station.jpg -File:Citizens of Wuhan lining up outside of a drug store to buy masks during the Wuhan coronavirus outbreak.jpg -File:Coronavirus Starbucks notice.jpg -File:Covid-19-Handshake-Alternatives-v3.gif -File:Dried pasta shelves empty in an Australian supermarket.jpg -File:Exit-Entry Permit for Residents During the Outbreak of 2019-nCoV.png -Coronavirus disease 2019 -Misinformation related to the 2019–20 coronavirus pandemic -Transmission (medicine) -Open-source ventilator -Timeline of the 2019–20 coronavirus pandemic -2020 stock market crash -Impact of the 2019–20 coronavirus pandemic on cinema -World Health Organization -2020 Hubei lockdowns -2020 coronavirus pandemic in Iran -2020 coronavirus pandemic in North America -2020 coronavirus pandemic in South America -COVID-19 drug development -COVID-19 vaccine -Coronavirus -Huanan Seafood Wholesale Market -Mark Blum -National responses to the 2019–20 coronavirus pandemic -William Stern (businessman) -Angelo Moreschi -Bruce Aylward -Remdesivir -Triage -Azam Khan (squash player) -Case chronology of the 2019–20 coronavirus pandemic in February 2020 -Chronology of the 2019–20 coronavirus pandemic in March 2020 -List of events affected by the 2019–20 coronavirus pandemic -Timeline of the 2019–20 coronavirus pandemic in April 2020 -2019–20 coronavirus pandemic related shortages -2020 coronavirus pandemic in Denmark -2020 coronavirus pandemic in the United States -2020 coronavirus pandemic in Australia -2020 coronavirus pandemic in Belgium -2020 coronavirus pandemic in Bulgaria -2020 coronavirus pandemic in Croatia -2020 coronavirus pandemic in Finland -2020 coronavirus pandemic in Germany -2020 coronavirus pandemic in Hungary -2020 coronavirus pandemic in Israel -2020 coronavirus pandemic in Latvia -2020 coronavirus pandemic in New York (state) -2020 coronavirus pandemic in Poland -2020 coronavirus pandemic in Romania -2020 coronavirus pandemic in Slovakia -2020 coronavirus pandemic in Sweden -2020 coronavirus pandemic in Taiwan -2020 coronavirus pandemic in Venezuela -2020 coronavirus pandemic in the Netherlands -2020 coronavirus pandemic in the Republic of Ireland -Alan Merrill -Concerns and controversies at the 2020 Summer Olympics -Criticism of response to the 2019–20 coronavirus pandemic -Families First Coronavirus Response Act -Hydroxychloroquine -Impact of the 2019–20 coronavirus pandemic on television -Impact of the 2019–20 coronavirus pandemic on the arts and cultural heritage -Li Wenliang -National Health Commission -Socio-economic impact of the 2019–20 coronavirus pandemic -Wuhan Institute of Virology -2019–20 coronavirus pandemic in Sichuan -2020 coronavirus pandemic in Albania -2020 coronavirus pandemic in Austria -2020 coronavirus pandemic in Estonia -2020 coronavirus pandemic in Kazakhstan -2020 coronavirus pandemic in Liechtenstein -2020 coronavirus pandemic in Luxembourg -2020 coronavirus pandemic in Monaco -2020 coronavirus pandemic in North Korea -2020 coronavirus pandemic in San Marino -2020 coronavirus pandemic in Togo -2020 coronavirus pandemic in Uganda -2020 coronavirus pandemic in Vatican City -Benito Joanet -Coronaviridae -Coronavirus recession -Diamond Princess (ship) -James T. Goodrich -Let's Dance 2020 -Media coverage of the 2019–20 coronavirus pandemic -Olle Holmquist -Stay-at-home order -Draft:Coronavirus in Zimbabwe -2020 coronavirus pandemic in French Polynesia -2020 coronavirus pandemic in Zambia -Disease cluster -Jinyintan Hospital -River of Grace Community Church -Evacuations related to the 2019–20 coronavirus pandemic -List of SARS outbreaks -Novel coronavirus -2020 Italy coronavirus lockdown -2020 Russia–Saudi Arabia oil price war -2020 coronavirus pandemic in Portland, Oregon -Boris Johnson -Coalition for Epidemic Preparedness Innovations -Ken Cuccinelli -Mike Pence -Robert C. O'Brien (attorney) -Timeline of the 2020 coronavirus pandemic in India -USNS Comfort (T-AH-20) -2019–20 coronavirus pandemic deaths/WHO situation reports -2020 Australian Grand Prix -2020 coronavirus pandemic in Afghanistan -2020 coronavirus pandemic in Argentina -2020 coronavirus pandemic in Balkans -2020 coronavirus pandemic in Cambodia -2020 coronavirus pandemic in Colorado -2020 coronavirus pandemic in Florida -2020 coronavirus pandemic in Hong Kong -2020 coronavirus pandemic in Iraq -2020 coronavirus pandemic in Kerala -2020 coronavirus pandemic in Malaysia -2020 coronavirus pandemic in Massachusetts -2020 coronavirus pandemic in Mexico -2020 coronavirus pandemic in Minnesota -2020 coronavirus pandemic in Nepal -2020 coronavirus pandemic in New Zealand -2020 coronavirus pandemic in Northern Ireland -2020 coronavirus pandemic in Ohio -2020 coronavirus pandemic in Oregon -2020 coronavirus pandemic in Puerto Rico -2020 coronavirus pandemic in Saskatchewan -2020 coronavirus pandemic in South Africa -2020 coronavirus pandemic in Sri Lanka -2020 coronavirus pandemic in Thailand -2020 coronavirus pandemic in Vermont -2020 coronavirus pandemic in Virginia -2020 coronavirus pandemic in Washington (state) -2020 coronavirus pandemic in the Faroe Islands -Alex Azar -Augustin de Romanet de Beaune -COVID-19 drug repurposing research -Christian Drosten -Death of Liu Fan -Disease X -Gerónimo Lluberas -Impact of the 2019–20 coronavirus pandemic on education -Impact of the 2019–20 coronavirus pandemic on sports -Impact of the 2019–20 coronavirus pandemic on the restaurant industry in the United States -Joachim Yhombi-Opango -Life Care Centers of America -MS Westerdam -Maurice Berger -Naomi Munakata -Robert H. Garff -Robert Wilkie -Sophie Grégoire Trudeau -Strikes during the 2020 coronavirus pandemic -Timeline of the 2020 coronavirus pandemic in the United States -USNS Mercy (T-AH-19) -Workplace hazard controls for COVID-19 -WrestleMania 36 -2020 Congressional insider trading scandal -2020 coronavirus pandemic in Alabama -2020 coronavirus pandemic in Algeria -2020 coronavirus pandemic in Armenia -2020 coronavirus pandemic in Asturias -2020 coronavirus pandemic in Bangladesh -2020 coronavirus pandemic in Botswana -2020 coronavirus pandemic in Brunei -2020 coronavirus pandemic in Cameroon -2020 coronavirus pandemic in Cape Verde -2020 coronavirus pandemic in Colombia -2020 coronavirus pandemic in Cuba -2020 coronavirus pandemic in Delaware -2020 coronavirus pandemic in England -2020 coronavirus pandemic in Ethiopia -2020 coronavirus pandemic in Ghana -2020 coronavirus pandemic in Guatemala -2020 coronavirus pandemic in Honduras -2020 coronavirus pandemic in Indiana -2020 coronavirus pandemic in Jamaica -2020 coronavirus pandemic in Jordan -2020 coronavirus pandemic in Kentucky -2020 coronavirus pandemic in Kuwait -2020 coronavirus pandemic in Lebanon -2020 coronavirus pandemic in Macau -2020 coronavirus pandemic in Maine -2020 coronavirus pandemic in Mauritius -2020 coronavirus pandemic in Missouri -2020 coronavirus pandemic in Montenegro -2020 coronavirus pandemic in Nevada -2020 coronavirus pandemic in New Mexico -2020 coronavirus pandemic in Nicaragua -2020 coronavirus pandemic in North Carolina -2020 coronavirus pandemic in North Rhine-Westphalia -2020 coronavirus pandemic in Oklahoma -2020 coronavirus pandemic in Osijek -2020 coronavirus pandemic in Pennsylvania -2020 coronavirus pandemic in Punjab, India -2020 coronavirus pandemic in Sabah -2020 coronavirus pandemic in Saudi Arabia -2020 coronavirus pandemic in Senegal -2020 coronavirus pandemic in South Asia -2020 coronavirus pandemic in Tennessee -2020 coronavirus pandemic in Trinidad and Tobago -2020 coronavirus pandemic in Varaždin -2020 coronavirus pandemic in West Bengal -2020 coronavirus pandemic in Wyoming -2020 coronavirus pandemic in Zimbabwe -2020 coronavirus pandemic in the Maldives -Ai Fen -Andrew Jack (dialect coach) -Broad-spectrum antiviral drug -Calogero Rizzuto (architect) -Chris Liddell -Collapse of Xinjia Express Hotel -Coronavirus Act 2020 -Derek Kan -Edward C. Allworth Veterans' Home -EvergreenHealth -Favipiravir -Ghen Cô Vy -Giuliana De Sio -Hashem Bathaie Golpayegani -Henk Bekedam -Huoshenshan Hospital -Indian local government response to the 2020 coronavirus pandemic -Janata Curfew -Jerome Adams -Johannes B. Kerner -Ken Shimura -List of Philippine public figures who underwent COVID-19 testing -Liu Wen (doctor) -Lumpinee Boxing Stadium -Milutin Knežević -Movie Night in Canada -Nashom Wooden -Operation Rescript -PREDICT (USAID) -Patrick Vallance -Pete Gaynor -Princess María Teresa of Bourbon-Parma -Richard Wilkins (TV presenter) -Ruby Princess -Shi Zhengli -Siobhán Killeen -Stanislas Ouaro -Stephen Hahn (oncologist) -Timeline of the 2020 coronavirus pandemic in Bosnia and Herzegovina -Ventec Life Systems -Draft:2020 coronavirus pandemic in Haryana -2020 coronavirus pandemic in Akrotiri and Dhekelia -2020 coronavirus pandemic in Anguilla -2020 coronavirus pandemic in Barbados -2020 coronavirus pandemic in Bermuda -2020 coronavirus pandemic in Ceuta -2020 coronavirus pandemic in Djibouti -2020 coronavirus pandemic in East Timor -2020 coronavirus pandemic in Equatorial Guinea -2020 coronavirus pandemic in French Guiana -2020 coronavirus pandemic in Georgia (country) -2020 coronavirus pandemic in Greenland -2020 coronavirus pandemic in Guadeloupe -2020 coronavirus pandemic in Guinea -2020 coronavirus pandemic in Gujarat -2020 coronavirus pandemic in Haiti -2020 coronavirus pandemic in Laos -2020 coronavirus pandemic in Libya -2020 coronavirus pandemic in Mali -2020 coronavirus pandemic in Mauritania -2020 coronavirus pandemic in Melilla -2020 coronavirus pandemic in Montserrat -2020 coronavirus pandemic in New Caledonia -2020 coronavirus pandemic in Niger -2020 coronavirus pandemic in Papua New Guinea -2020 coronavirus pandemic in Rwanda -2020 coronavirus pandemic in Saint Barthélemy -2020 coronavirus pandemic in Saint Kitts and Nevis -2020 coronavirus pandemic in Saint Vincent and the Grenadines -2020 coronavirus pandemic in Sierra Leone -2020 coronavirus pandemic in South Dakota -2020 coronavirus pandemic in Suriname -2020 coronavirus pandemic in Tunisia -2020 coronavirus pandemic in Uzbekistan -2020 coronavirus pandemic in the British Virgin Islands -2020 coronavirus pandemic in the Cayman Islands -2020 coronavirus pandemic in the Collectivity of Saint Martin -2020 coronavirus pandemic in the Gambia -2020 coronavirus pandemic in the Northern Mariana Islands -2020 coronavirus pandemic in the Turks and Caicos Islands -2020 coronavirus pandemic in the Åland Islands -Alan Finder -Aurlus Mabélé -Bettina Santo Domingo -COVID-19 Economic Response Task Force -COVID-19 Solidarity Response Fund -Canada Emergency Response Benefit -Chato Galante -Chinese Center for Disease Control and Prevention -Coronavirus Scientific Advisory Board (Turkey) -Dance Again (Selena Gomez song) -David Hodgkiss -Duan Zhengcheng -Eurovision Young Musicians 2020 -Fernando Simón -Francesco Saverio Pavone -Hamid Kahram -Health Protection (Coronavirus) Regulations 2020 -Hong Ling (geneticist) -IHeart Living Room Concert for America -Italo De Zan -Joe Grogan -Kerstin Behrendtz -Lee Cha-su -Lorenzo Acquarone -Maria Van Kerkhove -Michael Carton -MusiCares COVID-19 Relief Fund -Nicolas Alfonsi -Operation Namaste -Preta Gil -Robert Blair (political advisor) -SHC014-CoV -Shikha Malhotra -Steven Dick -Test Yourself Goa -Usama Riaz -Walter Robb (engineer) -White Center COVID-19 quarantine site -2020 coronavirus pandemic in British Overseas Territories -List of public venues and institutions closed during the 2019–20 coronavirus pandemic -Timeline of the 2020 coronavirus pandemic in Afghanistan -Timeline of the 2020 coronavirus pandemic in Iraq -Timeline of the 2020 coronavirus pandemic in Turkey -Template:2019–20 coronavirus pandemic data/Wisconsin medical cases by county -File:SARS-CoV-2 scanning electron microscope image.jpg -2020 coronavirus pandemic in Emilia Romagna -2020 coronavirus pandemic in Nassau County, New York -2020 coronavirus pandemic in Orange County, California -2020 coronavirus pandemic in San Diego County, California -2020 coronavirus pandemic in San Mateo County, California -2020 coronavirus pandemic in Suffolk County, New York -2021 Summer Olympics -Category:2019–20 coronavirus pandemic-related lists -Category:2019–20 coronavirus pandemic by continent -Category:2019–20 coronavirus pandemic by country subdivision -Category:2019–20 coronavirus pandemic by first-level administrative country subdivision -Category:2019–20 coronavirus pandemic in China -Category:2019–20 coronavirus pandemic in China by province -Category:2019–20 coronavirus pandemic in Danish dependencies -Category:2019–20 coronavirus pandemic templates -Category:2020 coronavirus pandemic in Africa -Category:2020 coronavirus pandemic in Asia -Category:2020 coronavirus pandemic in Belgium templates -Category:2020 coronavirus pandemic in Bosnia and Herzegovina -Category:2020 coronavirus pandemic in Brazil templates -Category:2020 coronavirus pandemic in Bulgaria templates -Category:2020 coronavirus pandemic in Canada -Category:2020 coronavirus pandemic in Canada templates -Category:2020 coronavirus pandemic in Costa Rica templates -Category:2020 coronavirus pandemic in Croatia templates -Category:2020 coronavirus pandemic in Cyprus -Category:2020 coronavirus pandemic in Denmark templates -Category:2020 coronavirus pandemic in Europe -Category:2020 coronavirus pandemic in France -Category:2020 coronavirus pandemic in Germany -Category:2020 coronavirus pandemic in Germany templates -Category:2020 coronavirus pandemic in Iceland templates -Category:2020 coronavirus pandemic in India by state or union territory -Category:2020 coronavirus pandemic in Indonesia -Category:2020 coronavirus pandemic in Iran -Category:2020 coronavirus pandemic in Iraq -Category:2020 coronavirus pandemic in Italy -Category:2020 coronavirus pandemic in Japan -Category:2020 coronavirus pandemic in Latvia templates -Category:2020 coronavirus pandemic in Malaysia -Category:2020 coronavirus pandemic in North America -Category:2020 coronavirus pandemic in Oceania -Category:2020 coronavirus pandemic in Pakistan -Category:2020 coronavirus pandemic in Poland templates -Category:2020 coronavirus pandemic in Russia templates -Category:2020 coronavirus pandemic in Singapore templates -Category:2020 coronavirus pandemic in South Africa templates -Category:2020 coronavirus pandemic in South Korea -Category:2020 coronavirus pandemic in Spain -Category:2020 coronavirus pandemic in Spain templates -Category:2020 coronavirus pandemic in Sweden templates -Category:2020 coronavirus pandemic in Taiwan -Category:2020 coronavirus pandemic in Turkey -Category:2020 coronavirus pandemic in Zimbabwe -Category:2020 coronavirus pandemic in the Caribbean -Category:2020 coronavirus pandemic in the Dutch Caribbean -Category:2020 coronavirus pandemic in the Netherlands templates -Category:2020 coronavirus pandemic in the Philippines templates -Category:2020 coronavirus pandemic in the United Arab Emirates templates -Category:2020 coronavirus pandemic in the United Kingdom templates -Category:2020 coronavirus pandemic in the United States by city -Category:A-Class COVID-19 articles -Category:Book-Class COVID-19 articles -Category:COVID-19 -Category:COVID-19 articles by quality -Category:COVID-19 stubs -Category:Containment efforts related to the 2019–20 coronavirus pandemic -Category:Deaths from the 2019–20 coronavirus pandemic -Category:Deaths from the 2019–20 coronavirus pandemic in Pakistan -Category:Deaths from the 2020 coronavirus pandemic in Brazil -Category:Deaths from the 2020 coronavirus pandemic in France -Category:Deaths from the 2020 coronavirus pandemic in Indonesia -Category:Deaths from the 2020 coronavirus pandemic in Italy -Category:Deaths from the 2020 coronavirus pandemic in Senegal -Category:Deaths from the 2020 coronavirus pandemic in South Korea -Category:Deaths from the 2020 coronavirus pandemic in Sweden -Category:Deaths from the 2020 coronavirus pandemic in Uruguay -Category:Deaths from the 2020 coronavirus pandemic in the Dominican Republic -Category:Deaths from the 2020 coronavirus pandemic in the United Kingdom -Category:Disambig-Class COVID-19 articles -Category:Drafts about the 2019–20 coronavirus pandemic -Category:Events postponed due to the 2019–20 coronavirus pandemic -Category:FL-Class COVID-19 articles -Category:File-Class COVID-19 articles -Category:GA-Class COVID-19 articles -Category:Health facilities that treated COVID-19 patients -Category:Hospitals and medical institutions associated with the 2019–20 coronavirus pandemic -Category:Impact of the 2019–20 coronavirus pandemic on cinema -Category:Impact of the 2019–20 coronavirus pandemic on politics -Category:Impact of the 2019–20 coronavirus pandemic on television -Category:Impact of the 2019–20 coronavirus pandemic on the restaurant industry -Category:International responses to the 2019–20 coronavirus pandemic -Category:List-Class COVID-19 articles -Category:Mid-importance COVID-19 articles -Category:Music events cancelled due to the 2019–20 coronavirus pandemic -Category:NA-Class COVID-19 articles -Category:National responses to the 2019–20 coronavirus pandemic -Category:Portal-Class COVID-19 articles -Category:Quarantine facilities designated for the 2019–20 coronavirus pandemic -Category:Referendums postponed due to the 2019-20 coronavirus pandemic -Category:SIA-Class COVID-19 articles -Category:Sports events cancelled due to the 2019–20 coronavirus pandemic -Category:Start-Class COVID-19 articles -Category:Template-Class COVID-19 articles -Category:Top-importance COVID-19 articles -Category:United States 2019–20 coronavirus pandemic templates -Category:White House Coronavirus Task Force -Category:WikiProject COVID-19 articles -Category:Wikipedia requested images of COVID-19-related topics -Category:World Health Organization essential medicines -2020 coronavirus pandemic in Saint Martin -Coronavirus disease -File:2019-nCoV-CDC-23311.png -File:2019-nCoV-CDC-23312 without background.png -File:2019-nCoV HealthAdvisory DOH Philippines.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 02.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 04.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 06.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 08.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 10.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 12.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 14.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 16.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 18.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 20.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 22.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 24.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 26.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 28.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 30.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 32.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 34.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 36.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 38.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 40.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 42.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 44.jpg -File:2020-03-Detalls i conseqüències del COVID-19 al País Valencià 46.jpg -File:2020 coronavirus patients in China.svg -File:6889Baliuag enhanced community quarantine 02.jpg -File:6954Baliuag enhanced community quarantine 13.jpg -File:6954Baliuag enhanced community quarantine 29.jpg -File:7025Baliuag enhanced community quarantine 16.jpg -File:Bailiwick of Guernsey coronavirus map.svg -File:COVID-19- 5 Things to Know About COVID-19.webm -File:COVID-19 Barnstar.png -File:COVID-19 Cases in Washington (state) by counties.svg -File:COVID-19 Death Cases in Punjab, India.png -File:COVID-19 Outbreak Cases In Turkey.svg -File:COVID-19 Outbreak Cases in Australia.svg -File:COVID-19 Outbreak Cases in Egypt.svg -File:COVID-19 Outbreak Cases in Mainland China.svg -File:COVID-19 Outbreak Cases in New Zealand.svg.png -File:COVID-19 Outbreak Cases in New Zealand (Region Totals) v2.svg -File:COVID-19 Outbreak Cases in Oceania.svg -File:COVID-19 Outbreak Cases in Punjab, India.png -File:COVID-19 Outbreak World Map-Confirmed.svg -File:COVID-19 Outbreak World Map.svg -File:COVID-19 Outbreak World Map (34).svg -File:COVID-19 Outbreak World Map (36).svg -File:COVID-19 Pandemic Cases in Vietnam.svg -File:COVID-19 community quarantine in the Philippines.svg -File:COVID-19 pandemic cases in the Philippines.svg -File:COVID-19 pandemic cases in the Philippines by residence.svg -File:COVID-19 sign at New Hope UMC Greenbush WI 22 Mar 2020.jpg -File:COVID-19 sign at coffee shop in Oconomowoc WI 23 March 2020.jpg -File:Check for 2019-nCoV in Jishuitan metro station (Beijing).jpg -File:Corona A2 print odia V1.pdf -File:Coronavirus outbreak in Iran 2019-2020.png -File:Covid19 protective measures.gif -File:Emergenza coronavirus (49501382461).jpg -File:HK SYP 西環 Sai Ying Pun 德輔道西 Des Voeux Road West shop March 2020 SS2 poster.jpg -File:Health Declaration Card of China (January 2020).jpg -File:Is COVID-19 like a flu? ENG.png -File:Protect yourself against coronavirus-poster-english-3march2020.pdf -File:SARS-CoV-2 (Wikimedia colors).svg -File:SST Corona A2 plakat print V2.pdf -File:SST Corona A4 Print-Somali.png -File:SST Corona A4 Print AR-page-0.png -File:SST Corona A4 print-V2.png -File:Surgical mask and 84 disinfectant liquid purchase limit notice at a CSF Market (20200202155633).jpg -File:U.S. Government COVID-19 Response Plan, March 13, 2020.pdf -File:Workers having their temperatures taken as they enter an industrial park.jpg -File:Строительство инфекционного центра в Новой Москве (21 марта; А. Бочкарёв) 1.jpg -File:关于做好不明原因肺炎救治工作的紧急通知.pdf -File:湖南抗疫一线医生父子隔防护玻璃互相打气.webm -File:雁塔 曲江收费站的防疫检查 01.jpg -Portal:Pandemics -Project:Version 1.0 Editorial Team/COVID-19 articles by quality log -Project:WikiProject COVID-19 -Project:WikiProject COVID-19/Article report -Project:WikiProject COVID-19/Case Count Task Force -Project:WikiProject COVID-19/Deaths -Project:WikiProject COVID-19/Hot articles -Project:WikiProject COVID-19/Organizations from Vaccine Safety Net -Project:WikiProject COVID-19/Popular pages -Project:WikiProject COVID-19/Sources -Project:WikiProject COVID-19/Translation Task Force/COVID-19 testing (long) -Project:WikiProject COVID-19/Translation Task Force/Coronavirus disease 2019 (long) -Project:WikiProject Women in Red/COVID-19 -2020 Czech Republic coronavirus lockdown -2020 Tyrol coronavirus lockdown -2020 coronavirus pandemic in Atlanta -2020 coronavirus pandemic in Boston -2020 coronavirus pandemic in Central America -2020 coronavirus pandemic in Detroit -2020 coronavirus pandemic in East Asia -2020 coronavirus pandemic in Houston -2020 coronavirus pandemic in Lombardy -2020 coronavirus pandemic in Metro Detroit -2020 coronavirus pandemic in Newfoundland and Labrador -2020 coronavirus pandemic in Northern Europe -2020 coronavirus pandemic in Piemonte -2020 coronavirus pandemic in Samoa -2020 coronavirus pandemic in San Francisco -2020 coronavirus pandemic in Southeast Asia -2020 coronavirus pandemic in Southern Europe -2020 coronavirus pandemic in Vanuatu -2020 coronavirus pandemic in West Africa -2020 coronavirus pandemic in Westchester County, New York -2020 coronavirus pandemic in Yukon -2020 coronavirus pandemic in the Northwest Territories -Alpha-2B Recombinant -COVID-19-related topics -COVID-19 in Kerala -COVID-19 in the United States -COVID-19 pandemic in Europe -COVID-19 pandemic in Germany -COVID-19 pandemic in Iran -COVID-19 pandemic in Japan -COVID-19 pandemic in Spain -COVID-19 pandemic in mainland China -COVID-19 pandemic in the United Kingdom -Censorship during the 2019–20 coronavirus pandemic -Coronavirus in England -Coronavirus in USA -Impact of the 2020 coronavirus pandemic in Croatia -P:COVID-19 -Xenophobia and racism related to the 2019–20 coronavirus pandemic -Template:2019–20 coronavirus pandemic data/Europe medical cases chart -Template:The COVID-19 Barnstar -Template:WPCOVID19 -Portal:COVID-19 -Template:2019–20 coronavirus pandemic -Template:2019–20 coronavirus pandemic data -Template:2019–20 coronavirus pandemic data/Albania medical cases chart -Template:2019–20 coronavirus pandemic data/Algeria medical cases chart -Template:2019–20 coronavirus pandemic data/Argentina medical cases chart -Template:2019–20 coronavirus pandemic data/Australia medical cases chart -Template:2019–20 coronavirus pandemic data/Automatically updated cases -Template:2019–20 coronavirus pandemic data/Bailiwick of Guernsey medical cases chart -Template:2019–20 coronavirus pandemic data/Bangladesh medical cases chart -Template:2019–20 coronavirus pandemic data/Belgium medical cases -Template:2019–20 coronavirus pandemic data/Bolivia medical cases -Template:2019–20 coronavirus pandemic data/Bosnia and Herzegovina medical cases chart -Template:2019–20 coronavirus pandemic data/Brazil medical cases chart -Template:2019–20 coronavirus pandemic data/Bulgaria medical cases -Template:2019–20 coronavirus pandemic data/Burkina Faso medical cases chart -Template:2019–20 coronavirus pandemic data/Cameroon medical cases chart -Template:2019–20 coronavirus pandemic data/Canada/British Columbia medical cases chart -Template:2019–20 coronavirus pandemic data/Canada/Quebec medical cases -Template:2019–20 coronavirus pandemic data/Canada/Quebec medical cases map -Template:2019–20 coronavirus pandemic data/Canada medical cases by province -Template:2019–20 coronavirus pandemic data/Case fatality rate -Template:2019–20 coronavirus pandemic data/China medical cases by province -Template:2019–20 coronavirus pandemic data/Costa Rica medical cases -Template:2019–20 coronavirus pandemic data/Croatia medical cases chart -Template:2019–20 coronavirus pandemic data/Czech Republic medical cases chart -Template:2019–20 coronavirus pandemic data/Denmark medical cases chart -Template:2019–20 coronavirus pandemic data/Dominican Republic medical cases chart -Template:2019–20 coronavirus pandemic data/Egypt medical cases chart -Template:2019–20 coronavirus pandemic data/Estonia medical cases chart -Template:2019–20 coronavirus pandemic data/Europe medical cases -Template:2019–20 coronavirus pandemic data/Finland medical cases chart -Template:2019–20 coronavirus pandemic data/France medical cases chart -Template:2019–20 coronavirus pandemic data/Georgia medical cases chart -Template:2019–20 coronavirus pandemic data/Germany medical cases chart -Template:2019–20 coronavirus pandemic data/Greece medical cases chart -Template:2019–20 coronavirus pandemic data/Hungary medical cases chart -Template:2019–20 coronavirus pandemic data/Iceland medical cases chart -Template:2019–20 coronavirus pandemic data/India/Kerala medical cases -Template:2019–20 coronavirus pandemic data/India/Tamil Nadu medical cases chart -Template:2019–20 coronavirus pandemic data/India medical cases chart -Template:2019–20 coronavirus pandemic data/Indonesia medical cases chart -Template:2019–20 coronavirus pandemic data/Iran medical cases -Template:2019–20 coronavirus pandemic data/Iraq medical cases chart -Template:2019–20 coronavirus pandemic data/Israel medical cases -Template:2019–20 coronavirus pandemic data/Italy medical cases -Template:2019–20 coronavirus pandemic data/Ivory Coast medical cases chart -Template:2019–20 coronavirus pandemic data/Japan medical cases chart -Template:2019–20 coronavirus pandemic data/Kenya medical cases chart -Template:2019–20 coronavirus pandemic data/Kyrgyzstan medical cases chart -Template:2019–20 coronavirus pandemic data/Latvia medical cases chart -Template:2019–20 coronavirus pandemic data/Lithuania medical cases -Template:2019–20 coronavirus pandemic data/Louisiana medical cases chart -Template:2019–20 coronavirus pandemic data/Macau medical cases chart -Template:2019–20 coronavirus pandemic data/Mainland China medical cases chart -Template:2019–20 coronavirus pandemic data/Malaysia medical cases chart -Template:2019–20 coronavirus pandemic data/Mauritius medical cases chart -Template:2019–20 coronavirus pandemic data/Moldova medical cases chart -Template:2019–20 coronavirus pandemic data/Morocco medical cases chart -Template:2019–20 coronavirus pandemic data/Netherlands medical cases chart -Template:2019–20 coronavirus pandemic data/New Caledonia medical cases chart -Template:2019–20 coronavirus pandemic data/Nigeria medical cases -Template:2019–20 coronavirus pandemic data/Northern Ireland medical cases chart -Template:2019–20 coronavirus pandemic data/Norway medical cases chart -Template:2019–20 coronavirus pandemic data/Oman medical cases chart -Template:2019–20 coronavirus pandemic data/Pakistan medical cases chart -Template:2019–20 coronavirus pandemic data/Panama medical cases chart -Template:2019–20 coronavirus pandemic data/Paraguay medical cases chart -Template:2019–20 coronavirus pandemic data/Philippines medical cases -Template:2019–20 coronavirus pandemic data/Philippines medical cases summary -Template:2019–20 coronavirus pandemic data/Poland medical cases by voivodeship -Template:2019–20 coronavirus pandemic data/Portugal medical cases chart -Template:2019–20 coronavirus pandemic data/Republic of Ireland medical cases chart -Template:2019–20 coronavirus pandemic data/Romania medical cases chart -Template:2019–20 coronavirus pandemic data/Russia medical cases chart -Template:2019–20 coronavirus pandemic data/Saudi Arabia medical cases chart -Template:2019–20 coronavirus pandemic data/Scotland medical cases chart -Template:2019–20 coronavirus pandemic data/Serbia medical cases chart -Template:2019–20 coronavirus pandemic data/Singapore medical cases chart -Template:2019–20 coronavirus pandemic data/Slovakia medical cases -Template:2019–20 coronavirus pandemic data/Slovakia medical cases chart -Template:2019–20 coronavirus pandemic data/Slovenia medical cases chart -Template:2019–20 coronavirus pandemic data/South Africa medical cases chart -Template:2019–20 coronavirus pandemic data/South Korea medical cases chart -Template:2019–20 coronavirus pandemic data/Spain medical cases chart -Template:2019–20 coronavirus pandemic data/Sweden case list -Template:2019–20 coronavirus pandemic data/Sweden medical cases chart -Template:2019–20 coronavirus pandemic data/Switzerland medical cases chart -Template:2019–20 coronavirus pandemic data/Syria medical cases chart -Template:2019–20 coronavirus pandemic data/Thailand medical cases -Template:2019–20 coronavirus pandemic data/Thailand medical cases summary -Template:2019–20 coronavirus pandemic data/Treatments given -Template:2019–20 coronavirus pandemic data/Turkey medical cases chart -Template:2019–20 coronavirus pandemic data/United Arab Emirates medical cases -Template:2019–20 coronavirus pandemic data/United Kingdom/Scotland medical cases -Template:2019–20 coronavirus pandemic data/United Kingdom medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Alaska medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Arkansas medical cases chart -Template:2019–20 coronavirus pandemic data/United States/California/San Francisco County medical cases chart -Template:2019–20 coronavirus pandemic data/United States/California medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Connecticut medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Florida medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Hawaii medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Illinois medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Iowa medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Kentucky medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Louisiana medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Maryland medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Michigan medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Mississippi medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Montana medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Nevada medical cases chart -Template:2019–20 coronavirus pandemic data/United States/New Jersey medical cases chart -Template:2019–20 coronavirus pandemic data/United States/New York State medical cases chart -Template:2019–20 coronavirus pandemic data/United States/North Dakota medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Oklahoma medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Pennsylvania medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Rhode Island medical cases chart -Template:2019–20 coronavirus pandemic data/United States/South Dakota medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Texas medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Vermont medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Washington, D.C. medical cases chart -Template:2019–20 coronavirus pandemic data/United States/West Virginia medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Wyoming medical cases chart -Template:2019–20 coronavirus pandemic data/United States medical cases by state -Template:2019–20 coronavirus pandemic data/United States medical cases chart/doc -Template:2019–20 coronavirus pandemic data/Venezuela medical cases chart -Template:2019–20 coronavirus pandemic data/Wales medical cases chart -Template:2019–20 coronavirus pandemic sidebar -Template:2020 coronavirus pandemic by California county -Template:2020 coronavirus pandemic in Croatia (navbox) -Template:2020 coronavirus pandemic in India -Template:2020 coronavirus pandemic in the United Kingdom -Template:2020 coronavirus quarantines -Template:AHollender (WMF)/sandbox/2019–20 coronavirus pandemic data/styles.css -Template:COVID-19 Barnstar -Template:COVID19 GS editnotice -Template:COVID19 sanctions/doc -Template:Coronavirus data/Patients characteristics2 -Template:Did you know nominations/Corona Rintawan -Template:Did you know nominations/Disease X -Template:Did you know nominations/Kurti cabinet -Template:Editnotices/Page/Talk:2019–20 coronavirus pandemic -Template:Interactive COVID-19 maps/Cumulative confirmed cases -Template:Interactive COVID-19 maps/Daily confirmed cases -Template:Interactive COVID-19 maps/Per capita confirmed cases -Template:Interactive COVID-19 maps/Per capita confirmed cases/mobilefriendly -Template:Interactive COVID-19 maps/Per capita daily deaths -Template:Interactive COVID-19 maps/common -Template:Interactive COVID-19 maps/common/sandbox -Template:Interactive COVID-19 maps/data -Template:PartofWikiProject COVID-19 -Template:U.S. COVID-19 case charts -Template:Uw-covid19block -Template:WikiProject COVID-19/class -Template:WikiProject COVID-19 tabs -Draft:2020 Philippine coronavirus testing controversy -Draft:2020 coronavirus outbreak in Ivory Coast -Draft:2020 coronavirus pandemic in Columbus, Ohio -Draft:Blog posts in R on coronavirus covid-19 -Draft:COVID-19 Open Science Initiatives -Draft:Corizidox B-4 -Draft:Coronavirus: Travel restrictions, border shutdowns by country -Draft:Coronials -Draft:Covid Vaccine -Draft:Covidiot -Draft:Deaths from covid19 -Draft:Great Toilet Paper Panic of 2020 -Draft:Impact of the 2019–20 coronavirus pandemic on wildlife -Draft:List of Catholic Churches and Masses affected affected by the Coronavirus Pandemic by Diocese -Draft:List of known cases of COVID-19 in the United States -Draft:Nightingale Hospital (Temporary NHS facility) -Draft:Orange Ribbon to symbolise the suffering of people who are victims of COVID-19 -Draft:Quarantine Marketing -Draft:Severe acute respiratory syndrome-related coronavirus -Draft:Template:2019–20 coronavirus pandemic data/North Macedonia medical cases chart -Draft:Viruses and their Types -Draft:Wuhan Coronavirus 2019 -2020 coronavirus pandemic in Burundi -Biosecurity Act 2015 -Michael McKinnell -Rafael Gómez Nieto -Rodolfo González Rissotto -Wallace Roney -File:Healthcare Systems Preparedness for COVID-19.webm -File:Kosovo COVID19 Map.svg.png -File:SARS-CoV-2-CDC-23312.png -File:SARS-CoV-2 without background.png -File:SST Corona A4 Print-Polska.png -File:SST Corona A4 Print-Türkce.png -File:SST Corona A4 Print AR.pdf -File:Street photo in Guangzhou city (49477439332).jpg -File:Symptoms of coronavirus disease 2019 2.0.svg -File:Wisconsin National Guard (49666763872).jpg -File:Workers having their temperatures taken as they enter an industrial park (cropped).jpg -File:Строительство инфекционного центра в Новой Москве (21 марта; А. Бочкарёв) 2.jpg -File:李文亮的训诫书.png -File:蔡總統視導33化學兵群 02.jpg -Portal:Coronavirus disease 2019 -Project:General sanctions/Coronavirus disease 2019 -Project:Version 1.0 Editorial Team/COVID-19 articles by quality statistics -Project:WikiProject COVID-19/Article alerts -Project:WikiProject COVID-19/Assessment -Project:WikiProject COVID-19/Current events -Project:WikiProject COVID-19/Equipments Task Force -Project:WikiProject COVID-19/New articles -Project:WikiProject COVID-19/Participants -Project:WikiProject COVID-19/Recognized content -Project:WikiProject COVID-19/Translation Task Force -Project:WikiProject COVID-19/Translation Task Force/COVID-19 testing (short) -Project:WikiProject COVID-19/Translation Task Force/Coronavirus disease 2019 (short) -2019–20 coronavirus pandemic in South Carolina -2020 France coronavirus lockdown -2020 coronavirus pandemic in American Samoa -2020 coronavirus pandemic in Austin, Texas -2020 coronavirus pandemic in Central Africa -2020 coronavirus pandemic in Central Asia -2020 coronavirus pandemic in East Africa -2020 coronavirus pandemic in Eastern Europe -2020 coronavirus pandemic in Klang Valley -2020 coronavirus pandemic in Los Angeles County, California -2020 coronavirus pandemic in Nauru 2 -2020 coronavirus pandemic in North Africa -2020 coronavirus pandemic in Nunavut -2020 coronavirus pandemic in Prince Edward Island -2020 coronavirus pandemic in San Antonio -2020 coronavirus pandemic in Seattle -2020 coronavirus pandemic in Southern Africa -2020 coronavirus pandemic in Tonga -2020 coronavirus pandemic in Veneto -2020 coronavirus pandemic in West Asia -2020 coronavirus pandemic in Western Europe -2020 coronavirus pandemic in the Caribbean -2020 coronavirus pandemic in the U.S. Virgin Islands -Black Monday II -COVID-19 in India -COVID-19 in the United Kingdom -COVID-19 pandemic in Canada -COVID-19 pandemic in France -COVID-19 pandemic in India -COVID-19 pandemic in Italy -COVID-19 pandemic in South Korea -COVID-19 pandemic in Switzerland -COVID-19 pandemic in the Philippines -COVID-19 pandemic in the United States -Coronavirus Task Force -Coronavirus in Spain -Impact of the 2019–20 coronavirus pandemic on public transport -Middle Class Health Benefits Tax Repeal Act of 2019 -Wuhan coronavirus -Project:WikiProject COVID-19/Translation task force -Template:Coronavirus characteristics comparison -Template:WPCOVID-19 -Category:2020 coronavirus pandemic in China templates -Template:2019-20 coronavirus pandemic data/Asturias medical cases chart -Template:2019–20 coronavirus pandemic/doc -Template:2019–20 coronavirus pandemic data/Afghanistan medical cases chart -Template:2019–20 coronavirus pandemic data/Alberta medical cases chart -Template:2019–20 coronavirus pandemic data/Argentina medical cases -Template:2019–20 coronavirus pandemic data/Armenia medical cases chart -Template:2019–20 coronavirus pandemic data/Austria medical cases chart -Template:2019–20 coronavirus pandemic data/Azerbaijan medical cases chart -Template:2019–20 coronavirus pandemic data/Bailiwick of Jersey medical cases chart -Template:2019–20 coronavirus pandemic data/Belarus medical cases chart -Template:2019–20 coronavirus pandemic data/Belgium medical cases chart -Template:2019–20 coronavirus pandemic data/Bolivia medical cases chart -Template:2019–20 coronavirus pandemic data/Brazil medical cases -Template:2019–20 coronavirus pandemic data/Brunei medical cases chart -Template:2019–20 coronavirus pandemic data/Bulgaria medical cases chart -Template:2019–20 coronavirus pandemic data/Cambodia medical cases summary -Template:2019–20 coronavirus pandemic data/Canada/British Columbia medical cases -Template:2019–20 coronavirus pandemic data/Canada/Ontario medical cases chart -Template:2019–20 coronavirus pandemic data/Canada/Quebec medical cases chart -Template:2019–20 coronavirus pandemic data/Canada medical cases -Template:2019–20 coronavirus pandemic data/Canada medical cases chart -Template:2019–20 coronavirus pandemic data/Chile medical cases -Template:2019–20 coronavirus pandemic data/Colombia medical cases chart -Template:2019–20 coronavirus pandemic data/Costa Rica medical cases chart -Template:2019–20 coronavirus pandemic data/Cyprus medical cases chart -Template:2019–20 coronavirus pandemic data/Denmark medical cases -Template:2019–20 coronavirus pandemic data/Diamond Princess medical cases -Template:2019–20 coronavirus pandemic data/Ecuador medical cases chart -Template:2019–20 coronavirus pandemic data/Estonia medical cases -Template:2019–20 coronavirus pandemic data/Ethiopia medical cases chart -Template:2019–20 coronavirus pandemic data/Fiji medical cases chart -Template:2019–20 coronavirus pandemic data/France medical cases -Template:2019–20 coronavirus pandemic data/French Polynesia medical cases chart -Template:2019–20 coronavirus pandemic data/Germany medical cases -Template:2019–20 coronavirus pandemic data/Ghana medical cases chart -Template:2019–20 coronavirus pandemic data/Hong Kong medical cases chart -Template:2019–20 coronavirus pandemic data/Iceland medical cases -Template:2019–20 coronavirus pandemic data/India/Karnataka medical cases chart -Template:2019–20 coronavirus pandemic data/India/Kerala medical cases chart -Template:2019–20 coronavirus pandemic data/India medical cases -Template:2019–20 coronavirus pandemic data/Indonesia medical cases -Template:2019–20 coronavirus pandemic data/International medical cases -Template:2019–20 coronavirus pandemic data/Iran medical cases chart -Template:2019–20 coronavirus pandemic data/Isle of Man medical cases chart -Template:2019–20 coronavirus pandemic data/Israel medical cases chart -Template:2019–20 coronavirus pandemic data/Italy medical cases chart -Template:2019–20 coronavirus pandemic data/Japan medical cases -Template:2019–20 coronavirus pandemic data/Jordan medical cases chart -Template:2019–20 coronavirus pandemic data/Kosovo medical cases chart -Template:2019–20 coronavirus pandemic data/Latvia medical cases -Template:2019–20 coronavirus pandemic data/Lebanon medical cases chart -Template:2019–20 coronavirus pandemic data/Lithuania medical cases chart -Template:2019–20 coronavirus pandemic data/Luxembourg medical cases chart -Template:2019–20 coronavirus pandemic data/Mainland China medical cases -Template:2019–20 coronavirus pandemic data/Mainland China medical cases map (dots) -Template:2019–20 coronavirus pandemic data/Malta medical cases chart -Template:2019–20 coronavirus pandemic data/Mexico medical cases chart -Template:2019–20 coronavirus pandemic data/Montenegro medical cases chart -Template:2019–20 coronavirus pandemic data/Netherlands medical cases -Template:2019–20 coronavirus pandemic data/New Brunswick medical cases chart -Template:2019–20 coronavirus pandemic data/New Zealand medical cases chart -Template:2019–20 coronavirus pandemic data/Nigeria medical cases chart -Template:2019–20 coronavirus pandemic data/Norway medical cases -Template:2019–20 coronavirus pandemic data/Oman medical cases -Template:2019–20 coronavirus pandemic data/Pakistan medical cases -Template:2019–20 coronavirus pandemic data/Palestine medical cases chart -Template:2019–20 coronavirus pandemic data/Paraguay medical cases -Template:2019–20 coronavirus pandemic data/Philippines coronavirus quarantines -Template:2019–20 coronavirus pandemic data/Philippines medical cases chart -Template:2019–20 coronavirus pandemic data/Poland medical cases -Template:2019–20 coronavirus pandemic data/Poland medical cases chart -Template:2019–20 coronavirus pandemic data/Punjab, India medical cases -Template:2019–20 coronavirus pandemic data/Romania medical cases -Template:2019–20 coronavirus pandemic data/Russia medical cases -Template:2019–20 coronavirus pandemic data/San Marino medical cases chart -Template:2019–20 coronavirus pandemic data/School closures -Template:2019–20 coronavirus pandemic data/Senegal medical cases chart -Template:2019–20 coronavirus pandemic data/Singapore medical cases -Template:2019–20 coronavirus pandemic data/Singapore untraced cases -Template:2019–20 coronavirus pandemic data/Slovakia medical cases by region -Template:2019–20 coronavirus pandemic data/Slovenia medical cases -Template:2019–20 coronavirus pandemic data/South Africa medical cases -Template:2019–20 coronavirus pandemic data/South Korea medical cases -Template:2019–20 coronavirus pandemic data/Spain medical cases -Template:2019–20 coronavirus pandemic data/Sri Lanka medical cases chart -Template:2019–20 coronavirus pandemic data/Sweden medical cases -Template:2019–20 coronavirus pandemic data/Switzerland medical cases -Template:2019–20 coronavirus pandemic data/Symptoms -Template:2019–20 coronavirus pandemic data/Taiwan medical cases chart -Template:2019–20 coronavirus pandemic data/Thailand medical cases chart -Template:2019–20 coronavirus pandemic data/Togo medical cases chart -Template:2019–20 coronavirus pandemic data/Tunisia medical cases chart -Template:2019–20 coronavirus pandemic data/Ukraine medical cases chart -Template:2019–20 coronavirus pandemic data/United Arab Emirates medical cases chart -Template:2019–20 coronavirus pandemic data/United Kingdom medical cases -Template:2019–20 coronavirus pandemic data/United States/Alabama medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Arizona medical cases chart -Template:2019–20 coronavirus pandemic data/United States/California/Los Angeles County medical cases chart -Template:2019–20 coronavirus pandemic data/United States/California/Santa Clara County medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Colorado medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Delaware medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Georgia medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Idaho medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Indiana medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Kansas medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Louisiana/Orleans Parish medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Maine medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Massachusetts medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Minnesota medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Missouri medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Nebraska medical cases chart -Template:2019–20 coronavirus pandemic data/United States/New Hampshire medical cases chart -Template:2019–20 coronavirus pandemic data/United States/New Mexico medical cases chart -Template:2019–20 coronavirus pandemic data/United States/North Carolina medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Ohio medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Oregon medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Puerto Rico medical cases chart/doc -Template:2019–20 coronavirus pandemic data/United States/South Carolina medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Tennessee medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Utah medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Virginia medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Washington State medical cases chart -Template:2019–20 coronavirus pandemic data/United States/Wisconsin medical cases chart -Template:2019–20 coronavirus pandemic data/United States medical cases -Template:2019–20 coronavirus pandemic data/United States medical cases chart -Template:2019–20 coronavirus pandemic data/Vatican City medical cases chart -Template:2019–20 coronavirus pandemic data/Vietnam medical cases chart -Template:2019–20 coronavirus pandemic data/layout -Template:2020 coronavirus pandemic by Arkansas county -Template:2020 coronavirus pandemic data/Europe medical cases chart -Template:2020 coronavirus pandemic in France -Template:2020 coronavirus pandemic in the Philippines -Template:2020 coronavirus pandemic in the United States -Template:2020 coronavirus quarantines outside Hubei -Template:COVID-19-stub -Template:COVID-19 testing -Template:COVID19 sanctions -Template:COVID invite -Template:Current confirmed COVID-19 cases in Greece by gender and age -Template:Did you know nominations/Coronavirus recession -Template:Did you know nominations/Impact of the 2019–20 coronavirus outbreak on cinema -Template:Editnotices/Page/2019–20 coronavirus pandemic -Template:Interactive COVID-19 maps -Template:Interactive COVID-19 maps/Cumulative deaths -Template:Interactive COVID-19 maps/Daily deaths -Template:Interactive COVID-19 maps/Per capita confirmed cases/Large -Template:Interactive COVID-19 maps/Per capita daily confirmed cases -Template:Interactive COVID-19 maps/Per capita deaths -Template:Interactive COVID-19 maps/common/botsandbox -Template:Interactive COVID-19 maps/common/testcases -Template:Off wiki Covid 19 -Template:PartofWikiProject COVID-19/doc -Template:User WikiProject COVID-19 -Template:WikiProject COVID-19 -Template:WikiProject COVID-19/doc -Template:WikiProject COVID-19 topicon -Draft:2020 coronavirus outbreak in Azerbaijan -Draft:2020 coronavirus outbreak in the Netherlands -Draft:2020 coronavirus pandemic in the Falkland Islands -Draft:Blood plasma and Covid 19 -Draft:COVID 19 in Zimbabwe -Draft:Corona virus cases all country list -Draft:Coronavirus in Democratic Republic of the Congo -Draft:Covid-19 Quarantine Party (Spotify Playlist) -Draft:Covidian Era -Draft:Danger Of Covid-19 To Influenza -Draft:Everything You Need to Know About Coronavirus -Draft:Hoarding due to the 2019-2020 Coronavirus Outbreak -Draft:Learn at Home -Draft:List of Medical Professionals Who Died During the COVID-19 Pandemic -Draft:NAV Centre -Draft:North Korea Coronavirus -Draft:Possible solutions of Covid 19 -Draft:Santa Clara Coronavirus Data -Draft:State of Emergency in Canada -Draft:UK Coronavirus Cancer Monitoring Project -Draft:What is COVID-19 -Severe acute respiratory syndrome-related coronavirus -Anders Tegnell -Biosecurity in Australia -National Cabinet of Australia -Responses to the 2019–20 coronavirus pandemic in March 2020 -Viktor Dashkevich -William B. Helmreich -- 2.39.2 From b26a2b5a861494079f7ecaf2c8d2862d1f01b589 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 18:22:36 -0500 Subject: [PATCH 13/16] fix bug in previous commit forgot to import digobs module in the scraper script --- wikipedia/scripts/wikiproject_scraper.py | 1 + 1 file changed, 1 insertion(+) diff --git a/wikipedia/scripts/wikiproject_scraper.py b/wikipedia/scripts/wikiproject_scraper.py index 528f0d7..b03b04c 100755 --- a/wikipedia/scripts/wikiproject_scraper.py +++ b/wikipedia/scripts/wikiproject_scraper.py @@ -25,6 +25,7 @@ import logging import re import math from bs4 import BeautifulSoup +import digobs def parse_args(): -- 2.39.2 From ff5521d44bf2d680e089b1fba7d92a134c98a7e6 Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Wed, 1 Apr 2020 18:23:50 -0500 Subject: [PATCH 14/16] ignore __pycache__ --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d137103..effc4ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ wikipedia/data/ wikipedia/logs/ wikipedia/resources/enwp_wikiproject_covid19_articles.txt +__pycache__ -- 2.39.2 From 3d0d4eee76ac828d8551134cbbc0e38a50998bde Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Thu, 2 Apr 2020 12:48:19 -0500 Subject: [PATCH 15/16] updated to just write a single log file for each day --- cron-wikipedia_revisions.sh | 6 +++--- cron-wikipedia_views.sh | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cron-wikipedia_revisions.sh b/cron-wikipedia_revisions.sh index a53bc3f..5ba02ed 100644 --- a/cron-wikipedia_revisions.sh +++ b/cron-wikipedia_revisions.sh @@ -3,10 +3,10 @@ TZ="UTC" date_string=$(date +%Y%m%d) -./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/enwp-wikiproject_scraper-${date_string}.log) - revs_log="enwp-revisions-${date_string}.log" -./wikipedia/scripts/fetch_enwiki_revisions.py 2> >(tee wikipedia/logs/${rev_log}) +./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/${revs_log}) + +./wikipedia/scripts/fetch_enwiki_revisions.py 2> >(tee -a wikipedia/logs/${revs_log}) mv wikipedia/logs/${revs_log} /var/www/covid19/wikipedia/logs/ revs_tsv="digobs_covid19-wikipedia-enwiki_revisions-${date_string}.tsv" diff --git a/cron-wikipedia_views.sh b/cron-wikipedia_views.sh index 3611657..4b39caa 100644 --- a/cron-wikipedia_views.sh +++ b/cron-wikipedia_views.sh @@ -3,11 +3,11 @@ TZ="UTC" date_string=$(date +%Y%m%d) -./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/enwp-wikiproject_scraper-${date_string}.log) +view_log="enwp-daily_views-${date_string}.log" +./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/{$view_log}) # get the list of files -view_log="enwp-daily_views-${date_string}.log" -./wikipedia/scripts/fetch_enwiki_daily_views.py 2> >(tee wikipedia/logs/${view_log}) +./wikipedia/scripts/fetch_enwiki_daily_views.py 2> >(tee -a wikipedia/logs/${view_log}) mv wikipedia/logs/${view_log} /var/www/covid19/wikipedia/logs/${view_log} mv wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.tsv /var/www/covid19/wikipedia/ -- 2.39.2 From 1cec120dfab8768c3ade5b0bfa6e81e19e3d833c Mon Sep 17 00:00:00 2001 From: Benjamin Mako Hill Date: Thu, 2 Apr 2020 13:28:34 -0500 Subject: [PATCH 16/16] changes to allow historical view data collection - fix bug where it would fail if the first essay had no view data - add ability to override dates in the cron script --- cron-wikipedia_views.sh | 6 +++--- wikipedia/scripts/fetch_enwiki_daily_views.py | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cron-wikipedia_views.sh b/cron-wikipedia_views.sh index 4b39caa..4afe380 100644 --- a/cron-wikipedia_views.sh +++ b/cron-wikipedia_views.sh @@ -1,13 +1,13 @@ #!/bin/bash -x TZ="UTC" -date_string=$(date +%Y%m%d) +date_string=${OVERRIDE_DATE_STRING:-$(date +%Y%m%d)} view_log="enwp-daily_views-${date_string}.log" -./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/{$view_log}) +./wikipedia/scripts/wikiproject_scraper.py 2> >(tee wikipedia/logs/${view_log}) # get the list of files -./wikipedia/scripts/fetch_enwiki_daily_views.py 2> >(tee -a wikipedia/logs/${view_log}) +./wikipedia/scripts/fetch_enwiki_daily_views.py -d "${date_string}" 2> >(tee -a wikipedia/logs/${view_log}) mv wikipedia/logs/${view_log} /var/www/covid19/wikipedia/logs/${view_log} mv wikipedia/data/digobs_covid19-wikipedia-enwiki_dailyviews-${date_string}.tsv /var/www/covid19/wikipedia/ diff --git a/wikipedia/scripts/fetch_enwiki_daily_views.py b/wikipedia/scripts/fetch_enwiki_daily_views.py index 829343d..9f147e0 100755 --- a/wikipedia/scripts/fetch_enwiki_daily_views.py +++ b/wikipedia/scripts/fetch_enwiki_daily_views.py @@ -58,8 +58,8 @@ def main(): logging.info(f"Last commit: {digobs.git_hash()}") #1 Load up the list of article names - j_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.json") - t_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{export_date}.tsv") + j_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{query_date}.json") + t_outfilename = os.path.join(outputPath, f"digobs_covid19-wikipedia-enwiki_dailyviews-{query_date}.tsv") with open(articleFile, 'r') as infile: articleList = list(map(str.strip, infile)) @@ -82,6 +82,7 @@ def main(): else: failure = failure + 1 logging.warning(f"Failure: {response.status_code} from {url}") + continue # start writing the CSV File if it doesn't exist yet try: -- 2.39.2