mirror of
https://github.com/yasirarism/MissKatyPyro.git
synced 2025-12-29 17:44:50 +00:00
Update pypi_search.py
Signed-off-by: Yasir Aris M <git@yasir.id>
This commit is contained in:
parent
2fec8d5772
commit
b374614cce
1 changed files with 32 additions and 11 deletions
|
|
@ -50,20 +50,41 @@ async def pypi_s(_, ctx: Message):
|
|||
"Please add query after command. Ex: <code>/pypi pyrogram</code>", del_in=6
|
||||
)
|
||||
pesan = await ctx.reply_msg("⏳ Please wait, getting data from pypi..", quote=True)
|
||||
CurrentPage = 1
|
||||
pypires, PageLen, btn = await getDataPypi(
|
||||
pesan, kueri, CurrentPage, ctx.from_user.id
|
||||
html = await fetch.get(f"https://pypi.org/pypi/{pkgname}/json")
|
||||
if html.status_code != 200:
|
||||
return await pesan.edit_msg("Failed connect fo pypi server")
|
||||
res = html.json()
|
||||
requirement = (
|
||||
"".join(f"{i}, " for i in res["info"].get("requires_dist"))
|
||||
if res["info"].get("requires_dist")
|
||||
else "Unknown"
|
||||
)
|
||||
if not pypires:
|
||||
return
|
||||
msg = ""
|
||||
msg += f"<b>Package Name:</b> {res['info'].get('name', 'Unknown')}\n"
|
||||
msg += f"<b>Version:</b> {res['info'].get('version', 'Unknown')}\n"
|
||||
msg += f"<b>License:</b> {res['info'].get('license', 'Unknown')}\n"
|
||||
msg += f"<b>Author:</b> {res['info'].get('author', 'Unknown')}\n"
|
||||
msg += f"<b>Author Email:</b> {res['info'].get('author_email', 'Unknown')}\n"
|
||||
msg += f"<b>Requirements:</b> {requirement}\n"
|
||||
msg += (
|
||||
f"<b>Requires Python:</b> {res['info'].get('requires_python', 'Unknown')}\n"
|
||||
)
|
||||
msg += f"<b>HomePage:</b> {res['info'].get('home_page', 'Unknown')}\n"
|
||||
msg += f"<b>Bug Track:</b> {res['info'].get('vulnerabilities', 'Unknown')}\n"
|
||||
if res["info"].get("project_urls"):
|
||||
msg += f"<b>Docs Url:</b> {res['info']['project_urls'].get('Documentation', 'Unknown')}\n"
|
||||
msg += f"<b>Description:</b> {res['info'].get('summary', 'Unknown')}\n"
|
||||
msg += (
|
||||
f"<b>Pip Command:</b> pip3 install {res['info'].get('name', 'Unknown')}\n"
|
||||
)
|
||||
msg += f"<b>Keywords:</b> {res['info'].get('keywords', 'Unknown')}\n"
|
||||
keyboard = InlineKeyboard()
|
||||
keyboard.paginate(
|
||||
PageLen, CurrentPage, "page_pypi#{number}" + f"#{pesan.id}#{ctx.from_user.id}"
|
||||
)
|
||||
keyboard.row(InlineButton("👇 Get Info ", "Hmmm"))
|
||||
keyboard.row(*btn)
|
||||
keyboard.row(InlineButton("❌ Close", f"close#{ctx.from_user.id}"))
|
||||
try:
|
||||
await pesan.edit_msg(pypires, reply_markup=keyboard)
|
||||
except MessageTooLong:
|
||||
url = await post_to_telegraph(False, f"{pkgname}-detail", msg)
|
||||
await pesan.edit_msg(f"Result is too long:\n{url}", reply_markup=keyboard)
|
||||
|
||||
|
||||
@app.on_callback_query(filters.create(lambda _, __, query: "page_pypi#" in query.data))
|
||||
|
|
|
|||
Loading…
Reference in a new issue