neolynx / cirrina Goto Github PK
View Code? Open in Web Editor NEWcirrina is an opinionated asynchronous web framework based on aiohttp
License: GNU Lesser General Public License v3.0
cirrina is an opinionated asynchronous web framework based on aiohttp
License: GNU Lesser General Public License v3.0
Why is there no:
from cirrina import Client
Do we need one?
Does the javascript websocket client implementation really belong to the package content?
It's just another implementation of a client which is able to talk to a cirrina server.
The examples/documentation might be a better place.
When uploading files, it's possible that "recived_filename" is not yet defined when it's used. See:
Line 458 in 8c69c0e
E.g. error log:
local variable 'received_filename' referenced before assignment
Traceback (most recent call last):
File "/opt/roche/home/cirrina/cirrina/server.py", line 356, in _wrap
ret = (await func(request))
File "/opt/roche/home/cirrina/cirrina/server.py", line 458, in upload_handler
filename = received_filename.replace("\"", "")
UnboundLocalError: local variable 'received_filename' referenced before assignment
I want to be able to easy send messages to all websocket clients opened by a specific session/user.
Create debian/ files
Current implementation is not compatible with aiohttp2.2
Publish package to PyPI.
@neolynx ?
Write README containing small documentation ...
When shutting down cirrina while using Python 3.9, I get this error:
^CTraceback (most recent call last):
...
File "/usr/lib/python3/dist-packages/cirrina/server.py", line 183, in run
for task in asyncio.Task.all_tasks():
AttributeError: type object '_asyncio.Task' has no attribute 'all_tasks'
The problem is that asyncio.Task.all_tasks
was deprecated in py3.7 and removed in py3.9:
https://docs.python.org/3.8/library/asyncio-task.html#asyncio.Task.all_tasks
The session wrapper swallows any exception, therefore preventing aiohttp
idiomatic use of HTTPException
s for control flow.
For example, this handler wouldn't work (see https://docs.aiohttp.org/en/stable/web_quickstart.html#exceptions):
async def handler(request):
raise aiohttp.web.HTTPFound('/redirect')
because the exception would be caught in the above "session wrapper" except clauses and never re-raised.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.