fix lint checks
This commit is contained in:
parent
e6f91db4e4
commit
e6c07851d4
|
@ -192,7 +192,7 @@ class Line(tqdm):
|
||||||
def error_message(self, *args):
|
def error_message(self, *args):
|
||||||
self._error_message = args
|
self._error_message = args
|
||||||
|
|
||||||
def close(self):
|
def close(self): # noqa: C901
|
||||||
"""
|
"""
|
||||||
Cleanup and (if leave=False) close the progressbar.
|
Cleanup and (if leave=False) close the progressbar.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import subprocess
|
import subprocess
|
||||||
from contextlib import suppress
|
from contextlib import suppress
|
||||||
from typing import Any, Set, TextIO
|
from typing import Any, Set
|
||||||
|
|
||||||
from ereuse_devicehub.ereuse_utils import text
|
from ereuse_devicehub.ereuse_utils import text
|
||||||
|
|
||||||
|
@ -96,9 +96,7 @@ class ProgressiveCmd:
|
||||||
self.conn = conn = subprocess.Popen(
|
self.conn = conn = subprocess.Popen(
|
||||||
self.cmd, universal_newlines=True, stderr=subprocess.PIPE, stdout=stdout
|
self.cmd, universal_newlines=True, stderr=subprocess.PIPE, stdout=stdout
|
||||||
)
|
)
|
||||||
self.out = (
|
self.out = conn.stdout if stdout == subprocess.PIPE else conn.stderr
|
||||||
conn.stdout if stdout == subprocess.PIPE else conn.stderr
|
|
||||||
) # type: TextIO
|
|
||||||
self._callback = callback
|
self._callback = callback
|
||||||
self.last_update_percentage = 0
|
self.last_update_percentage = 0
|
||||||
self.percentage = 0
|
self.percentage = 0
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
from typing import Generator
|
|
||||||
|
|
||||||
|
|
||||||
class NestedLookup:
|
class NestedLookup:
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def __new__(cls, document, references, operation):
|
def __new__(cls, document, references, operation):
|
||||||
|
@ -38,7 +35,7 @@ class NestedLookup:
|
||||||
return key_value_containing_value
|
return key_value_containing_value
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _nested_lookup(document, references, operation):
|
def _nested_lookup(document, references, operation): # noqa: C901
|
||||||
"""Lookup a key in a nested document, yield a value"""
|
"""Lookup a key in a nested document, yield a value"""
|
||||||
if isinstance(document, list):
|
if isinstance(document, list):
|
||||||
for d in document:
|
for d in document:
|
||||||
|
|
|
@ -5,7 +5,7 @@ from usb import CLASS_MASS_STORAGE
|
||||||
from ereuse_devicehub.ereuse_utils.naming import Naming
|
from ereuse_devicehub.ereuse_utils.naming import Naming
|
||||||
|
|
||||||
|
|
||||||
def plugged_usbs(multiple=True) -> map or dict:
|
def plugged_usbs(multiple=True) -> map or dict: # noqa: C901
|
||||||
"""
|
"""
|
||||||
Gets the plugged-in USB Flash drives (pen-drives).
|
Gets the plugged-in USB Flash drives (pen-drives).
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import datetime
|
import datetime
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
|
|
||||||
from flask import Response, make_response
|
from flask import make_response
|
||||||
|
|
||||||
|
|
||||||
def cache(expires: datetime.timedelta = None):
|
def cache(expires: datetime.timedelta = None):
|
||||||
|
@ -18,7 +18,7 @@ def cache(expires: datetime.timedelta = None):
|
||||||
def cache_decorator(view):
|
def cache_decorator(view):
|
||||||
@wraps(view)
|
@wraps(view)
|
||||||
def cache_func(*args, **kwargs):
|
def cache_func(*args, **kwargs):
|
||||||
r = make_response(view(*args, **kwargs)) # type: Response
|
r = make_response(view(*args, **kwargs))
|
||||||
r.expires = datetime.datetime.now(datetime.timezone.utc) + expires
|
r.expires = datetime.datetime.now(datetime.timezone.utc) + expires
|
||||||
r.cache_control.public = True
|
r.cache_control.public = True
|
||||||
return r
|
return r
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
from typing import Dict, Set, Type
|
|
||||||
|
|
||||||
from boltons.typeutils import issubclass
|
from boltons.typeutils import issubclass
|
||||||
|
|
||||||
from ereuse_devicehub.teal.resource import Resource
|
from ereuse_devicehub.teal.resource import Resource
|
||||||
|
@ -12,16 +10,16 @@ class Config:
|
||||||
Subclass and set here your config values.
|
Subclass and set here your config values.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
RESOURCE_DEFINITIONS = set() # type: Set[Type[Resource]]
|
RESOURCE_DEFINITIONS = set()
|
||||||
"""
|
"""
|
||||||
A list of resource definitions to load.
|
A list of resource definitions to load.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
SQLALCHEMY_DATABASE_URI = None # type: str
|
SQLALCHEMY_DATABASE_URI = None
|
||||||
"""
|
"""
|
||||||
The access to the main Database.
|
The access to the main Database.
|
||||||
"""
|
"""
|
||||||
SQLALCHEMY_BINDS = {} # type: Dict[str, str]
|
SQLALCHEMY_BINDS = {}
|
||||||
"""
|
"""
|
||||||
Optional extra databases. See `here <http://flask-sqlalchemy.pocoo.org
|
Optional extra databases. See `here <http://flask-sqlalchemy.pocoo.org
|
||||||
/2.3/binds/#referring-to-binds>`_ how bind your models to different
|
/2.3/binds/#referring-to-binds>`_ how bind your models to different
|
||||||
|
@ -29,11 +27,11 @@ class Config:
|
||||||
"""
|
"""
|
||||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||||
"""
|
"""
|
||||||
Disables flask-sqlalchemy notification system.
|
Disables flask-sqlalchemy notification system.
|
||||||
Save resources and hides a warning by flask-sqlalchemy itself.
|
Save resources and hides a warning by flask-sqlalchemy itself.
|
||||||
|
|
||||||
See `this answer in Stackoverflow for more info
|
See `this answer in Stackoverflow for more info
|
||||||
<https://stackoverflow.com/a/33790196>`_.
|
<https://stackoverflow.com/a/33790196>`_.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
API_DOC_CONFIG_TITLE = 'Teal'
|
API_DOC_CONFIG_TITLE = 'Teal'
|
||||||
|
@ -47,7 +45,7 @@ class Config:
|
||||||
API_DOC_CLASS_DISCRIMINATOR = None
|
API_DOC_CLASS_DISCRIMINATOR = None
|
||||||
"""
|
"""
|
||||||
Configuration options for the api docs class definitions.
|
Configuration options for the api docs class definitions.
|
||||||
|
|
||||||
You can pass any `schema definition <https://github.com/OAI/
|
You can pass any `schema definition <https://github.com/OAI/
|
||||||
OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject>`_
|
OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject>`_
|
||||||
prefiex by ``API_DOC_CLASS_`` like in the example above.
|
prefiex by ``API_DOC_CLASS_`` like in the example above.
|
||||||
|
@ -57,7 +55,7 @@ class Config:
|
||||||
CORS_EXPOSE_HEADERS = 'Authorization'
|
CORS_EXPOSE_HEADERS = 'Authorization'
|
||||||
CORS_ALLOW_HEADERS = 'Content-Type', 'Authorization'
|
CORS_ALLOW_HEADERS = 'Content-Type', 'Authorization'
|
||||||
"""
|
"""
|
||||||
Configuration for CORS. See the options you can pass by in `Flask-Cors
|
Configuration for CORS. See the options you can pass by in `Flask-Cors
|
||||||
<https://flask-cors.corydolphin.com/en/latest/api.html#extension>`_,
|
<https://flask-cors.corydolphin.com/en/latest/api.html#extension>`_,
|
||||||
exactly in **Parameters**, like the ones above.
|
exactly in **Parameters**, like the ones above.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
import inspect
|
import inspect
|
||||||
from typing import Dict, Type
|
from typing import Type
|
||||||
|
|
||||||
import click_spinner
|
import click_spinner
|
||||||
import ereuse_devicehub.ereuse_utils
|
|
||||||
import flask_cors
|
import flask_cors
|
||||||
from anytree import Node
|
from anytree import Node
|
||||||
from apispec import APISpec
|
from apispec import APISpec
|
||||||
from click import option
|
from click import option
|
||||||
from ereuse_devicehub.ereuse_utils import ensure_utf8
|
|
||||||
from flask import Flask, jsonify
|
from flask import Flask, jsonify
|
||||||
from flask.globals import _app_ctx_stack
|
from flask.globals import _app_ctx_stack
|
||||||
from flask_sqlalchemy import SQLAlchemy
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
from marshmallow import ValidationError
|
from marshmallow import ValidationError
|
||||||
from werkzeug.exceptions import HTTPException, UnprocessableEntity
|
from werkzeug.exceptions import HTTPException, UnprocessableEntity
|
||||||
|
|
||||||
|
import ereuse_devicehub.ereuse_utils
|
||||||
|
from ereuse_devicehub.ereuse_utils import ensure_utf8
|
||||||
from ereuse_devicehub.teal.auth import Auth
|
from ereuse_devicehub.teal.auth import Auth
|
||||||
from ereuse_devicehub.teal.cli import TealCliRunner
|
from ereuse_devicehub.teal.cli import TealCliRunner
|
||||||
from ereuse_devicehub.teal.client import Client
|
from ereuse_devicehub.teal.client import Client
|
||||||
|
@ -122,17 +122,17 @@ class Teal(Flask):
|
||||||
|
|
||||||
# noinspection PyAttributeOutsideInit
|
# noinspection PyAttributeOutsideInit
|
||||||
def load_resources(self):
|
def load_resources(self):
|
||||||
self.resources = {} # type: Dict[str, Resource]
|
self.resources = {}
|
||||||
"""
|
"""
|
||||||
The resources definitions loaded on this App, referenced by their
|
The resources definitions loaded on this App, referenced by their
|
||||||
type name.
|
type name.
|
||||||
"""
|
"""
|
||||||
self.tree = {} # type: Dict[str, Node]
|
self.tree = {}
|
||||||
"""
|
"""
|
||||||
A tree representing the hierarchy of the instances of
|
A tree representing the hierarchy of the instances of
|
||||||
ResourceDefinitions. ResourceDefinitions use these nodes to
|
ResourceDefinitions. ResourceDefinitions use these nodes to
|
||||||
traverse their hierarchy.
|
traverse their hierarchy.
|
||||||
|
|
||||||
Do not use the normal python class hierarchy as it is global,
|
Do not use the normal python class hierarchy as it is global,
|
||||||
thus unreliable if you run different apps with different
|
thus unreliable if you run different apps with different
|
||||||
schemas (for example, an extension that is only added on the
|
schemas (for example, an extension that is only added on the
|
||||||
|
|
Reference in New Issue