valar for morghulis
Project description
valar for morghulis
settings
from pathlib import Path
""" Compulsory settings """
DEBUG = True
BASE_DIR = Path(__file__).resolve().parent.parent
BASE_APP = str(BASE_DIR.name)
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
""" Minimized compulsory settings """
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
INSTALLED_APPS = [
'django.contrib.sessions',
"corsheaders",
'channels',
'valar.dao'
]
MIDDLEWARE = [
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'valar.Middleware'
]
CHANNEL_LAYERS = {
"default": {
"BACKEND": "channels.layers.InMemoryChannelLayer"
}
}
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True
ROOT_URLCONF = "%s.urls" % BASE_APP
ASGI_APPLICATION = "%s.asgi.application" % BASE_APP
VALAR_CHANNEL_HANDLER_MAPPING = "%s.urls.channel_handler_mapping" % BASE_APP
""" Optional settings """
# ALLOWED_HOSTS = ['*']
# LANGUAGE_CODE = 'en-us'
# TIME_ZONE = 'Asia/Shanghai'
# USE_I18N = True
# USE_TZ = False
# SESSION_SAVE_EVERY_REQUEST = True
# SESSION_COOKIE_AGE = 60 * 60
# FILE_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
# DATA_UPLOAD_MAX_MEMORY_SIZE = 1024 * 1024 * 100
root urls
from django.urls import path
from valar.channels import ValarSocketSender
from valar.channels.views import handel_channel
urlpatterns = [
path('socket/<str:handler>', handel_channel),
]
async def test_handler(data, sender: ValarSocketSender):
# print(data, sender.handler, sender.client, sender.uid)
await sender.to_users({'user': 15}, 15)
for i in range(3):
await sender.to_clients({'h': i},sender.client)
channel_handler_mapping = {
'test': test_handler
}
asgi
from django.core.asgi import get_asgi_application
from channels.routing import ProtocolTypeRouter, URLRouter
from django.urls import re_path
from valar.channels import ValarConsumer
application = ProtocolTypeRouter({
'http': get_asgi_application(),
'websocket': URLRouter([
re_path(r'(?P<client>\w+)/$', ValarConsumer.as_asgi()),
])
})
prepare
python -m pip install --upgrade pip
pip install --upgrade build
pip install twine
publish
rm -r dist
python -m build
twine check dist/*
twine upload dist/*
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
valar-0.0.10.tar.gz
(6.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file valar-0.0.10.tar.gz.
File metadata
- Download URL: valar-0.0.10.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
269de3292159a509ccccecdb3cc8228a2020ab4eadcdb7d938def80cb08c4519
|
|
| MD5 |
88d0dd1230d467ecca5306691d0aad9f
|
|
| BLAKE2b-256 |
f9a6616c67c219424252493b95386fb20f0642ad5b5b0ff84c75d9251ef4801a
|
File details
Details for the file valar-0.0.10-py3-none-any.whl.
File metadata
- Download URL: valar-0.0.10-py3-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cc9db18388f09a11f58f70a34495cd1921fae64a50d91390e9e6e0fac26db72
|
|
| MD5 |
4d6df2876de6fa12e72ec2ae29cbdb76
|
|
| BLAKE2b-256 |
67efacd21ae07d543626954229925b826db27fe2f17e6e81bc947c01e79566d3
|