mirror of
https://github.com/kristoferssolo/kristofersxyz.git
synced 2025-10-21 18:30:34 +00:00
Reformated project structure
This commit is contained in:
parent
93b83f02f8
commit
b51b43c7a1
23
.github/workflows/lint.yml
vendored
23
.github/workflows/lint.yml
vendored
@ -1,23 +0,0 @@
|
|||||||
name: Lint
|
|
||||||
on:
|
|
||||||
- push
|
|
||||||
- pull_request
|
|
||||||
jobs:
|
|
||||||
test:
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ubuntu-latest, windows-latest]
|
|
||||||
python-version: ["3.10"]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
|
||||||
uses: actions/setup-python@v2
|
|
||||||
with:
|
|
||||||
python-version: ${{ matrix.python-version }}
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install tox tox-gh-actions
|
|
||||||
- name: Lint with tox
|
|
||||||
run: tox
|
|
||||||
8
.github/workflows/ruff.yml
vendored
Normal file
8
.github/workflows/ruff.yml
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
name: Ruff
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
ruff:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: chartboost/ruff-action@v1
|
||||||
18
.github/workflows/test.yml
vendored
Normal file
18
.github/workflows/test.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Django Test
|
||||||
|
on: [push, pull_request]
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v3
|
||||||
|
with:
|
||||||
|
python-version: "3.10"
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install -r requirements.txt
|
||||||
|
- name: Run tests
|
||||||
|
run: python src/manage.py test
|
||||||
7
.gitignore
vendored
7
.gitignore
vendored
@ -129,8 +129,9 @@ dmypy.json
|
|||||||
.pyre/
|
.pyre/
|
||||||
|
|
||||||
|
|
||||||
|
local-cdn/
|
||||||
config.json
|
config.json
|
||||||
debug
|
node_modules/
|
||||||
|
package-lock.json
|
||||||
|
|
||||||
/static/admin/
|
db.sqlite3
|
||||||
/static/fontawesomefree/
|
|
||||||
|
|||||||
5
config.json.example
Normal file
5
config.json.example
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"DEBUG": false,
|
||||||
|
"SECRET_KEY": "",
|
||||||
|
"ALLOWED_HOSTS": [""],
|
||||||
|
}
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.contrib import admin
|
|
||||||
|
|
||||||
# Register your models here.
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.db import models
|
|
||||||
|
|
||||||
# Create your models here.
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
from django.shortcuts import redirect, render
|
|
||||||
|
|
||||||
|
|
||||||
def index(request):
|
|
||||||
return render(request, "main/index.html", {"title": "Kristofers Solo Webpage"})
|
|
||||||
|
|
||||||
|
|
||||||
def lightsaber(request):
|
|
||||||
return render(request, "main/lightsaber.html", {"title": "Lightsaber"})
|
|
||||||
|
|
||||||
|
|
||||||
def projects(request):
|
|
||||||
return render(request, "main/projects.html", {"title": "Projects"})
|
|
||||||
|
|
||||||
|
|
||||||
def karbs(request):
|
|
||||||
"""Karbs install script"""
|
|
||||||
return redirect("/projects/karbs")
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.contrib import admin
|
|
||||||
|
|
||||||
# Register your models here.
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.db import models
|
|
||||||
|
|
||||||
# Create your models here.
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
# from django.test import TestCase
|
|
||||||
|
|
||||||
# Create your tests here.
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
from django.shortcuts import render
|
|
||||||
|
|
||||||
|
|
||||||
def projects(request):
|
|
||||||
return render(request, "projects/projects.html", {"title": "Projects"})
|
|
||||||
|
|
||||||
|
|
||||||
def karbs(request):
|
|
||||||
return render(request, "projects/karbs/karbs/karbs", {"title": "KARBS"})
|
|
||||||
|
|
||||||
|
|
||||||
def instructions(request):
|
|
||||||
return render(request, "projects/karbs/instructions.html", {"title": "Karbs Instructions"})
|
|
||||||
|
|
||||||
|
|
||||||
def traffic_light_detector(request):
|
|
||||||
return render(request, "projects/traffic_light_detector/traffic_light_detector.html", {"title": "Traffic Light Detector"})
|
|
||||||
@ -1,7 +1,3 @@
|
|||||||
[build-system]
|
|
||||||
requires = ["setuptools>=42.0", "wheel"]
|
|
||||||
build-backend = "setuptools.build_meta"
|
|
||||||
|
|
||||||
[tool.mypy]
|
[tool.mypy]
|
||||||
check_untyped_defs = true
|
check_untyped_defs = true
|
||||||
disallow_any_generics = true
|
disallow_any_generics = true
|
||||||
@ -15,3 +11,26 @@ warn_redundant_casts = true
|
|||||||
warn_return_any = true
|
warn_return_any = true
|
||||||
warn_unreachable = true
|
warn_unreachable = true
|
||||||
warn_unused_configs = true
|
warn_unused_configs = true
|
||||||
|
|
||||||
|
[tool.ruff]
|
||||||
|
line-length = 160
|
||||||
|
exclude = ["**/**/migrations"]
|
||||||
|
|
||||||
|
[tool.black]
|
||||||
|
line-length = 160
|
||||||
|
|
||||||
|
[tool.ruff.flake8-quotes]
|
||||||
|
docstring-quotes = "double"
|
||||||
|
|
||||||
|
[tool.djlint]
|
||||||
|
close_void_tags = true
|
||||||
|
format_attribute_template_tags = true
|
||||||
|
format_css = true
|
||||||
|
format_js = true
|
||||||
|
max_line_length = 120
|
||||||
|
|
||||||
|
[tool.djlint.css]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
[tool.djlint.js]
|
||||||
|
indent_size = 4
|
||||||
|
|||||||
@ -1,2 +1,3 @@
|
|||||||
Django==4.1
|
Django==4.2
|
||||||
fontawesomefree==6.2.1
|
fontawesomefree==6.2
|
||||||
|
gunicorn==20.1
|
||||||
|
|||||||
@ -1,5 +1,2 @@
|
|||||||
flake8==6.0.0
|
mypy==1.3.0
|
||||||
mypy==0.991
|
ruff==0.0.272
|
||||||
pytest-cov==4.0.0
|
|
||||||
pytest==7.2.0
|
|
||||||
tox==3.27.1
|
|
||||||
|
|||||||
33
setup.cfg
33
setup.cfg
@ -1,33 +0,0 @@
|
|||||||
[metadata]
|
|
||||||
name = kristofersxyz
|
|
||||||
description = Kristofers Solo website
|
|
||||||
author = Kristofers Solo
|
|
||||||
license = GPL3
|
|
||||||
license_files = LICENSE
|
|
||||||
platforms = unix, linux, osx, cygwin, win32
|
|
||||||
classifiers =
|
|
||||||
Programming Language :: Python :: 3.10
|
|
||||||
|
|
||||||
[options]
|
|
||||||
packages = kristofersxyz
|
|
||||||
install_requires =
|
|
||||||
Django>=4.1
|
|
||||||
fontawesomefree>=6.2.1
|
|
||||||
|
|
||||||
python_requires = >=3.10
|
|
||||||
package_dir = =.
|
|
||||||
zip_safe = no
|
|
||||||
|
|
||||||
[options.extras_require]
|
|
||||||
testing =
|
|
||||||
flake8>=6.0.0
|
|
||||||
mypy>=0.991
|
|
||||||
pytest-cov>=4.0.0
|
|
||||||
pytest>=7.2.0
|
|
||||||
tox>=3.27.1
|
|
||||||
|
|
||||||
[options.package_data]
|
|
||||||
detector = py.typed
|
|
||||||
|
|
||||||
[flake8]
|
|
||||||
max-line-length = 160
|
|
||||||
17
src/apps/main/views.py
Normal file
17
src/apps/main/views.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from django.shortcuts import redirect, render
|
||||||
|
|
||||||
|
|
||||||
|
def index(request):
|
||||||
|
return render(request, "index.html", {"title": "Kristofers Solo Webpage"})
|
||||||
|
|
||||||
|
|
||||||
|
def lightsaber(request):
|
||||||
|
return render(request, "lightsaber.html", {"title": "Lightsaber"})
|
||||||
|
|
||||||
|
|
||||||
|
def projects(request):
|
||||||
|
return render(request, "projects.html", {"title": "Projects"})
|
||||||
|
|
||||||
|
|
||||||
|
def karbs(request):
|
||||||
|
return redirect("karbs")
|
||||||
0
src/apps/projects/__init__.py
Normal file
0
src/apps/projects/__init__.py
Normal file
0
src/apps/projects/admin.py
Normal file
0
src/apps/projects/admin.py
Normal file
0
src/apps/projects/migrations/__init__.py
Normal file
0
src/apps/projects/migrations/__init__.py
Normal file
0
src/apps/projects/models.py
Normal file
0
src/apps/projects/models.py
Normal file
0
src/apps/projects/tests.py
Normal file
0
src/apps/projects/tests.py
Normal file
17
src/apps/projects/views.py
Normal file
17
src/apps/projects/views.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
|
||||||
|
def projects(request):
|
||||||
|
return render(request, "projects.html", {"title": "Projects"})
|
||||||
|
|
||||||
|
|
||||||
|
def karbs(request):
|
||||||
|
return render(request, "karbs/karbs/karbs", {"title": "KARBS"})
|
||||||
|
|
||||||
|
|
||||||
|
def instructions(request):
|
||||||
|
return render(request, "karbs/instructions.html", {"title": "Karbs Instructions"})
|
||||||
|
|
||||||
|
|
||||||
|
def traffic_light_detector(request):
|
||||||
|
return render(request, "traffic_light_detector/traffic_light_detector.html", {"title": "Traffic Light Detector"})
|
||||||
0
src/kristofersxyz/__init__.py
Normal file
0
src/kristofersxyz/__init__.py
Normal file
@ -15,14 +15,11 @@ import sys
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
# Build paths inside the project like this: BASE_DIR / "subdir".
|
# Build paths inside the project like this: BASE_DIR / "subdir".
|
||||||
BASE_PATH = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
sys.path.insert(0, str(BASE_PATH.joinpath("kristofersxyz", "apps")))
|
sys.path.insert(0, str(BASE_DIR / "apps"))
|
||||||
|
|
||||||
# SECURITY WARNING: don"t run with debug turned on in production!
|
|
||||||
DEBUG = BASE_PATH.joinpath("debug").is_file()
|
|
||||||
|
|
||||||
|
|
||||||
with open(BASE_PATH.joinpath("config.json"), "r", encoding="UTF-8") as config_file:
|
with open(BASE_DIR.parent / "config.json", "r", encoding="UTF-8") as config_file:
|
||||||
config = json.load(config_file)
|
config = json.load(config_file)
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
@ -34,6 +31,8 @@ SECRET_KEY = config["SECRET_KEY"]
|
|||||||
|
|
||||||
ALLOWED_HOSTS = config["ALLOWED_HOSTS"]
|
ALLOWED_HOSTS = config["ALLOWED_HOSTS"]
|
||||||
|
|
||||||
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
|
DEBUG = config["DEBUG"]
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
@ -64,7 +63,10 @@ ROOT_URLCONF = "kristofersxyz.urls"
|
|||||||
TEMPLATES = [
|
TEMPLATES = [
|
||||||
{
|
{
|
||||||
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
"BACKEND": "django.template.backends.django.DjangoTemplates",
|
||||||
"DIRS": [BASE_PATH.joinpath("templates")],
|
"DIRS": [
|
||||||
|
BASE_DIR / "templates",
|
||||||
|
BASE_DIR / "**" / "templates",
|
||||||
|
],
|
||||||
"APP_DIRS": True,
|
"APP_DIRS": True,
|
||||||
"OPTIONS": {
|
"OPTIONS": {
|
||||||
"context_processors": [
|
"context_processors": [
|
||||||
@ -86,7 +88,7 @@ WSGI_APPLICATION = "kristofersxyz.wsgi.application"
|
|||||||
DATABASES = {
|
DATABASES = {
|
||||||
"default": {
|
"default": {
|
||||||
"ENGINE": "django.db.backends.sqlite3",
|
"ENGINE": "django.db.backends.sqlite3",
|
||||||
"NAME": BASE_PATH / "db.sqlite3",
|
"NAME": BASE_DIR / "db.sqlite3",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,8 +128,16 @@ USE_TZ = True
|
|||||||
# https://docs.djangoproject.com/en/4.0/howto/static-files/
|
# https://docs.djangoproject.com/en/4.0/howto/static-files/
|
||||||
|
|
||||||
STATIC_URL = "/static/"
|
STATIC_URL = "/static/"
|
||||||
STATIC_ROOT = BASE_PATH.joinpath("static")
|
STATICFILES_DIRS = [
|
||||||
MEDIA_ROOT = BASE_PATH.joinpath("media")
|
BASE_DIR / "static",
|
||||||
|
]
|
||||||
|
STATIC_ROOT = BASE_DIR.parent / "local-cdn" / "static"
|
||||||
|
|
||||||
|
MEDIA_URL = "media/"
|
||||||
|
MEDIAFILES_DIRS = [
|
||||||
|
BASE_DIR / "media",
|
||||||
|
]
|
||||||
|
MEDIA_ROOT = BASE_DIR.parent / "local-cdn" / "media"
|
||||||
|
|
||||||
|
|
||||||
# Default primary key field type
|
# Default primary key field type
|
||||||
@ -14,14 +14,15 @@ Including another URLconf
|
|||||||
2. Add a URL to urlpatterns: path("blog/", include("blog.urls"))
|
2. Add a URL to urlpatterns: path("blog/", include("blog.urls"))
|
||||||
"""
|
"""
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls.static import static
|
|
||||||
from django.contrib import admin
|
|
||||||
from django.urls import include, path
|
from django.urls import include, path
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("admin/", admin.site.urls),
|
|
||||||
path("", include("main.urls")),
|
path("", include("main.urls")),
|
||||||
path("projects/", include("projects.urls")),
|
path("projects/", include("projects.urls")),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
if settings.DEBUG:
|
||||||
|
from django.conf.urls.static import static
|
||||||
|
|
||||||
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||||
|
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||||
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
@ -1 +0,0 @@
|
|||||||
Subproject commit 2b3859eea3373df2f575ed5e8fc534bb118fb7c4
|
|
||||||
25
tox.ini
25
tox.ini
@ -1,25 +0,0 @@
|
|||||||
[tox]
|
|
||||||
minversion = 3.8.0
|
|
||||||
envlist = py310, flake8, mypy
|
|
||||||
isolated_build = true
|
|
||||||
|
|
||||||
[gh-actions]
|
|
||||||
python =
|
|
||||||
3.10: py310, mypy, flake8
|
|
||||||
|
|
||||||
[testenv]
|
|
||||||
setenv =
|
|
||||||
PYTHONPATH = {toxinidir}
|
|
||||||
deps =
|
|
||||||
-r{toxinidir}/requirements_dev.txt
|
|
||||||
|
|
||||||
[testenv:flake8]
|
|
||||||
basepython = python3.10
|
|
||||||
deps = flake8
|
|
||||||
commands = flake8 kristofersxyz
|
|
||||||
|
|
||||||
[testenv:mypy]
|
|
||||||
basepython = python3.10
|
|
||||||
deps =
|
|
||||||
-r{toxinidir}/requirements_dev.txt
|
|
||||||
commands = mypy kristofersxyz
|
|
||||||
Loading…
Reference in New Issue
Block a user