Skip to content

Commit

Permalink
rename app to client
Browse files Browse the repository at this point in the history
  • Loading branch information
nastaran78 committed Jul 2, 2024
1 parent e9530e2 commit f416390
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 17 deletions.
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,36 @@ pip install Kenar
- [نمونه سرچ آگهی با فیلتر، دریافت اطلاعات یک آگهی، آگهی های کاربر و اطلاعات شماره تلفن کاربر](https://github.com/divar-ir/kenar-api/blob/main/samples/sample_finder.py)
- [نمونه ارسال پیام در چت و اجازه دریافت پیام ها روی یک آگهی](https://github.com/divar-ir/kenar-api/blob/main/samples/sample_chat.py)

به عنوان نمونه ، برای ساخت کلاینت کنار، نیاز است متغیر های محیطی `KENAR_APP_SLUG` (با مقدار برابر با شناسه یکتای برنامه) و `KENAR_API_KEY`(برابر با کلید محرمانه دریافت شده برای برنامه) ، `KENAR_OAUTH_SECRET` (برابر با کلید محرمانه ی OAuth) و `KENAR_OAUTH_REDIRECT_URL` (برابر با لینک بازگشت احراز باز) ست شوند و از طریق نمونه کد زیر کلاینت ساخته شود.


<div dir="ltr">

```python
import os
from kenar import ClientConfig, Client

client_conf = ClientConfig(
app_slug=os.environ.get("KENAR_APP_SLUG"),
api_key=os.environ.get("KENAR_API_KEY"),
oauth_secret=os.environ.get("KENAR_OAUTH_SECRET"),
oauth_redirect_url=os.environ.get("KENAR_OAUTH_REDIRECT_URL"),
)

kenar_client = Client(client_conf)
```
</div>

پس از ساخت کلاینت میتوان از تمام سرویس های نام برده ، با فراخوانی property مربوطه ، استفاده کرد. به عنوان مثال برای آپلود عکس میتوان از کد زیر بهره گرفت:

<div dir="ltr">

```python
rsp = kenar_client.addon.upload_image("PATH_TO_FILE")
```

</div>

## پیشنهادات برای بهبود
پذیرای هر گونه پیشنهادات شما برای بهتر کردن این کتاب‌خانه هستیم. در قسمت [issues](https://github.com/divar-ir/kenar-api/issues) پروژه میتوانید مسائل خود را با ما مطرح کنید.

Expand Down
2 changes: 1 addition & 1 deletion kenar/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from .addon import *
from .app import AppConfig, KenarApp
from .app import ClientConfig, Client
from .chatmessage import *
from .finder import *
from .icons import *
Expand Down
6 changes: 3 additions & 3 deletions kenar/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
ACCESS_TOKEN_HEADER_NAME = "x-access-token"


class AppConfig(BaseModel):
class ClientConfig(BaseModel):
app_slug: str
api_key: str
oauth_secret: str
Expand Down Expand Up @@ -342,8 +342,8 @@ def get_send_message_resource_id(params: SendChatMessageResourceIdParams) -> str
).decode("utf-8")


class KenarApp:
def __init__(self, conf: AppConfig):
class Client:
def __init__(self, conf: ClientConfig):
if not conf.api_key:
raise ValueError("the KENAR_API_KEY environment variable must be set")
if not conf.app_slug:
Expand Down
20 changes: 10 additions & 10 deletions samples/sample_addon.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
from samples.sample_app import app

if __name__ == "__main__":
rsp = app.addon.upload_image("PATH_TO_FILE")
rsp = app.addon.upload_image("/Users/nastaran/Downloads/s.jpg")
print(rsp.image_name)
image_name = rsp.image_name

Expand Down Expand Up @@ -142,9 +142,9 @@
)

resp = app.addon.create_post_addon(
access_token="ACCESS_TOKEN_HERE",
access_token="ory_at_PB9eAI5jIEZU6J7ic1mNDoxaNsvgfZHIujMAWAm1LMk.sPxBtAsxGMV-mJiKron_FZpjyvrhlNoUJM-J3_Ne840",
data=CreatePostAddonRequest(
token="POST_TOKEN_HERE",
token="gZW5uQcs",
widgets=[
title_row,
subtitle_row,
Expand All @@ -159,21 +159,21 @@
)
print(resp)

resp = app.addon.get_post_addons(data=GetPostAddonsRequest(token="POST_TOKEN_HERE"))
resp = app.addon.get_post_addons(data=GetPostAddonsRequest(token="gZW5uQcs"))
print(resp)

resp = app.addon.delete_post_addon(
data=DeletePostAddonRequest(token="POST_TOKEN_HERE")
data=DeletePostAddonRequest(token="gZW5uQcs")
)
print(resp)

resp = app.addon.get_post_addons(data=GetPostAddonsRequest(token="POST_TOKEN_HERE"))
resp = app.addon.get_post_addons(data=GetPostAddonsRequest(token="gZW5uQcs"))
print(resp)

resp = app.addon.create_user_addon(
access_token="ACCESS_TOKEN_HERE",
access_token="ory_at_PB9eAI5jIEZU6J7ic1mNDoxaNsvgfZHIujMAWAm1LMk.sPxBtAsxGMV-mJiKron_FZpjyvrhlNoUJM-J3_Ne840",
data=CreateUserAddonRequest(
phone="USER_PHONE_HERE",
phone="09035718581",
widgets=[desc_row],
notes="test note",
categories=[],
Expand All @@ -182,11 +182,11 @@
print(resp)
user_addon_id = resp.id

resp = app.addon.get_user_addons(data=GetUserAddonsRequest(phone="USER_PHONE_HERE"))
resp = app.addon.get_user_addons(data=GetUserAddonsRequest(phone="09035718581"))
print(resp)

resp = app.addon.delete_user_addon(data=DeleteUserAddonRequest(id=user_addon_id))
print(resp)

resp = app.addon.get_user_addons(data=GetUserAddonsRequest(phone="USER_PHONE_HERE"))
resp = app.addon.get_user_addons(data=GetUserAddonsRequest(phone="09035718581"))
print(resp)
6 changes: 3 additions & 3 deletions samples/sample_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,17 @@

from dotenv import load_dotenv

from kenar import AppConfig, KenarApp
from kenar import ClientConfig, Client

load_dotenv()

logging.basicConfig(level=logging.INFO)

app_conf = AppConfig(
client_conf = ClientConfig(
app_slug=os.environ.get("KENAR_APP_SLUG"),
api_key=os.environ.get("KENAR_API_KEY"),
oauth_secret=os.environ.get("KENAR_OAUTH_SECRET"),
oauth_redirect_url=os.environ.get("KENAR_OAUTH_REDIRECT_URL"),
)

app = KenarApp(app_conf)
app = Client(client_conf)

0 comments on commit f416390

Please sign in to comment.