Merge pull request #249 from nikhilbadyal/status-check

👷 Generate issue with image
This commit is contained in:
Nikhil Badyal
2023-08-06 06:31:08 -07:00
committed by GitHub
2 changed files with 53 additions and 4 deletions
+5 -1
View File
@@ -25,9 +25,13 @@ jobs:
- name: Execute Status Check
run: |
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
output=$(python -m scripts.status_check)
echo "changelog=$output" >>$GITHUB_OUTPUT
echo "changelog<<$EOF" >> $GITHUB_OUTPUT
echo "$output" >> $GITHUB_OUTPUT
echo "$EOF" >> $GITHUB_OUTPUT
id: status
- name: Update Check
run: echo "${{ steps.status.outputs.changelog }}"
+47 -2
View File
@@ -1,10 +1,46 @@
"""Status check."""
from typing import List
import requests
from bs4 import BeautifulSoup
from src.patches import Patches
from src.utils import handle_response
not_found_icon = "https://img.icons8.com/bubbles/500/android-os.png"
def gplay_icon_scrapper(package_name: str) -> str:
"""Scrap Icon from Gplay."""
# noinspection PyBroadException
try:
app_url = (
f"https://play.google.com/store/apps/details?id={package_name}&hl=en&gl=US"
)
response = requests.get(app_url)
soup = BeautifulSoup(response.text, "html.parser")
icon = soup.select_one("div.Il7kR > img")
return str(icon["srcset"].split(" ")[0])
except Exception:
return not_found_icon
def generate_markdown_table(data: List[List[str]]) -> str:
"""Generate table."""
if len(data) == 0:
return "No data to generate table."
table = "| Package Name | PlayStore link | APKMirror link| Supported ?|\n"
table += "|-------------|----------------|---------------|------------|\n"
for row in data:
if len(row) != 3:
raise ValueError("Each row must contain 4 columns of data.")
table += f"| {row[0]} | {row[1]} | {row[2]} | <li>- [ ] </li> |\n"
return table
def main() -> None:
repo_url = "https://api.revanced.app/v2/patches/latest"
@@ -21,9 +57,18 @@ def main() -> None:
supported_app = set(Patches.support_app().keys())
missing_support = possible_apps.difference(supported_app)
output = "New app found which aren't supported yet.<br>"
output = "New app found which aren't supported yet.\n\n"
data = []
for index, app in enumerate(missing_support):
output += f"{index+1}. [{app}](https://play.google.com/store/apps/details?id={app})<br>"
data.append(
[
f'<img src="{gplay_icon_scrapper(app)}" width=50 height=50>',
f"[PlayStore Link](https://play.google.com/store/apps/details?id={app})",
f"[APKMirror Link](https://www.apkmirror.com/?s={app})",
]
)
table = generate_markdown_table(data)
output += table
print(output)