Browse Source

v 2.0.1

main
Fsoky 4 years ago
parent
commit
4d70060c9b
  1. 14
      README.md
  2. 3
      donationalerts_api/donationalerts_api.py
  3. 20
      examples/example_centrifugo.py
  4. 1
      examples/example_real_time.py
  5. 17
      examples/example_sample.py

14
README.md

@ -11,17 +11,17 @@ __pip install donationalerts-api -U__
## 🔥 Простой пример работы
В этом примере мы логинимся в нашем приложении с определенными правами, получаем _access_token_, после в пременной `user` мы получаем JSON-объект, в котором содержится информация, в переменной `donations` тоже хранится информация, только уже другая. И теперь возвращаем нашу переменную `user`
`DonationAlertsApi` - основной класс для работы с DA API, на вход принимает _client_id_, _client_secret_, _redirect_uri_, _scopes_ \
`DonationAlertsAPI` - основной класс для работы с DA API, на вход принимает _client_id_, _client_secret_, _redirect_uri_, _scopes_ \
`Scopes` - позволит вам передать ряд прав в удобном формате, все права можете посмотреть в [оф. документации](https://www.donationalerts.com/apidoc#authorization__scopes), также имеет атрибут _ALL_SCOPES_ для передачи всех прав сразу (Scopes.ALL_SCOPES)
```py
from flask import Flask, redirect, request
from donationalerts_api import DonationAlertsApi
from donationalerts_api import DonationAlertsAPI
from donationalerts_api.modules import Scopes
app = Flask(__name__)
api = DonationAlertsApi("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_INDEX])
api = DonationAlertsAPI("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_INDEX])
@app.route("/", methods=["get"])
@ -79,11 +79,11 @@ __Новое обновление 1.0.9 beta__
```py
from flask import Flask, redirect, request # pip install flask[async]
from donationalerts_api.asyncio_api import DonationAlertsApi, Centrifugo
from donationalerts_api.asyncio_api import DonationAlertsAPI, Centrifugo
from donationalerts_api.modules import Scopes, Channels
app = Flask(__name__)
api = DonationAlertsApi("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_SUBSCRIBE])
api = DonationAlertsAPI("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_SUBSCRIBE])
@app.route("/", methods=["get"])
@ -126,6 +126,4 @@ async def handler(event):
"""
```
Как вы поняли, чтобы работать с асинхронном, нужно импортировать классы из пакета `asyncio_api`.
__Обзор новой версии от автора:__ *скоро...*
Как вы поняли, чтобы работать с асинхронном, нужно импортировать классы из пакета `asyncio_api`.

3
donationalerts_api/donationalerts_api.py

@ -49,8 +49,7 @@ class DonationAlertsAPI:
"scope": self.scope
}
access_token = requests.post(f"{DEFAULT_URL}token", data=payload).json()
self.refresh_token = access_token.get("refresh_token")
obj = requests.post(f"{DEFAULT_URL}token", data=payload).json()
return Data(
obj["access_token"],

20
examples/example_centrifugo.py

@ -1,8 +1,10 @@
from flask import Flask, redirect
from donationalerts_api import DonationAlertsApi, Centrifugo, Scopes, Channels
from flask import Flask, redirect, request
from donationalerts_api import DonationAlertsAPI, Centrifugo
from donationalerts_api.modules import Scopes, Channels
app = Flask(__name__)
api = DonationAlertsApi("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_SUBSCRIBE])
api = DonationAlertsAPI("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_SUBSCRIBE])
@app.route("/", methods=["get"])
@ -12,15 +14,15 @@ def index():
@app.route("/login", methods=["get"])
def login():
code = api.get_code()
code = request.args.get("code")
access_token = api.get_access_token(code)
user = api.get_user(access_token)
user = api.user(access_token)
fugo = Centrifugo(user.socket_connection_token, access_token, user.id)
event = fugo.subscribe(Channels.NEW_DONATION_ALERTS)
fugo = Centrifugo(user["socket_connection_token"], access_token, user["id"])
fugo.connect()
fugo.subscribe(Channels.NEW_DONATION_ALERTS)
return event.objects
return fugo.listen()
if __name__ == "__main__":
app.run(debug=True)

1
examples/example_real_time.py

@ -2,6 +2,7 @@ from donationalerts_api import Alert
alert = Alert("token")
@alert.event()
def new_donation(event):
print(event)

17
examples/example_sample.py

@ -1,8 +1,10 @@
from flask import Flask, redirect
from donationalerts_api import DonationAlertsApi, Scopes
from flask import Flask, redirect, request
from donationalerts_api import DonationAlertsAPI
from donationalerts_api.modules import Scopes
app = Flask(__name__)
api = DonationAlertsApi("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_INDEX])
api = DonationAlertsAPI("client id", "client secret", "http://127.0.0.1:5000/login", [Scopes.USER_SHOW, Scopes.DONATION_INDEX])
@app.route("/", methods=["get"])
@ -12,13 +14,14 @@ def index():
@app.route("/login", methods=["get"])
def login():
code = api.get_code()
code = request.args.get("code")
access_token = api.get_access_token(code)
user = api.get_user(access_token)
donation_list = api.get_donations(access_token)
user = api.user(access_token)
donation_list = api.donations_list(access_token)
return user.objects
return user
if __name__ == "__main__":
app.run(debug=True)
Loading…
Cancel
Save