Exemplo n.º 1
0
    def _perform(self, file_, ext):
        url = "https://jerking.empornium.ph/json"
        files = {"source": file_}
        data = {
            "action": "upload",
            "type": "file",
            "auth_token": self.auth_token,
        }

        resp = requests.post(
            url, headers=HEADERS, data=data, cookies=cookies, files=files
        )
        # print(resp.json())
        if resp.status_code == requests.codes.ok:
            try:
                resp_data = resp.json()
                return resp_data["image"]["url"], None
            except ValueError as e:
                raise ImageUploadFailed(
                    f"Failed decoding body:\n{e}\n{resp.content}"
                ) from e
        else:
            raise ImageUploadFailed(
                f"Failed. Status {resp.status_code}:\n{resp.content}"
            )
Exemplo n.º 2
0
def _perform(file_, ext):
    url = "https://mixtape.moe/upload.php"
    files = {"files[0]": file_}

    resp = requests.post(url, headers=HEADERS, files=files)
    if resp.status_code == requests.codes.ok:
        try:
            resp_data = resp.json()
            return resp_data["files"][0]["url"], None
        except ValueError as e:
            raise ImageUploadFailed(
                f"Failed decoding body:\n{e}\n{resp.content}"
            ) from e
    else:
        raise ImageUploadFailed(f"Failed. Status {resp.status_code}:\n{resp.content}")
Exemplo n.º 3
0
 def _perform(self, file_, ext):
     data = {"api_key": config.PTPIMG_KEY}
     url = "https://ptpimg.me/upload.php"
     files = {"file-upload[0]": file_}
     resp = requests.post(url, headers=HEADERS, data=data, files=files)
     if resp.status_code == requests.codes.ok:
         try:
             r = resp.json()[0]
             return f"https://ptpimg.me/{r['code']}.{r['ext']}", None
         except ValueError as e:
             raise ImageUploadFailed(
                 f"Failed decoding body:\n{e}\n{resp.content}") from e
     else:
         raise ImageUploadFailed(
             f"Failed. Status {resp.status_code}:\n{resp.content}")
Exemplo n.º 4
0
def up(filepaths, image_host):
    """Upload images to an image host"""
    with sqlite3.connect(DB_PATH) as conn:
        conn.row_factory = sqlite3.Row
        cursor = conn.cursor()
        urls = []
        upload_function = image_host.ImageUploader().upload_file
        try:
            tasks = [
                loop.run_in_executor(None, lambda f=f: upload_function(f))
                for f in filepaths
            ]
            for url, deletion_url in loop.run_until_complete(
                    asyncio.gather(*tasks)):
                cursor.execute(
                    "INSERT INTO image_uploads (url, deletion_url) VALUES (?, ?)",
                    (url, deletion_url),
                )
                click.secho(url)
                urls.append(url)
            conn.commit()
            if config.COPY_UPLOADED_URL_TO_CLIPBOARD:
                pyperclip.copy("\n".join(urls))
        except (ImageUploadFailed, ValueError) as error:
            click.secho(f"Image Upload Failed. {error}", fg="red")
            raise ImageUploadFailed("Failed to upload image") from error
Exemplo n.º 5
0
def upload_cover(path):
    """
    Search a folder for a cover image, and if found, upload it.
    The image url is returned, otherwise None.
    """
    for filename in os.listdir(path):
        if re.match(r"^(cover|folder)\.(jpe?g|png)$",
                    filename,
                    flags=re.IGNORECASE):
            click.secho(f"Uploading cover to {config.COVER_UPLOADER}...",
                        fg="yellow",
                        nl=False)
            try:
                fpath = os.path.join(path, filename)
                try:
                    url = loop.run_until_complete(
                        loop.run_in_executor(
                            None,
                            lambda: HOSTS[config.COVER_UPLOADER].ImageUploader(
                            ).upload_file(fpath)[0],
                        ))
                except (ImageUploadFailed, ValueError) as error:
                    click.secho(f"Image Upload Failed. {error}", fg="red")
                    raise ImageUploadFailed(
                        "Failed to upload image") from error
            except ImageUploadFailed:
                return click.secho(" failed :(", fg="red")
            click.secho(f" done! {url}", fg="yellow")
            return url
    click.secho(
        f"Did not find a cover to upload to {config.IMAGE_UPLOADER}...",
        fg="red")
Exemplo n.º 6
0
 def _perform(self, file_, ext):
     data = {
         "reqtype": "fileupload",
         'userhash': '',
     }
     url = "https://catbox.moe/user/api.php"
     files = {"fileToUpload": file_}
     resp = requests.post(url, headers=HEADERS, data=data, files=files)
     if resp.status_code == requests.codes.ok:
         try:
             return resp.text, None
         except ValueError as e:
             raise ImageUploadFailed(
                 f"Failed decoding body:\n{e}\n{resp.content}"
             ) from e
     else:
         raise ImageUploadFailed(
             f"Failed. Status {resp.status_code}:\n{resp.content}"
         )