diff --git a/app/download.py b/app/download.py index 010fe8e..7c4755a 100644 --- a/app/download.py +++ b/app/download.py @@ -78,27 +78,30 @@ class dropout(): def series(): json_data=[] - page_html=requests.get('https://www.dropout.tv/series') - # If you want to parse the HTML - soup = BeautifulSoup(page_html.text, 'html.parser') - # Example: Find all elements with a specific class - elements = soup.find_all(class_='browse-item-link') - # Extract URLs from href attributes - urls = [element['href'] for element in elements if 'href' in element.attrs] + try: + page_html=requests.get('https://www.dropout.tv/series') + # If you want to parse the HTML + soup = BeautifulSoup(page_html.text, 'html.parser') + # Example: Find all elements with a specific class + elements = soup.find_all(class_='browse-item-link') + # Extract URLs from href attributes + urls = [element['href'] for element in elements if 'href' in element.attrs] - for url in urls: - info_data={} - name=url.replace('https://www.dropout.tv/','').replace('-s-',"'s-").replace('-',' ').title().replace('Of','of').replace("'S","'s") - info_data['SHOW'] = name - info_data['URL'] = url - info_data['SEASONS'] = grab.season(url) - json_data.append(info_data) + for url in urls: + info_data={} + name=url.replace('https://www.dropout.tv/','').replace('-s-',"'s-").replace('-',' ').title().replace('Of','of').replace("'S","'s") + info_data['SHOW'] = name + info_data['URL'] = url + info_data['SEASONS'] = grab.season(url) + json_data.append(info_data) - # Sort the json_data by the 'SHOW' key - sorted_json_data = sorted(json_data, key=lambda x: x['SHOW']) - - with open('/data/dropout.json', 'w') as json_file: - json.dump(sorted_json_data, json_file, indent=4) + # Sort the json_data by the 'SHOW' key + sorted_json_data = sorted(json_data, key=lambda x: x['SHOW']) + with open('/data/dropout.json', 'w') as json_file: + json.dump(sorted_json_data, json_file, indent=4) + return JSONResponse(status_code=200, content={"status": "success", "message": "Series information gather successfully."}) + except Exception as e: + return JSONResponse(status_code=500, content={"status": "error", "message": str(e)}) class youtube(): def ydl(url, location):