mirror of
https://github.com/lemeow125/DRF_Template.git
synced 2025-09-18 05:29:37 +08:00
Format with isort/ruff and implement linter step in Woodpecker
This commit is contained in:
parent
a3a9351682
commit
cae8e1c411
10 changed files with 38 additions and 22 deletions
|
@ -49,5 +49,6 @@ when:
|
||||||
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- build
|
- build
|
||||||
|
- test
|
||||||
|
|
||||||
skip_clone: true
|
skip_clone: true
|
27
.woodpecker/.lint.yml
Normal file
27
.woodpecker/.lint.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
labels:
|
||||||
|
platform: linux/amd64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: lint
|
||||||
|
image: astral/uv:python3.13-trixie-slim
|
||||||
|
commands:
|
||||||
|
- uv sync --frozen
|
||||||
|
- export PATH=".venv/bin:$PATH"
|
||||||
|
- ruff check src/. --no-fix --diff --show-files --verbose
|
||||||
|
- name: discord
|
||||||
|
image: appleboy/drone-discord
|
||||||
|
settings:
|
||||||
|
webhook_id:
|
||||||
|
from_secret: DISCORD_WEBHOOK_ID
|
||||||
|
webhook_token:
|
||||||
|
from_secret: DISCORD_WEBHOOK_TOKEN
|
||||||
|
message: >
|
||||||
|
{{#success build.status}}
|
||||||
|
{{repo.name}}: Lint step for build #{{build.number}} output {{build.status}}
|
||||||
|
{{/success}}
|
||||||
|
|
||||||
|
when:
|
||||||
|
- branch: master
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- manual
|
|
@ -3,7 +3,7 @@ from django.core import exceptions as django_exceptions
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
from djoser.serializers import UserSerializer as BaseUserSerializer
|
from djoser.serializers import UserSerializer as BaseUserSerializer
|
||||||
from rest_framework import serializers
|
from rest_framework import serializers
|
||||||
from rest_framework.serializers import ImageField, ModelSerializer
|
from rest_framework.serializers import ModelSerializer
|
||||||
from rest_framework.settings import api_settings
|
from rest_framework.settings import api_settings
|
||||||
|
|
||||||
from accounts.models import CustomUser
|
from accounts.models import CustomUser
|
||||||
|
|
|
@ -1,10 +1,7 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
from drf_spectacular.views import (
|
from drf_spectacular.views import (SpectacularAPIView, SpectacularRedocView,
|
||||||
SpectacularAPIView,
|
SpectacularSwaggerView)
|
||||||
SpectacularRedocView,
|
|
||||||
SpectacularSwaggerView,
|
|
||||||
)
|
|
||||||
|
|
||||||
from core.settings import config
|
from core.settings import config
|
||||||
|
|
||||||
|
|
|
@ -6,14 +6,8 @@ import re
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
from pydantic import (
|
from pydantic import (BaseModel, EmailStr, Field, StrictStr, field_validator,
|
||||||
BaseModel,
|
model_validator)
|
||||||
EmailStr,
|
|
||||||
Field,
|
|
||||||
StrictStr,
|
|
||||||
field_validator,
|
|
||||||
model_validator,
|
|
||||||
)
|
|
||||||
from pydantic_extra_types.timezone_name import TimeZoneName
|
from pydantic_extra_types.timezone_name import TimeZoneName
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -194,7 +194,7 @@ DJOSER = {
|
||||||
"username_reset_confirm": ["rest_framework.permissions.IsAdminUser"],
|
"username_reset_confirm": ["rest_framework.permissions.IsAdminUser"],
|
||||||
"set_username": ["rest_framework.permissions.IsAdminUser"],
|
"set_username": ["rest_framework.permissions.IsAdminUser"],
|
||||||
"set_password": ["rest_framework.permissions.IsAdminUser"],
|
"set_password": ["rest_framework.permissions.IsAdminUser"],
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
SIMPLE_JWT = {
|
SIMPLE_JWT = {
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
from django.utils import timezone
|
|
||||||
from djoser import email
|
from djoser import email
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ Minimal Django settings file for tests
|
||||||
|
|
||||||
from core.settings import * # noqa: F403
|
from core.settings import * # noqa: F403
|
||||||
|
|
||||||
|
|
||||||
# Override database to SQLite
|
# Override database to SQLite
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
"default": {
|
"default": {
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
Post-migrate signal handlers for creating initial data for accounts app.
|
Post-migrate signal handlers for creating initial data for accounts app.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
|
|
||||||
from accounts.models import CustomUser
|
from accounts.models import CustomUser
|
||||||
from core.settings import config, TESTS_DIR
|
from core.settings import TESTS_DIR, config
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
import pytest
|
import pytest
|
||||||
from core.settings import config
|
|
||||||
import users
|
import users
|
||||||
|
|
||||||
|
|
||||||
from rest_framework.test import APIClient
|
from rest_framework.test import APIClient
|
||||||
|
|
||||||
|
from core.settings import config
|
||||||
|
|
||||||
client = APIClient()
|
client = APIClient()
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue