Skip to content

Commit

Permalink
Refurbished design
Browse files Browse the repository at this point in the history
  • Loading branch information
TypicalAM committed Jul 19, 2022
1 parent e62674d commit 48ba555
Show file tree
Hide file tree
Showing 131 changed files with 26,342 additions and 794 deletions.
11 changes: 10 additions & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,13 @@
jobs=4
ignore-paths=.*/migrations, .*tests
good-names= "setUp", "ALLOWED_HOSTS"
disable=W0201, E0401, E0611, E1101, R1725, R0903, C0103, W0707, C0325, C0415, R0901, W0237, W0221
disable=unused-argument,
too-few-public-methods,
invalid-name,
no-member,
arguments-differ,
too-many-ancestors,
fixme,
arguments-renamed,
unused-import,
import-outside-toplevel
29 changes: 29 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# pull official base image
FROM python:3.9.6-alpine

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install psycopg2 dependencies
RUN apk update \
&& apk add postgresql-dev gcc python3-dev musl-dev jpeg-dev zlib-dev

# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt

# copy entrypoint.sh
COPY ./entrypoint.sh .
RUN sed -i 's/\r$//g' /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh

# copy project
COPY . .

# run entrypoint.sh
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]
13 changes: 3 additions & 10 deletions diets/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,27 +97,20 @@ class Meta:
def save(self, author):
"""Save the diet and create the day backups & relations"""
my_diet = Diet.objects.create(**self.cleaned_data, author=author)
dates = [my_diet.date + datetime.timedelta(days=i) for i in range(8)]
dates = [my_diet.date + datetime.timedelta(days=i) for i in range(7)]
my_diet.save(dates)


class DietImportForm(forms.Form):
"""A form to import diets into your day"""

date = fields.DateField()

def clean(self):
"""Clean the slug and add it to the data"""
slug = self.data.get("slug")
if not slug:
raise ValidationError("No slug")
clean_data = self.cleaned_data
clean_data["slug"] = slug
return clean_data
slug = fields.SlugField()

def save(self, user):
"""Fill the days of the user with the days from the selected diet"""
clean_data = self.cleaned_data
print(clean_data)
diet = Diet.objects.filter(slug=clean_data["slug"]).first()
if not diet:
raise ValidationError("No diet with that slug")
Expand Down
173 changes: 169 additions & 4 deletions diets/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,44 @@
# Generated by Django 4.0.4 on 2022-04-13 20:35
# Generated by Django 4.0.6 on 2022-07-19 21:50

import datetime
import diets.models
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

initial = True

dependencies = []
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name="Day",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("date", models.DateField(default=datetime.date.today)),
("backup", models.BooleanField(default=False)),
(
"author",
models.ForeignKey(
on_delete=models.SET(diets.models.get_sentinel),
to=settings.AUTH_USER_MODEL,
),
),
],
),
migrations.CreateModel(
name="Ingredient",
fields=[
Expand All @@ -22,13 +51,149 @@ class Migration(migrations.Migration):
verbose_name="ID",
),
),
("name", models.CharField(max_length=50, null=True)),
("name", models.CharField(default="ingr", max_length=100)),
(
"image",
models.ImageField(
default="default.jpg", upload_to="ingr_thumbnails"
default="ingr_thumb/default.jpg", upload_to="ingr_thumb"
),
),
],
),
migrations.CreateModel(
name="Meal",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(default="mymeal", max_length=100)),
("description", models.CharField(max_length=200, null=True)),
("recipe", models.TextField(max_length=1000, null=True)),
(
"image",
models.ImageField(
default="meal_thumb/default.jpg", upload_to="meal_thumb"
),
),
("url", models.URLField(null=True)),
(
"author",
models.ForeignKey(
on_delete=models.SET(diets.models.get_sentinel),
to=settings.AUTH_USER_MODEL,
),
),
],
options={
"ordering": ["pk"],
},
),
migrations.CreateModel(
name="ThroughMealIngr",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("amount", models.PositiveIntegerField()),
(
"ingredient",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="diets.ingredient",
),
),
(
"meal",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="diets.meal",
),
),
],
),
migrations.CreateModel(
name="ThroughDayMeal",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("meal_num", models.PositiveSmallIntegerField()),
(
"day",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="diets.day",
),
),
(
"meal",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="diets.meal",
),
),
],
),
migrations.AddField(
model_name="meal",
name="ingredients",
field=models.ManyToManyField(
through="diets.ThroughMealIngr", to="diets.ingredient"
),
),
migrations.CreateModel(
name="Diet",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=100)),
("public", models.BooleanField(default=True)),
("date", models.DateField(default=datetime.date.today)),
("description", models.TextField(max_length=200)),
("slug", models.SlugField(unique=True)),
(
"author",
models.ForeignKey(
on_delete=models.SET(diets.models.get_sentinel),
to=settings.AUTH_USER_MODEL,
),
),
("days", models.ManyToManyField(to="diets.day")),
],
options={
"ordering": ["pk"],
},
),
migrations.AddField(
model_name="day",
name="meals",
field=models.ManyToManyField(
through="diets.ThroughDayMeal", to="diets.meal"
),
),
]

This file was deleted.

Loading

0 comments on commit 48ba555

Please sign in to comment.