From d9947e96b94cfccb28dc57f02b568d0d37eaa598 Mon Sep 17 00:00:00 2001 From: Gannon Prudhomme Date: Sat, 21 Mar 2020 17:46:49 -0500 Subject: [PATCH] Minor syntax changes in scrape_grades per PR comments - Removed unnecessary import to pass linting - Changed task collecting to use list comprehension - Changed colleges & years assignment to use ternary operators --- .../management/commands/scrape_grades.py | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/autoscheduler/scraper/management/commands/scrape_grades.py b/autoscheduler/scraper/management/commands/scrape_grades.py index 563cc4252..fc0d15302 100644 --- a/autoscheduler/scraper/management/commands/scrape_grades.py +++ b/autoscheduler/scraper/management/commands/scrape_grades.py @@ -9,7 +9,6 @@ import bs4 from aiohttp import ClientSession -from django.core.exceptions import ObjectDoesNotExist from django.core.management import base from scraper.models import Grades, Section @@ -201,12 +200,8 @@ async def retrieve_pdf(year_semester: str, college: str): semesters = [SPRING, SUMMER, FALL] # Gather all of the retrieve functions into an array - tasks = [] - for year in years: - for semester in semesters: - for college in colleges: - year_semester_term = str(year) + semester - tasks.append(retrieve_pdf(year_semester_term, college)) + tasks = [retrieve_pdf(f"{year}{semester}", college) + for year in years for semester in semesters for college in colleges] grades = [] # list of Grades models for scraped_grades in await asyncio.gather(*tasks, loop=loop): @@ -246,13 +241,10 @@ def handle(self, *args, **options): # Retrieve the page data and get the available colleges & years from it page_soup = fetch_page_data() - years = _get_available_years(page_soup) - if options['year']: - years = [options['year']] - colleges = _get_colleges(page_soup) - if options['college']: - colleges = [options['college']] + years = [options['year']] if options['year'] else _get_available_years(page_soup) + colleges = ([options['college']] if options['college'] + else _get_colleges(page_soup)) loop = asyncio.get_event_loop() scraped_grades = loop.run_until_complete(perform_searches(years, colleges))