Skip to main content

python client for yemot api module and yemot rest api

Project description

from typing import Annotated, Literal

from fastapi import Depends, FastAPI, HTTPException, Request, responses

from yemot_api.api_model import ApiModel
from yemot_api.api_response import id_list_message_text, join, routing_yemot
from yemot_api.input_types import FileAction
from yemot_api.yemot_api import Yemot


def verify_yemot(request: Request) -> Literal[True]:
    user_agent = request.headers.get("user-agent")
    if user_agent != "yemot-core-api/1.0":
        raise HTTPException(status_code=403, detail=f"Access denied: {user_agent}")
    return True


class ApiModelExample(ApiModel):
    path: str
    token: str


# app = FastAPI(dependencies=[Depends(verify_yemot)])
app = FastAPI()


@app.get("/foo")
def foo(q: Annotated[ApiModelExample, Depends()]) -> responses.PlainTextResponse:
    yemot_ins = Yemot(q.token)
    if not yemot_ins.check_if_file_exists(q.path):
        return responses.PlainTextResponse("ERROR", 404)
    content = yemot_ins.download_file(q.path)
    with open("testtt.wav", "wb") as f:
        f.write(content)
    yemot_ins.file_action(FileAction.MOVE, q.path, "1")
    res_1 = id_list_message_text("הנך מועבר למערכת אחרת")
    res_2 = routing_yemot("0773137770")
    res = join(res_1, res_2)
    return responses.PlainTextResponse(res, 200)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yemot_api-0.1.24.tar.gz (65.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yemot_api-0.1.24-py3-none-any.whl (49.9 kB view details)

Uploaded Python 3

File details

Details for the file yemot_api-0.1.24.tar.gz.

File metadata

  • Download URL: yemot_api-0.1.24.tar.gz
  • Upload date:
  • Size: 65.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for yemot_api-0.1.24.tar.gz
Algorithm Hash digest
SHA256 f54f032f5bc7d5ecec0224ef82ba46006546ca2deb323c8fb71934acb74bdfe8
MD5 edecae9b2534e4dfb36af9369039b71c
BLAKE2b-256 c9cf6dd7723cef7b657936069477b7dda31a0b27c545da9b4f8464c7cf23539c

See more details on using hashes here.

File details

Details for the file yemot_api-0.1.24-py3-none-any.whl.

File metadata

  • Download URL: yemot_api-0.1.24-py3-none-any.whl
  • Upload date:
  • Size: 49.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for yemot_api-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 fdf9010e22d09240a656b5c1b4f10afa06815c2c6fdd4fbafbe31db2d9ae58e9
MD5 2179161118c71dd50884799060583d9a
BLAKE2b-256 13be79ba5d074ea525011d1783ae989630fcef347c5cdd062e3602f2aff9c64c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page