diff --git a/Spacefile b/Spacefile new file mode 100644 index 0000000..8c4e750 --- /dev/null +++ b/Spacefile @@ -0,0 +1,7 @@ +# Spacefile Docs: https://go.deta.dev/docs/spacefile/v0 +v: 0 +micros: + - name: MammaMia + src: ./ + engine: python3.9 + primary: true diff --git a/__pycache__/filmpertutti.cpython-311.pyc b/__pycache__/filmpertutti.cpython-311.pyc index a2b76f9..0d4562a 100644 Binary files a/__pycache__/filmpertutti.cpython-311.pyc and b/__pycache__/filmpertutti.cpython-311.pyc differ diff --git a/filmpertutti.py b/filmpertutti.py index 2dfed3a..751edff 100644 --- a/filmpertutti.py +++ b/filmpertutti.py @@ -76,52 +76,27 @@ def get_mamma(tmbda,ismovie): else: return showname,date -def search(query,date): - response = requests.get(query, headers=headers) - soup = BeautifulSoup(response.text, 'html.parser') - test= soup.find('div', class_='elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid') - # Find all articles - articles = test.select('article', class_='elementor-post elementor-grid-item post-629565') - - # Loop through each article - for article in articles: - # Find the link inside the article - link = article.find('a', class_='elementor-post__thumbnail__link') - - # Extract the href attribute from the link - href = link['href'] - #replace base url for easier scraping - href = href.replace('definizionealta.com', f'filmpertutti.{DOMAIN}') - #Get the correct serie by checking if the date is equals - series_response = requests.get(href, headers=headers) - series_soup = BeautifulSoup(series_response.text, 'html.parser') - release_span = series_soup.find('span', class_='released') - if release_span: - if release_span.text != "Data di uscita: N/A": - date_string = release_span.text.split(': ')[-1] # Get the date part - for eng, ita in month_mapping.items(): - date_string = re.sub(rf'\b{eng}\b', ita, date_string) - - # Swap to YY-MM-DD formatting using dateparser - release_date = dateparser.parse(date_string, languages=['it']).strftime("%Y-%m-%d") - print(release_date) - if release_date == date: - url = href - break - return url - -def get_episode_link(season,episode,url): - response = requests.get(url) - # Extract the 'link' field from the headers - link_field = response.headers.get('Link') - links = link_field.split(',') - links = [link.split(';')[0].strip('<>') for link in links] - second_link = links[2] - #Get the ID of the serie (not tmbd or imbd) - tid = second_link.split("=")[1] +def search(showname2,date): + base_url = f'https://filmpertutti.{DOMAIN}/wp-json/wp/v2/posts' + params = { + "search": showname2, + "page": "1", + "_fields": "title,date,id" # Only fetch the 'title' and 'date' fields + } + response = requests.get(base_url, params=params) + all_fields = response.json() + for post in all_fields: + title = post['title']['rendered'] + date2 = post['date'].split('T')[0] # remove the time part + tid = post['id'] + if date2 == date: + return tid + +def get_episode_link(season,episode,tid): + base_url = f'https://filmpertutti.{DOMAIN}/' episode = int(episode) season = int(season) - tlink = f'{url}?show_video=true&post_id={tid}&season_id={season-1}&episode_id={episode-1}' + tlink = f'{base_url}?show_video=true&post_id={tid}&season_id={season-1}&episode_id={episode-1}' return tlink @@ -165,15 +140,12 @@ def get_stream_link(imbd): else: tmdba,ismovie = info showname,date = get_mamma(tmdba,ismovie) - - query = f"https://filmpertutti.{DOMAIN}/?s=+{showname}" - query = query.replace(" ", "+").replace("–", "+").replace("—","+") - print(query) - url = search(query,date) - print(ismovie) - print(url) + showname2 = showname.replace("–", "+").replace("—","+") + print(showname2) + print(date) + tid = search(showname2,date) if ismovie == 0: - episode_link = get_episode_link(season,episode,url) + episode_link = get_episode_link(season,episode,tid) print(episode_link) #Let's get mixdrop link real_link = get_real_link(episode_link) @@ -187,4 +159,5 @@ def get_stream_link(imbd): real_link = get_real_link(film_link) #let's get delivery link, streaming link streaming_link = get_true_link(real_link) - return streaming_link \ No newline at end of file + return streaming_link +get_stream_link("tt16288804:1:1") \ No newline at end of file