upload hashed file
This commit is contained in:
parent
c296d77ceb
commit
839f108518
3
hikari/__main__.py
Normal file
3
hikari/__main__.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from .hikari import main
|
||||
|
||||
main()
|
|
@ -7,7 +7,9 @@ import pyperclip
|
|||
import requests
|
||||
import typer
|
||||
|
||||
HIKARI_URL = "https://hikari.butaishoujo.moe/upload"
|
||||
|
||||
HIKARI_BASE = "https://hikari.butaishoujo.moe"
|
||||
HIKARI_URL = f"{HIKARI_BASE}/upload"
|
||||
|
||||
|
||||
def upload(file: Path,
|
||||
|
@ -22,6 +24,10 @@ def upload(file: Path,
|
|||
copy: bool = typer.Option(
|
||||
False, "--copy", "-c",
|
||||
help="Copy file URL to clipboard."
|
||||
),
|
||||
hash: bool = typer.Option(
|
||||
False, "--hash", "-h",
|
||||
help="Hash file before uploading to avoid having to send the whole file twice."
|
||||
)):
|
||||
|
||||
if copy:
|
||||
|
@ -32,9 +38,21 @@ def upload(file: Path,
|
|||
elif filename is None:
|
||||
filename = file.name
|
||||
|
||||
if hash:
|
||||
h = hashlib.sha256()
|
||||
with file.open('br') as f:
|
||||
while buf := f.read(1024**2):
|
||||
h.update(buf)
|
||||
|
||||
h.hexdigest()[:8]
|
||||
url = f"{HIKARI_URL}/{h.hexdigest()[:8]}"
|
||||
else:
|
||||
url = HIKARI_URL
|
||||
|
||||
with file.open('br') as f:
|
||||
files = {'file': (filename, f)}
|
||||
with requests.post(HIKARI_URL, files=files, stream=True) as req:
|
||||
|
||||
with requests.post(url, files=files, stream=True) as req:
|
||||
resp = req.raw.read()
|
||||
data = orjson.loads(resp)
|
||||
|
||||
|
|
Loading…
Reference in a new issue