Skip to content

Commit 8a31feb

Browse files
authored
style: adopt ruff format (#665)
1 parent ebb69bc commit 8a31feb

File tree

12 files changed

+42
-107
lines changed

12 files changed

+42
-107
lines changed

.pre-commit-config.yaml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
repos:
2-
- repo: https://github.com/psf/black
3-
rev: 23.10.0
4-
hooks:
5-
- id: black
62
- repo: https://github.com/astral-sh/ruff-pre-commit
7-
rev: v0.1.1
3+
rev: v0.1.2
84
hooks:
95
- id: ruff
10-
6+
args:
7+
- --fix
8+
- id: ruff-format
119
ci:
1210
autoupdate_schedule: weekly

integration_tests/conftest.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,7 @@
1414
def spawn_process(command: List[str]) -> subprocess.Popen:
1515
if platform.system() == "Windows":
1616
command[0] = "python"
17-
process = subprocess.Popen(
18-
command, shell=True, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP
19-
)
17+
process = subprocess.Popen(command, shell=True, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP)
2018
return process
2119
process = subprocess.Popen(command, preexec_fn=os.setsid)
2220
return process

integration_tests/helpers/http_methods_helpers.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -174,15 +174,11 @@ def generic_http_helper(
174174

175175
endpoint = endpoint.strip("/")
176176
if method not in ["get", "post", "put", "patch", "delete", "options", "trace"]:
177-
raise ValueError(
178-
f"{method} method must be one of get, post, put, patch, delete"
179-
)
177+
raise ValueError(f"{method} method must be one of get, post, put, patch, delete")
180178
if method == "get":
181179
response = requests.get(f"{BASE_URL}/{endpoint}", headers=headers)
182180
else:
183-
response = requests.request(
184-
method, f"{BASE_URL}/{endpoint}", data=data, headers=headers
185-
)
181+
response = requests.request(method, f"{BASE_URL}/{endpoint}", data=data, headers=headers)
186182
if should_check_response:
187183
check_response(response, expected_status_code)
188184
return response

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ templating = ["jinja2"]
6565
optional = true
6666

6767
[tool.poetry.group.dev.dependencies]
68-
ruff = "0.0.240"
68+
ruff = "0.1.2"
6969
black = "23.1"
7070
isort = "5.11.5"
7171
pre-commit = "2.21.0"

robyn/__init__.py

Lines changed: 17 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,7 @@ def before_request(self, endpoint: Optional[str] = None) -> Callable[..., None]:
118118
:param endpoint str|None: endpoint to server the route. If None, the middleware will be applied to all the routes.
119119
"""
120120

121-
return self.middleware_router.add_middleware(
122-
MiddlewareType.BEFORE_REQUEST, endpoint
123-
)
121+
return self.middleware_router.add_middleware(MiddlewareType.BEFORE_REQUEST, endpoint)
124122

125123
def after_request(self, endpoint: Optional[str] = None) -> Callable[..., None]:
126124
"""
@@ -129,9 +127,7 @@ def after_request(self, endpoint: Optional[str] = None) -> Callable[..., None]:
129127
:param endpoint str|None: endpoint to server the route. If None, the middleware will be applied to all the routes.
130128
"""
131129

132-
return self.middleware_router.add_middleware(
133-
MiddlewareType.AFTER_REQUEST, endpoint
134-
)
130+
return self.middleware_router.add_middleware(MiddlewareType.AFTER_REQUEST, endpoint)
135131

136132
def add_directory(
137133
self,
@@ -140,9 +136,7 @@ def add_directory(
140136
index_file: Optional[str] = None,
141137
show_files_listing: bool = False,
142138
):
143-
self.directories.append(
144-
Directory(route, directory_path, show_files_listing, index_file)
145-
)
139+
self.directories.append(Directory(route, directory_path, show_files_listing, index_file))
146140

147141
def add_request_header(self, key: str, value: str) -> None:
148142
self.request_headers.append(Header(key, value))
@@ -253,9 +247,7 @@ def get(self, endpoint: str, const: bool = False, auth_required: bool = False):
253247
"""
254248

255249
def inner(handler):
256-
return self.add_route(
257-
HttpMethod.GET, endpoint, handler, const, auth_required
258-
)
250+
return self.add_route(HttpMethod.GET, endpoint, handler, const, auth_required)
259251

260252
return inner
261253

@@ -267,9 +259,7 @@ def post(self, endpoint: str, auth_required: bool = False):
267259
"""
268260

269261
def inner(handler):
270-
return self.add_route(
271-
HttpMethod.POST, endpoint, handler, auth_required=auth_required
272-
)
262+
return self.add_route(HttpMethod.POST, endpoint, handler, auth_required=auth_required)
273263

274264
return inner
275265

@@ -281,9 +271,7 @@ def put(self, endpoint: str, auth_required: bool = False):
281271
"""
282272

283273
def inner(handler):
284-
return self.add_route(
285-
HttpMethod.PUT, endpoint, handler, auth_required=auth_required
286-
)
274+
return self.add_route(HttpMethod.PUT, endpoint, handler, auth_required=auth_required)
287275

288276
return inner
289277

@@ -295,9 +283,7 @@ def delete(self, endpoint: str, auth_required: bool = False):
295283
"""
296284

297285
def inner(handler):
298-
return self.add_route(
299-
HttpMethod.DELETE, endpoint, handler, auth_required=auth_required
300-
)
286+
return self.add_route(HttpMethod.DELETE, endpoint, handler, auth_required=auth_required)
301287

302288
return inner
303289

@@ -309,9 +295,7 @@ def patch(self, endpoint: str, auth_required: bool = False):
309295
"""
310296

311297
def inner(handler):
312-
return self.add_route(
313-
HttpMethod.PATCH, endpoint, handler, auth_required=auth_required
314-
)
298+
return self.add_route(HttpMethod.PATCH, endpoint, handler, auth_required=auth_required)
315299

316300
return inner
317301

@@ -323,9 +307,7 @@ def head(self, endpoint: str, auth_required: bool = False):
323307
"""
324308

325309
def inner(handler):
326-
return self.add_route(
327-
HttpMethod.HEAD, endpoint, handler, auth_required=auth_required
328-
)
310+
return self.add_route(HttpMethod.HEAD, endpoint, handler, auth_required=auth_required)
329311

330312
return inner
331313

@@ -337,9 +319,7 @@ def options(self, endpoint: str, auth_required: bool = False):
337319
"""
338320

339321
def inner(handler):
340-
return self.add_route(
341-
HttpMethod.OPTIONS, endpoint, handler, auth_required=auth_required
342-
)
322+
return self.add_route(HttpMethod.OPTIONS, endpoint, handler, auth_required=auth_required)
343323

344324
return inner
345325

@@ -351,9 +331,7 @@ def connect(self, endpoint: str, auth_required: bool = False):
351331
"""
352332

353333
def inner(handler):
354-
return self.add_route(
355-
HttpMethod.CONNECT, endpoint, handler, auth_required=auth_required
356-
)
334+
return self.add_route(HttpMethod.CONNECT, endpoint, handler, auth_required=auth_required)
357335

358336
return inner
359337

@@ -365,9 +343,7 @@ def trace(self, endpoint: str, auth_required: bool = False):
365343
"""
366344

367345
def inner(handler):
368-
return self.add_route(
369-
HttpMethod.TRACE, endpoint, handler, auth_required=auth_required
370-
)
346+
return self.add_route(HttpMethod.TRACE, endpoint, handler, auth_required=auth_required)
371347

372348
return inner
373349

@@ -378,20 +354,14 @@ def include_router(self, router):
378354
:param router Robyn: the router object to include the routes from
379355
"""
380356
self.router.routes.extend(router.router.routes)
381-
self.middleware_router.global_middlewares.extend(
382-
router.middleware_router.global_middlewares
383-
)
384-
self.middleware_router.route_middlewares.extend(
385-
router.middleware_router.route_middlewares
386-
)
357+
self.middleware_router.global_middlewares.extend(router.middleware_router.global_middlewares)
358+
self.middleware_router.route_middlewares.extend(router.middleware_router.route_middlewares)
387359

388360
# extend the websocket routes
389361
prefix = router.prefix
390362
for route in router.web_socket_router.routes:
391363
new_endpoint = f"{prefix}{route}"
392-
self.web_socket_router.routes[
393-
new_endpoint
394-
] = router.web_socket_router.routes[route]
364+
self.web_socket_router.routes[new_endpoint] = router.web_socket_router.routes[route]
395365

396366
def configure_authentication(self, authentication_handler: AuthenticationHandler):
397367
"""
@@ -404,9 +374,7 @@ def configure_authentication(self, authentication_handler: AuthenticationHandler
404374

405375

406376
class SubRouter(Robyn):
407-
def __init__(
408-
self, file_object: str, prefix: str = "", config: Config = Config()
409-
) -> None:
377+
def __init__(self, file_object: str, prefix: str = "", config: Config = Config()) -> None:
410378
super().__init__(file_object, config)
411379
self.prefix = prefix
412380

@@ -446,9 +414,7 @@ def ALLOW_CORS(app: Robyn, origins: List[str]):
446414
"Access-Control-Allow-Methods",
447415
"GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS",
448416
)
449-
app.add_request_header(
450-
"Access-Control-Allow-Headers", "Content-Type, Authorization"
451-
)
417+
app.add_request_header("Access-Control-Allow-Headers", "Content-Type, Authorization")
452418
app.add_request_header("Access-Control-Allow-Credentials", "true")
453419

454420

robyn/argument_parser.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33

44
class Config:
55
def __init__(self) -> None:
6-
parser = argparse.ArgumentParser(
7-
description="Robyn, a fast async web framework with a rust runtime."
8-
)
6+
parser = argparse.ArgumentParser(description="Robyn, a fast async web framework with a rust runtime.")
97
parser.add_argument(
108
"--processes",
119
type=int,

robyn/reloader.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,17 @@ def __init__(self, file_path: str) -> None:
4747
self.file_path = file_path
4848
self.process = None # Keep track of the subprocess
4949

50-
self.last_reload = (
51-
time.time()
52-
) # Keep track of the last reload. EventHandler is initialized with the process.
50+
self.last_reload = time.time() # Keep track of the last reload. EventHandler is initialized with the process.
5351

5452
def stop_server(self):
5553
if self.process:
56-
os.kill(
57-
self.process.pid, signal.SIGTERM
58-
) # Stop the subprocess using os.kill()
54+
os.kill(self.process.pid, signal.SIGTERM) # Stop the subprocess using os.kill()
5955

6056
def reload(self):
6157
self.stop_server()
6258

6359
new_env = os.environ.copy()
64-
new_env[
65-
"IS_RELOADER_RUNNING"
66-
] = "True" # This is used to check if a reloader is already running
60+
new_env["IS_RELOADER_RUNNING"] = "True" # This is used to check if a reloader is already running
6761

6862
self.process = subprocess.Popen(
6963
[sys.executable, *sys.argv],

robyn/robyn.pyi

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,7 @@ class Server:
133133
is_const: bool,
134134
) -> None:
135135
pass
136-
def add_global_middleware(
137-
self, middleware_type: MiddlewareType, function: FunctionInfo
138-
) -> None:
136+
def add_global_middleware(self, middleware_type: MiddlewareType, function: FunctionInfo) -> None:
139137
pass
140138
def add_middleware_route(
141139
self,

robyn/router.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,7 @@ def _format_response(
4747
res: dict,
4848
default_response_header: dict,
4949
) -> Response:
50-
headers = (
51-
{"Content-Type": "text/plain"}
52-
if not default_response_header
53-
else default_response_header
54-
)
50+
headers = {"Content-Type": "text/plain"} if not default_response_header else default_response_header
5551
response = {}
5652
if isinstance(res, dict):
5753
status_code = res.get("status_code", status_codes.HTTP_200_OK)
@@ -61,9 +57,7 @@ def _format_response(
6157
if not isinstance(status_code, int):
6258
status_code = int(status_code) # status_code can potentially be string
6359

64-
response = Response(
65-
status_code=status_code, headers=headers, description=description
66-
)
60+
response = Response(status_code=status_code, headers=headers, description=description)
6761
file_path = res.get("file_path")
6862
if file_path is not None:
6963
response.file_path = file_path
@@ -150,14 +144,10 @@ def __init__(self) -> None:
150144
def set_authentication_handler(self, authentication_handler: AuthenticationHandler):
151145
self.authentication_handler = authentication_handler
152146

153-
def add_route(
154-
self, middleware_type: MiddlewareType, endpoint: str, handler: Callable
155-
) -> Callable:
147+
def add_route(self, middleware_type: MiddlewareType, endpoint: str, handler: Callable) -> Callable:
156148
number_of_params = len(signature(handler).parameters)
157149
function = FunctionInfo(handler, iscoroutinefunction(handler), number_of_params)
158-
self.route_middlewares.append(
159-
RouteMiddleware(middleware_type, endpoint, function)
160-
)
150+
self.route_middlewares.append(RouteMiddleware(middleware_type, endpoint, function))
161151
return handler
162152

163153
def add_auth_middleware(self, endpoint: str):
@@ -183,9 +173,7 @@ def inner_handler(request: Request, *args):
183173
# These inner functions are basically a wrapper around the closure(decorator) being returned.
184174
# They take a handler, convert it into a closure and return the arguments.
185175
# Arguments are returned as they could be modified by the middlewares.
186-
def add_middleware(
187-
self, middleware_type: MiddlewareType, endpoint: Optional[str]
188-
) -> Callable[..., None]:
176+
def add_middleware(self, middleware_type: MiddlewareType, endpoint: Optional[str]) -> Callable[..., None]:
189177
def inner(handler):
190178
@wraps(handler)
191179
async def async_inner_handler(*args):

robyn/templating.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@ def render_template(self, *args, **kwargs) -> Response:
1818

1919
class JinjaTemplate(TemplateInterface):
2020
def __init__(self, directory, encoding="utf-8", followlinks=False):
21-
self.env = Environment(
22-
loader=FileSystemLoader(
23-
searchpath=directory, encoding=encoding, followlinks=followlinks
24-
)
25-
)
21+
self.env = Environment(loader=FileSystemLoader(searchpath=directory, encoding=encoding, followlinks=followlinks))
2622

2723
def render_template(self, template_name, **kwargs) -> Response:
2824
rendered_template = self.env.get_template(template_name).render(**kwargs)

robyn/ws.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ def inner(handler):
2424
if type not in ["connect", "close", "message"]:
2525
raise Exception(f"Socket method {type} does not exist")
2626
else:
27-
self.methods[type] = FunctionInfo(
28-
handler, self._is_async(handler), self._num_params(handler)
29-
)
27+
self.methods[type] = FunctionInfo(handler, self._is_async(handler), self._num_params(handler))
3028
self.robyn_object.add_web_socket(self.endpoint, self)
3129

3230
return inner

scripts/format.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
set -x
4+
5+
ruff format robyn integration_tests docs_src

0 commit comments

Comments
 (0)