From b7c7db8a829493491d7d806097b0f81fb8262e5f Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Sat, 29 Aug 2020 20:36:58 +0200 Subject: [PATCH] Update a few things --- pyproject.toml | 2 +- royalpack/commands/fortune.py | 18 +++++-- royalpack/pycharm/test_apis.http | 70 ---------------------------- royalpack/stars/__init__.py | 4 +- royalpack/stars/api_diario_all.py | 22 +++++++++ royalpack/stars/api_diario_list.py | 45 ------------------ royalpack/stars/api_user_ryg.py | 1 + royalpack/stars/api_user_ryg_list.py | 1 + 8 files changed, 42 insertions(+), 121 deletions(-) delete mode 100644 royalpack/pycharm/test_apis.http create mode 100644 royalpack/stars/api_diario_all.py delete mode 100644 royalpack/stars/api_diario_list.py diff --git a/pyproject.toml b/pyproject.toml index b29eb9a3..d145ee11 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [tool.poetry] name = "royalpack" - version = "5.14.3" + version = "5.14.4" description = "A Royalnet command pack for the Royal Games community" authors = ["Stefano Pigozzi "] license = "AGPL-3.0+" diff --git a/royalpack/commands/fortune.py b/royalpack/commands/fortune.py index b4555aaa..142e8e3f 100644 --- a/royalpack/commands/fortune.py +++ b/royalpack/commands/fortune.py @@ -33,8 +33,8 @@ class FortuneCommand(rc.Command): "⭐️ Oggi la stella della RYG ti sembrerà un pochino più dritta!", "⭐️ Oggi la stella della RYG ti sembrerà anche più storta del solito!", "💎 Oggi i tuoi avversari non riusciranno a deflettere i tuoi Emerald Splash!", - "⁉️ Oggi le tue supercazzole prematureranno un po' più a destra!", - "⁉️ Oggi le tue supercazzole prematureranno un po' più a sinistra!", + "⬅️ Oggi le tue supercazzole prematureranno un po' più a sinistra!", + "➡️ Oggi le tue supercazzole prematureranno un po' più a destra!", "🌅 Oggi sarà il giorno dopo ieri e il giorno prima di domani!", "🤖 Oggi il Royal Bot ti dirà qualcosa di molto utile!", "💤 Oggi rischierai di addormentarti più volte!", @@ -47,10 +47,22 @@ class FortuneCommand(rc.Command): "🧻 Oggi fai attenzione alla carta igienica: potrebbe finire!", "🔮 Oggi chiederai a @royalgamesbot di dirti la tua /fortune!", "🧨 Oggi calpesterai delle [url=https://www.youtube.com/watch?v=Zyef3NU3wqk&t=57]mine di Techies[/url]!", + "👽 Oggi incontrerai gli UFI!!!1!!uno!", + "🦾 Oggi uno scienziato pazzo ti proporrà di sostituire il tuo braccio con un braccio-razzo meccanico!", + "🕵️ Oggi una spia in incognito ti chiederà se hai mai visto the Emoji Movie!", + "🍕 Oggi mangerai una margherita doppio pomodoro!", + "🍰 Oggi mangerai una [url=https://www.youtube.com/watch?v=2EWWL3niBWY]torta al gusto di torta[/url]!", + "🥇 Oggi vincerai qualcosa!", + "🏴‍☠️ Oggi salperai i sette mari con la tua ciurma pirata!", + "🕒 Oggi sarà ieri, e domani sarà oggi!", + "🔙 Oggi torneai indietro nel tempo!", + "🚨 Oggi suonerà l'allarme della Velvet Room!", + "♾ Oggi ti sembrerà infinito!", ] async def run(self, args: rc.CommandArgs, data: rc.CommandData) -> None: - author = await data.get_author() + async with data.session_acm() as session: + author = await data.find_author(session=session, required=True) today = datetime.date.today() h = author.uid * hash(today) diff --git a/royalpack/pycharm/test_apis.http b/royalpack/pycharm/test_apis.http deleted file mode 100644 index e51c3cb9..00000000 --- a/royalpack/pycharm/test_apis.http +++ /dev/null @@ -1,70 +0,0 @@ -POST http://localhost:44445/api/login/royalnet/v1 -Content-Type: application/json - -{ - "username": "Steffo", - "password": "ciao" -} - -### - -POST http://localhost:44445/api/token/create/v1 -Content-Type: application/json - -{ - "token": "NFFU4qg6-WxfAWMN-IW6dexEjNcLzNQNZJko2_pbTsE", - "duration": 31536000 -} - -### - -GET http://localhost:44445/api/bio/get/v1 -Content-Type: application/json - -{ - "token": "NFFU4qg6-WxfAWMN-IW6dexEjNcLzNQNZJko2_pbTsE", - "id": 1 -} - -### - -POST http://localhost:44445/api/bio/set/v1 -Content-Type: application/json - -{ - "token": "NFFU4qg6-WxfAWMN-IW6dexEjNcLzNQNZJko2_pbTsE", - "contents": "Ciao!" -} - -### - -GET http://localhost:44445/api/wiki/list/v1 - -### - -POST http://localhost:44445/api/wiki/edit/v1 -Content-Type: application/json - -{ - "token": "NFFU4qg6-WxfAWMN-IW6dexEjNcLzNQNZJko2_pbTsE", - "title": "Prova!", - "contents": "Questa è una pagina wiki di prova.", - "format": "text", - "theme": "default" -} - -### - -POST http://localhost:44445/api/wiki/edit/v1 -Content-Type: application/json - -{ - "id": "80d54849-fab1-4458-9d89-2429773118ef", - "token": "NFFU4qg6-WxfAWMN-IW6dexEjNcLzNQNZJko2_pbTsE", - "title": "Prova2", - "contents": "Questa è una pagina wiki di prova2.", - "format": "text", - "theme": "default" -} - -### diff --git a/royalpack/stars/__init__.py b/royalpack/stars/__init__.py index bc24a864..393ead1d 100644 --- a/royalpack/stars/__init__.py +++ b/royalpack/stars/__init__.py @@ -1,7 +1,7 @@ # Imports go here! from .api_bio import ApiBioSetStar from .api_diario import ApiDiarioGetStar -from .api_diario_list import ApiDiarioPagesStar +from .api_diario_all import ApiDiarioAllStar from .api_discord_cv import ApiDiscordCvStar from .api_fiorygi import ApiFiorygiStar from .api_diario_random import ApiDiarioRandomStar @@ -18,7 +18,7 @@ from .api_auth_login_osu import ApiAuthLoginOsuStar available_page_stars = [ ApiBioSetStar, ApiDiarioGetStar, - ApiDiarioPagesStar, + ApiDiarioAllStar, ApiDiscordCvStar, ApiFiorygiStar, ApiDiarioRandomStar, diff --git a/royalpack/stars/api_diario_all.py b/royalpack/stars/api_diario_all.py new file mode 100644 index 00000000..cfd2b36c --- /dev/null +++ b/royalpack/stars/api_diario_all.py @@ -0,0 +1,22 @@ +from typing import * +import royalnet.constellation.api as rca +import royalnet.utils as ru +from ..tables import * + + +class ApiDiarioAllStar(rca.ApiStar): + path = "/api/diario/all/v2" + + tags = ["diario"] + + @rca.magic + async def get(self, data: rca.ApiData) -> ru.JSON: + """Get all diario entries.""" + entries: List[Diario] = await ru.asyncify( + data.session + .query(self.alchemy.get(Diario)) + .order_by(self.alchemy.get(Diario).diario_id) + .all + ) + response = [entry.json() for entry in entries] + return response diff --git a/royalpack/stars/api_diario_list.py b/royalpack/stars/api_diario_list.py deleted file mode 100644 index 7bc47f50..00000000 --- a/royalpack/stars/api_diario_list.py +++ /dev/null @@ -1,45 +0,0 @@ -from typing import * -import royalnet.constellation.api as rca -import royalnet.utils as ru -from ..tables import * - - -class ApiDiarioPagesStar(rca.ApiStar): - path = "/api/diario/pages/v1" - - parameters = { - "get": { - "page": "The diario page you want to get. Can be negative to get the entries in reverse order." - } - } - - tags = ["diario"] - - @rca.magic - async def get(self, data: rca.ApiData) -> ru.JSON: - """Get a diario page made of up to 500 diario entries.""" - page_str = data["page"] - try: - page = int(page_str) - except ValueError: - raise rca.InvalidParameterError("'page' is not a valid int.") - if page < 0: - page = -page-1 - entries: List[Diario] = await ru.asyncify( - data.session - .query(self.alchemy.get(Diario)) - .order_by(self.alchemy.get(Diario).diario_id.desc()).limit(500) - .offset(page * 500) - .all - ) - else: - entries: List[Diario] = await ru.asyncify( - data.session - .query(self.alchemy.get(Diario)) - .order_by(self.alchemy.get(Diario).diario_id) - .limit(500) - .offset(page * 500) - .all - ) - response = [entry.json() for entry in entries] - return response diff --git a/royalpack/stars/api_user_ryg.py b/royalpack/stars/api_user_ryg.py index 5f0b42ea..b0aff9b1 100644 --- a/royalpack/stars/api_user_ryg.py +++ b/royalpack/stars/api_user_ryg.py @@ -40,6 +40,7 @@ class ApiUserRygStar(rca.ApiStar): "fiorygi": user.fiorygi.fiorygi if user.fiorygi is not None else None, "steam": [steam.json() for steam in user.steam], "leagueoflegends": [leagueoflegends.json() for leagueoflegends in user.leagueoflegends], + "osu": [osu.json() for osu in user.osu], "trivia": user.trivia_score.json() if user.trivia_score is not None else None } return result diff --git a/royalpack/stars/api_user_ryg_list.py b/royalpack/stars/api_user_ryg_list.py index 13dba55b..9cd53231 100644 --- a/royalpack/stars/api_user_ryg_list.py +++ b/royalpack/stars/api_user_ryg_list.py @@ -19,5 +19,6 @@ class ApiUserRygListStar(rca.ApiStar): "fiorygi": user.fiorygi.fiorygi if user.fiorygi is not None else None, "steam": [steam.json() for steam in user.steam], "leagueoflegends": [leagueoflegends.json() for leagueoflegends in user.leagueoflegends], + "osu": [osu.json() for osu in user.osu], "trivia": user.trivia_score.json() if user.trivia_score is not None else None } for user in users]