示例#1
0
def upimg_delete(sha, upload_path, filename, basedir, save_result):
    content_sha = save_result["content_sha"]
    #: 图片保存时所在的branch
    branch = save_result["branch"]
    repo = save_result["repo"]
    if content_sha:
        token = g.cfg.gitee_token
        gitee_basedir = g.cfg.gitee_basedir or '/'
        if gitee_basedir.startswith("/"):
            gitee_basedir = gitee_basedir.lstrip('/')
        filepath = join(basedir or gitee_basedir, upload_path, filename)
        params = dict(
            message="Delete %s by picbed" % filepath,
            sha=content_sha,
            access_token=token,
        )
        if branch:
            params["branch"] = branch
        headers = {
            "User-Agent": "picbed-up2gitee/%s" % __version__,
        }
        try_request(
            "https://gitee.com/api/v5/repos/%s/contents/%s" % (
                repo, filepath
            ),
            params=params,
            headers=headers,
            timeout=10,
            method="delete",
        )
示例#2
0
def upimg_delete(sha, upload_path, filename, basedir, save_result):
    content_sha = save_result["content_sha"]
    #: 图片保存时所在的branch
    branch = save_result["branch"]
    repo = save_result["repo"]
    if content_sha:
        token = g.cfg.github_token
        github_basedir = g.cfg.github_basedir or '/'
        if github_basedir.startswith("/"):
            github_basedir = github_basedir.lstrip('/')
        filepath = join(basedir or github_basedir, upload_path, filename)
        data = dict(
            message="Delete %s by picbed" % filepath,
            sha=content_sha,
        )
        if branch:
            data["branch"] = branch
        headers = {
            "User-Agent": "picbed-up2github/%s" % __version__,
            "Authorization": "token %s" % token
        }
        try_request(
            "https://api.github.com/repos/%s/contents/%s" % (
                repo, filepath
            ),
            data=json.dumps(data),
            headers=headers,
            timeout=10,
            method="delete",
        )
示例#3
0
文件: sendmail.py 项目: xlc520/picbed
def _saintic_open(TOKEN, subject, html, to, from_name=""):
    url = "https://open.saintic.com/api/sendmail"
    data = dict(
        token=TOKEN,
        from_name=from_name,
        to=to,
        subject=subject,
        html=html,
    )
    r = try_request(url, data=data)
    return r.json()
示例#4
0
文件: sendmail.py 项目: xlc520/picbed
def _sendcloud(API_USER, API_KEY, subject, html, to, from_addr, from_name=""):
    url = "https://api.sendcloud.net/apiv2/mail/send"
    data = {
        "apiUser": API_USER,
        "apiKey": API_KEY,
        "from": from_addr,
        "fromName": from_name,
        "to": to.replace(",", ";"),
        "subject": subject,
        "html": html,
    }
    r = try_request(url, data=data)
    return r.json()
示例#5
0
def upimg_save(**kwargs):
    res = dict(code=1)
    try:
        filename = kwargs["filename"]
        stream = kwargs["stream"]
        upload_path = kwargs.get("upload_path") or ""
        if not filename or not stream:
            return ValueError
    except (KeyError, ValueError):
        res.update(msg="Parameter error")
    else:
        token = g.cfg.gitee_token
        repo = g.cfg.gitee_repo
        branch = g.cfg.gitee_branch
        dn = g.cfg.gitee_dn
        gitee_basedir = g.cfg.gitee_basedir or '/'
        if not token or not repo or "/" not in repo:
            res.update(msg="The gitee parameter error")
            return res
        if isinstance(upload_path, string_types):
            if upload_path.startswith("/"):
                upload_path = upload_path.lstrip('/')
            if gitee_basedir.startswith("/"):
                gitee_basedir = gitee_basedir.lstrip('/')
            saveto = join(gitee_basedir, upload_path)
            filepath = join(saveto, filename)
            #: 通过API上传图片
            data = dict(
                message="Create %s by picbed" % filepath,
                content=b64encode(stream).decode("utf-8"),
                access_token=token,
            )
            if branch:
                data["branch"] = branch
            headers = {
                "User-Agent": "picbed-up2gitee/%s" % __version__,
            }
            try:
                r = try_request(
                    "https://gitee.com/api/v5/repos/%s/contents/%s" % (
                        repo, filepath
                    ),
                    data=data,
                    headers=headers,
                    timeout=30,
                    method="post"
                )
            except requests.exceptions.RequestException as e:
                res.update(msg=e)
            else:
                result = r.json()
                if r.status_code == 201:
                    content = result["content"]
                    src = content["download_url"]
                    if dn:
                        src = slash_join(dn, filepath)
                    res.update(
                        code=0,
                        src=src,
                        basedir=gitee_basedir,
                        branch=branch,
                        size=content["size"],
                        content_sha=content["sha"],
                        download_url=content["download_url"],
                        repo=repo,
                    )
                else:
                    res.update(
                        code=r.status_code,
                        msg=result.get("message", "").replace(
                            '"', '\''
                        ).replace('\n\n', ' ').replace('\n', '').replace(
                            '\\', ''
                        ),
                    )
        else:
            res.update(msg="The upload_path type error")
    return res