Merge branch 'feature/server-side-render' into feature/server-side-render-actions-trade
This commit is contained in:
commit
4ce359fec4
|
@ -47,9 +47,6 @@ jobs:
|
|||
sudo apt-get update -qy
|
||||
sudo apt-get -y install postgresql-client
|
||||
python -m pip install --upgrade pip
|
||||
pip install virtualenv
|
||||
virtualenv env
|
||||
source env/bin/activate
|
||||
pip install flake8 pytest coverage
|
||||
pip install -r requirements.txt
|
||||
|
||||
|
@ -65,6 +62,17 @@ jobs:
|
|||
psql -h "localhost" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION citext SCHEMA public;"
|
||||
psql -h "localhost" -U "$POSTGRES_USER" -d "$POSTGRES_DB" -c "CREATE EXTENSION pg_trgm SCHEMA public;"
|
||||
|
||||
- name: Lint with flake8
|
||||
run: |
|
||||
# stop the build if:
|
||||
# - E9,F63,F7,F82: Python syntax errors or undefined names
|
||||
# - E501: line longer than 120 characters
|
||||
# - C901: complexity greater than 10
|
||||
# - F401: modules imported but unused
|
||||
# See: https://flake8.pycqa.org/en/latest/user/error-codes.html
|
||||
flake8 . --select=E9,F63,F7,F82,E501,C901,F401
|
||||
flake8 . --exit-zero
|
||||
|
||||
- name: Run Tests
|
||||
run: |
|
||||
export SECRET_KEY=`python3 -c 'import secrets; print(secrets.token_hex())'`
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
repos:
|
||||
- repo: https://github.com/psf/black
|
||||
rev: 22.1.0
|
||||
hooks:
|
||||
- id: black
|
||||
- repo: https://github.com/PyCQA/isort
|
||||
rev: 5.9.3
|
||||
hooks:
|
||||
- id: isort
|
||||
- repo: https://github.com/PyCQA/flake8
|
||||
rev: 4.0.1
|
||||
hooks:
|
||||
- id: flake8
|
||||
- repo: https://github.com/conorfalvey/check_pdb_hook
|
||||
rev: 0.0.9
|
||||
hooks:
|
||||
- id: check_pdb_hook
|
|
@ -0,0 +1,25 @@
|
|||
; SHARED on https://pad.cas.cat/usody-devicehub-contributing
|
||||
|
||||
# Contributing to devicehub
|
||||
|
||||
## Writing code
|
||||
|
||||
### Coding style
|
||||
|
||||
#### Python style
|
||||
- Unless otherwise specified, follow [PEP 8](https://www.python.org/dev/peps/pep-0008). Use [flake8](https://pypi.org/project/flake8/) to check for problems in this area.
|
||||
- Use [isort](https://github.com/PyCQA/isort#readme) to automate import sorting.
|
||||
|
||||
To automatize this work just configure `pre-commit` hooks in your development environment:
|
||||
```bash
|
||||
# on your virtual environment
|
||||
pip install -r requirements-dev.txt
|
||||
pre-commit install
|
||||
```
|
||||
|
||||
#### HTML (templates)
|
||||
- Template file names should be all lowercase, using underscores instead of camelCase.
|
||||
|
||||
Do this: `device_detail.html`
|
||||
|
||||
Don't do this: `DeviceDetail.html`, `Device-detail.html`
|
|
@ -1,34 +1,29 @@
|
|||
import json
|
||||
import copy
|
||||
import json
|
||||
from json.decoder import JSONDecodeError
|
||||
|
||||
from flask import g, request
|
||||
from flask_wtf import FlaskForm
|
||||
from sqlalchemy.util import OrderedSet
|
||||
from wtforms.fields import FormField
|
||||
from wtforms import (DateField, FloatField, HiddenField, IntegerField,
|
||||
MultipleFileField, FileField, SelectField, StringField,
|
||||
TextAreaField, BooleanField, URLField, validators, Form)
|
||||
|
||||
from boltons.urlutils import URL
|
||||
from ereuse_devicehub.db import db
|
||||
from ereuse_devicehub.resources.hash_reports import insert_hash
|
||||
from ereuse_devicehub.resources.documents.models import DataWipeDocument
|
||||
from ereuse_devicehub.resources.action.models import (Action, RateComputer,
|
||||
Snapshot, VisualTest,
|
||||
DataWipe)
|
||||
from ereuse_devicehub.resources.action.models import RateComputer, Snapshot
|
||||
from ereuse_devicehub.resources.action.rate.v1_0 import CannotRate
|
||||
from ereuse_devicehub.resources.action.schemas import \
|
||||
Snapshot as SnapshotSchema
|
||||
from ereuse_devicehub.resources.action.views.snapshot import (move_json,
|
||||
save_json)
|
||||
from ereuse_devicehub.resources.action.views.snapshot import move_json, save_json
|
||||
from ereuse_devicehub.resources.device.models import (SAI, Cellphone, Computer,
|
||||
Device, Keyboard,
|
||||
MemoryCardReader,
|
||||
Monitor, Mouse,
|
||||
Smartphone, Tablet)
|
||||
Device, Keyboard, MemoryCardReader,
|
||||
Monitor, Mouse, Smartphone, Tablet)
|
||||
from flask import g, request
|
||||
from flask_wtf import FlaskForm
|
||||
from sqlalchemy.util import OrderedSet
|
||||
from wtforms import (BooleanField, DateField, FileField, FloatField, Form,
|
||||
HiddenField, IntegerField, MultipleFileField, SelectField,
|
||||
StringField, TextAreaField, URLField, validators)
|
||||
from wtforms.fields import FormField
|
||||
|
||||
from ereuse_devicehub.resources.device.sync import Sync
|
||||
from ereuse_devicehub.resources.documents.models import DataWipeDocument
|
||||
from ereuse_devicehub.resources.enums import Severity, SnapshotSoftware
|
||||
from ereuse_devicehub.resources.hash_reports import insert_hash
|
||||
from ereuse_devicehub.resources.lot.models import Lot
|
||||
from ereuse_devicehub.resources.tag.model import Tag
|
||||
from ereuse_devicehub.resources.user.models import User
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[tool.black]
|
||||
skip-string-normalization = true
|
||||
target-version = ['py38']
|
||||
|
||||
[tool.isort]
|
||||
multi_line_output = 4
|
|
@ -0,0 +1,4 @@
|
|||
black
|
||||
isort
|
||||
flake8
|
||||
pre-commit
|
|
@ -22,7 +22,7 @@ pytest==3.7.2
|
|||
pytest-runner==4.2
|
||||
python-dateutil==2.7.3
|
||||
python-stdnum==1.9
|
||||
PyYAML==3.13
|
||||
PyYAML==5.4
|
||||
requests[security]==2.27.1
|
||||
requests-mock==1.5.2
|
||||
SQLAlchemy==1.2.17
|
||||
|
|
Reference in New Issue