1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00

Initial commit

This commit is contained in:
Steffo 2020-01-14 19:33:23 +01:00
commit 5b8972fbb9
14 changed files with 237 additions and 0 deletions

31
.gitignore vendored Normal file
View file

@ -0,0 +1,31 @@
# Royalnet ignores
config*.toml
downloads/
# Python ignores
**/__pycache__/
dist/
*.egg-info/
**/*.pyc
# PyCharm ignores
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
.idea/**/contentModel.xml
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
.idea/**/gradle.xml
.idea/**/libraries
.idea/**/markdown-navigator.xml
.idea/**/markdown-exported-files.xml
.idea/**/misc.xml
.idea/**/*.iml

5
README.md Normal file
View file

@ -0,0 +1,5 @@
# `examplepack`
This is an example Pack for [Royalnet](https://github.com/Steffo99/royalnet)!
> To be updated with more info on how to create your own pack.

21
examplepack/__init__.py Normal file
View file

@ -0,0 +1,21 @@
# This file should not need to be changed.
from . import commands, tables, stars, events
from .commands import available_commands
from .tables import available_tables
from .stars import available_page_stars, available_exception_stars
from .events import available_events
from .version import semantic as __version__
__all__ = [
"commands",
"tables",
"stars",
"events",
"available_commands",
"available_tables",
"available_page_stars",
"available_exception_stars",
"available_events",
]

View file

@ -0,0 +1,12 @@
# Imports go here!
# TODO: If you create a new command, remember to import it here...
from .example import ExampleCommand
# Enter the commands of your Pack here!
# TODO: and add it to the list here!
available_commands = [
ExampleCommand,
]
# Don't change this, it should automatically generate __all__
__all__ = [command.__name__ for command in available_commands]

View file

@ -0,0 +1,12 @@
from typing import *
from royalnet.commands import *
from royalnet.utils import *
class ExampleCommand(Command):
name: str = "example"
description: str = "Say Hello to the world!"
async def run(self, args: CommandArgs, data: CommandData) -> None:
await data.reply("Hello world!")

View file

@ -0,0 +1,12 @@
# Imports go here!
# TODO: If you create a new event, remember to import it here...
from .example import ExampleEvent
# Enter the commands of your Pack here!
# TODO: and add it to the list here!
available_events = [
ExampleEvent,
]
# Don't change this, it should automatically generate __all__
__all__ = [command.__name__ for command in available_events]

View file

@ -0,0 +1,10 @@
from typing import *
from royalnet.commands import *
from royalnet.utils import *
class ExampleEvent(Event):
name = "example"
async def run(self, **kwargs) -> dict:
return {"hello": "world"}

View file

@ -0,0 +1,19 @@
# Imports go here!
# TODO: If you create a new star, remember to import it here...
from .api_example import ApiExampleStar
from .api_excsample import ApiExcsampleStar
# Enter the PageStars of your Pack here!
# TODO: and to add it either to the list here if it is a PageStar...
available_page_stars = [
ApiExampleStar,
]
# Enter the ExceptionStars of your Pack here!
# TODO: or to the list here if it is an ExceptionStar!
available_exception_stars = [
ApiExcsampleStar,
]
# Don't change this, it should automatically generate __all__
__all__ = [command.__name__ for command in [*available_page_stars, *available_exception_stars]]

View file

@ -0,0 +1,13 @@
from starlette.requests import Request
from starlette.responses import *
from royalnet.constellation import *
from royalnet.utils import *
class ApiExampleStar(PageStar):
path = "/api/example"
async def page(self, request: Request) -> JSONResponse:
return JSONResponse({
"hello": "world",
})

View file

@ -0,0 +1,13 @@
from starlette.requests import Request
from starlette.responses import *
from royalnet.constellation import *
from royalnet.utils import *
class ApiExcsampleStar(ExceptionStar):
error = 404
async def page(self, request: Request) -> JSONResponse:
return JSONResponse({
"error": "404 not found",
})

View file

@ -0,0 +1,10 @@
# Imports go here!
# Enter the tables of your Pack here!
available_tables = [
]
# Don't change this, it should automatically generate __all__
__all__ = [table.__name__ for table in available_tables]

View file

@ -0,0 +1,19 @@
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy.ext.declarative import declared_attr
class Example:
__tablename__ = "examples"
@declared_attr
def creator_id(self):
return Column(Integer, ForeignKey("users.uid"), primary_key=True)
@declared_attr
def creator(self):
return relationship("User", backref=backref("examples_createdx"))
@declared_attr
def example(self):
return Column(String, nullable=False, default="Hello world!")

2
examplepack/version.py Normal file
View file

@ -0,0 +1,2 @@
# TODO: Increment this every new version of your pack!
semantic = "0.1.0"

58
pyproject.toml Normal file
View file

@ -0,0 +1,58 @@
# Remember to run `poetry update` after you edit this file!
[tool.poetry]
# TODO: Insert here your Pack name!
name = "examplepack"
# TODO: Insert here your Pack description!
description = "An example pack for Royalnet."
# TODO: Increment this every new version of your pack!
version = "0.1.0"
# TODO: Set this to your full name and email!
authors = ["Name Surname <email@example.com>"]
# TODO: Set this to the license you want to use for your Pack!
license = ""
# TODO: Set this to the GitHub page of your pack (or another website)
homepage = "https://github.com/your-username/"
# TODO: Set this to a link to the Pack documentation (if there's any)
documentation = "https://gh.steffo.eu/royalpack/"
# TODO: Pick some classifiers to include your Pack in: https://pypi.org/classifiers/
classifiers = [
"Development Status :: 3 - Alpha",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3.8",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)"
]
readme = "README.md"
# Library dependencies
[tool.poetry.dependencies]
python = "^3.8"
[tool.poetry.dependencies.royalnet]
version = "^5.1.6"
# There will soon be a way to make all these optional
extras = [
"telegram",
"discord",
"alchemy_easy",
"bard",
"constellation",
"sentry",
"herald",
"coloredlogs"
]
# Development dependencies
[tool.poetry.dev-dependencies]
# Optional dependencies
[tool.poetry.extras]
# Poetry stuff
# Leave it alone!
[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"