Soup!
This commit is contained in:
@@ -65,6 +65,7 @@ DOC
|
|||||||
};
|
};
|
||||||
|
|
||||||
devShells.default = pkgs.mkShell {
|
devShells.default = pkgs.mkShell {
|
||||||
|
PYPROJECT_FILE = ./pyproject.toml;
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
poetry2nix.packages.${system}.poetry
|
poetry2nix.packages.${system}.poetry
|
||||||
(mkPoetryEnv {
|
(mkPoetryEnv {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ from typing import Optional
|
|||||||
import asyncio
|
import asyncio
|
||||||
import os
|
import os
|
||||||
import requests as req
|
import requests as req
|
||||||
|
from bs4 import BeautifulSoup as soup
|
||||||
|
|
||||||
bot = commands.Bot()
|
bot = commands.Bot()
|
||||||
|
|
||||||
@@ -12,7 +13,16 @@ async def search(txt):
|
|||||||
'request':txt
|
'request':txt
|
||||||
})
|
})
|
||||||
|
|
||||||
return resp
|
doc = soup(resp.text, 'html_parser')
|
||||||
|
|
||||||
|
if 'not found' in doc.title:
|
||||||
|
return None
|
||||||
|
|
||||||
|
ref = doc.find("div", {'id': 'citation'}).get_text()
|
||||||
|
|
||||||
|
return {
|
||||||
|
'ref': ref
|
||||||
|
}
|
||||||
|
|
||||||
@bot.event
|
@bot.event
|
||||||
async def on_ready():
|
async def on_ready():
|
||||||
@@ -28,11 +38,11 @@ async def summarize(
|
|||||||
|
|
||||||
resp = await search(article)
|
resp = await search(article)
|
||||||
|
|
||||||
await interaction.followup.send(f"""Search Response:
|
if resp is None:
|
||||||
```
|
await interaction.followup.send(f"Unable to find article: {article}")
|
||||||
{resp.text[:1000]}
|
return
|
||||||
```
|
|
||||||
""")
|
await interaction.followup.send(f"Article Found: \n{resp['ref']}")
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
# TODO: Import bot token from env
|
# TODO: Import bot token from env
|
||||||
|
|||||||
33
poetry.lock
generated
33
poetry.lock
generated
@@ -197,6 +197,25 @@ files = [
|
|||||||
{file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
|
{file = "backcall-0.2.0.tar.gz", hash = "sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "beautifulsoup4"
|
||||||
|
version = "4.11.2"
|
||||||
|
description = "Screen-scraping library"
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6.0"
|
||||||
|
files = [
|
||||||
|
{file = "beautifulsoup4-4.11.2-py3-none-any.whl", hash = "sha256:0e79446b10b3ecb499c1556f7e228a53e64a2bfcebd455f370d8927cb5b59e39"},
|
||||||
|
{file = "beautifulsoup4-4.11.2.tar.gz", hash = "sha256:bc4bdda6717de5a2987436fb8d72f45dc90dd856bdfd512a1314ce90349a0106"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
soupsieve = ">1.2"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
html5lib = ["html5lib"]
|
||||||
|
lxml = ["lxml"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "certifi"
|
name = "certifi"
|
||||||
version = "2022.12.7"
|
version = "2022.12.7"
|
||||||
@@ -861,6 +880,18 @@ files = [
|
|||||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "soupsieve"
|
||||||
|
version = "2.4"
|
||||||
|
description = "A modern CSS selector implementation for Beautiful Soup."
|
||||||
|
category = "main"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "soupsieve-2.4-py3-none-any.whl", hash = "sha256:49e5368c2cda80ee7e84da9dbe3e110b70a4575f196efb74e51b94549d921955"},
|
||||||
|
{file = "soupsieve-2.4.tar.gz", hash = "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "stack-data"
|
name = "stack-data"
|
||||||
version = "0.6.2"
|
version = "0.6.2"
|
||||||
@@ -1125,4 +1156,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.10"
|
python-versions = "^3.10"
|
||||||
content-hash = "0430177a1a511ae2bf15ad52cb128b5f18ec59dd2462e0a6e9bf907426f45aa1"
|
content-hash = "270b70e2eeff44e2b0bb07902f333dcbc45bb8c453a16769f9fd45b5a70c4993"
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ python = "^3.10"
|
|||||||
requests = "^2.28.2"
|
requests = "^2.28.2"
|
||||||
nextcord = "^2.4.1"
|
nextcord = "^2.4.1"
|
||||||
openai = "^0.27.2"
|
openai = "^0.27.2"
|
||||||
|
beautifulsoup4 = "^4.11.2"
|
||||||
|
|
||||||
[tool.poetry.group.dev.dependencies]
|
[tool.poetry.group.dev.dependencies]
|
||||||
ipython = "^8.11.0"
|
ipython = "^8.11.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user