Skip to content

Commit

Permalink
add revisits field for media tracking
Browse files Browse the repository at this point in the history
  • Loading branch information
FuzzyGrim committed Mar 30, 2024
1 parent e92dbc5 commit b80ebc2
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 32 deletions.
18 changes: 17 additions & 1 deletion src/app/forms.py
Expand Up @@ -69,7 +69,11 @@ def __init__(self, *args, **kwargs):
Column("progress", css_class="form-group col-md-6 ps-md-1"),
css_class="form-row",
),
"status",
Row(
Column("status", css_class="form-group col-md-6 pe-md-1"),
Column("revisits", css_class="form-group col-md-6 ps-md-1"),
css_class="form-row",
),
Row(
Column("start_date", css_class="form-group col-md-6 pe-md-1"),
Column("end_date", css_class="form-group col-md-6 ps-md-1"),
Expand All @@ -87,6 +91,7 @@ class Meta:
"score",
"progress",
"status",
"revisits",
"start_date",
"end_date",
"notes",
Expand All @@ -95,9 +100,13 @@ class Meta:
"media_id": forms.HiddenInput(),
"score": forms.NumberInput(attrs={"min": 0, "max": 10, "step": 0.1}),
"progress": forms.NumberInput(attrs={"min": 0}),
"revisits": forms.NumberInput(attrs={"min": 0}),
"start_date": forms.DateInput(attrs={"type": "date"}),
"end_date": forms.DateInput(attrs={"type": "date"}),
}
labels = {
"revisits": "Rewatches",
}


class MangaForm(MediaForm):
Expand All @@ -107,6 +116,9 @@ class Meta(MediaForm.Meta):
"""Bind form to model."""

model = Manga
labels = {
"revisits": "Rereads",
}


class AnimeForm(MediaForm):
Expand Down Expand Up @@ -203,6 +215,9 @@ class Meta(MediaForm.Meta):
"""Bind form to model."""

model = Game
labels = {
"revisits": "Replays",
}


class FilterForm(forms.Form):
Expand All @@ -225,6 +240,7 @@ class FilterForm(forms.Form):
("score", "Score"),
("title", "Title"),
("progress", "Progress"),
("revisits", "Revisits"),
("start_date", "Start Date"),
("end_date", "End Date"),
],
Expand Down
@@ -0,0 +1,43 @@
# Generated by Django 5.0.3 on 2024-03-30 18:18

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('app', '0009_game'),
]

operations = [
migrations.AddField(
model_name='anime',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='game',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='manga',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='movie',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='season',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
migrations.AddField(
model_name='tv',
name='revisits',
field=models.PositiveIntegerField(default=0),
),
]
3 changes: 2 additions & 1 deletion src/app/models.py
Expand Up @@ -45,10 +45,11 @@ class Media(models.Model):
("Dropped", "Dropped"),
],
)
revisits = models.PositiveIntegerField(default=0)
start_date = models.DateField(null=True, blank=True)
end_date = models.DateField(null=True, blank=True)
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)
notes = models.TextField(blank=True, default="")
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE)

class Meta:
"""Meta options for the model."""
Expand Down
7 changes: 7 additions & 0 deletions src/app/tests/test_forms.py
Expand Up @@ -22,6 +22,7 @@ def test_valid_media_form(self):
"score": 7.5,
"progress": 25,
"status": "Paused",
"revisits": 0,
"start_date": "2023-02-01",
"end_date": "2023-06-30",
"user": self.user.id,
Expand All @@ -39,6 +40,7 @@ def test_valid_tv_form(self):
"image": "sample.jpg",
"score": 7.5,
"status": "Completed",
"revisits": 0,
"user": self.user.id,
"notes": "New notes",
}
Expand All @@ -54,6 +56,7 @@ def test_valid_season_form(self):
"image": "sample.jpg",
"score": 7.5,
"status": "Completed",
"revisits": 0,
"season_number": 1,
"user": self.user.id,
"notes": "New notes",
Expand Down Expand Up @@ -86,6 +89,7 @@ def test_default_progress(self):
"media_type": "game",
"status": "Completed",
"progress": "25:00",
"revisits": 0,
"user": self.user.id,
}
form = GameForm(data=form_data)
Expand All @@ -98,6 +102,7 @@ def test_alternate_progress(self):
"media_type": "game",
"status": "Completed",
"progress": "25h 00m",
"revisits": 0,
"user": self.user.id,
}
form = GameForm(data=form_data)
Expand All @@ -111,6 +116,7 @@ def test_invalid_progress(self):
"media_type": "game",
"status": "Completed",
"progress": "25:00m",
"revisits": 0,
"user": self.user.id,
}
form = GameForm(data=form_data)
Expand All @@ -123,6 +129,7 @@ def test_invalid_minutes(self):
"media_type": "game",
"status": "Completed",
"progress": "25h61m",
"revisits": 0,
"user": self.user.id,
}
form = GameForm(data=form_data)
Expand Down
1 change: 1 addition & 0 deletions src/app/tests/test_views.py
Expand Up @@ -124,6 +124,7 @@ def test_edit_movie_score(self):
"score": 10,
"progress": 1,
"status": "Completed",
"revisits": 0,
"notes": "Nice",
},
)
Expand Down
1 change: 1 addition & 0 deletions src/integrations/exports.py
Expand Up @@ -16,6 +16,7 @@ def db_to_csv(response, user):
"score",
"progress",
"status",
"revisits",
"start_date",
"end_date",
"notes",
Expand Down
1 change: 1 addition & 0 deletions src/integrations/imports/tmdb.py
Expand Up @@ -64,6 +64,7 @@ def create_form(row, instance, media_metadata, status):
"media_type": media_type,
"score": row["Your Rating"],
"status": status,
"revisits": 0,
}

if status == "Completed":
Expand Down
60 changes: 30 additions & 30 deletions src/integrations/tests/mock_data/import_yamtrack.csv
@@ -1,30 +1,30 @@
"media_id","media_type","title","image","score","progress","status","start_date","end_date","notes","season_number","episode_number","watch_date"
"1668","tv","Friends","https://image.tmdb.org/t/p/w500/2koX1xLkpTQM4IZebYvKysFW1Nh.jpg","","24","In progress","2024-02-09","2024-02-09","","","",""
"10494","movie","Perfect Blue","https://image.tmdb.org/t/p/w500/6WTiOCfDPP8XV4jqfloiVWf7KHq.jpg","9.0","1","Completed","","2024-02-09","","","",""
"1668","season","Friends","https://image.tmdb.org/t/p/w500/odCW88Cq5hAF0ZFVOkeJmeQv1nV.jpg","8.0","24","Completed","2024-02-09","2024-02-09","","1","",""
"1668","episode","Friends","","","","","","","","1","24","2024-02-09"
"1668","episode","Friends","","","","","","","","1","23","2024-02-09"
"1668","episode","Friends","","","","","","","","1","22","2024-02-09"
"1668","episode","Friends","","","","","","","","1","21","2024-02-09"
"1668","episode","Friends","","","","","","","","1","20","2024-02-09"
"1668","episode","Friends","","","","","","","","1","19","2024-02-09"
"1668","episode","Friends","","","","","","","","1","18","2024-02-09"
"1668","episode","Friends","","","","","","","","1","17","2024-02-09"
"1668","episode","Friends","","","","","","","","1","16","2024-02-09"
"1668","episode","Friends","","","","","","","","1","15","2024-02-09"
"1668","episode","Friends","","","","","","","","1","14","2024-02-09"
"1668","episode","Friends","","","","","","","","1","13","2024-02-09"
"1668","episode","Friends","","","","","","","","1","12","2024-02-09"
"1668","episode","Friends","","","","","","","","1","11","2024-02-09"
"1668","episode","Friends","","","","","","","","1","10","2024-02-09"
"1668","episode","Friends","","","","","","","","1","9","2024-02-09"
"1668","episode","Friends","","","","","","","","1","8","2024-02-09"
"1668","episode","Friends","","","","","","","","1","7","2024-02-09"
"1668","episode","Friends","","","","","","","","1","6","2024-02-09"
"1668","episode","Friends","","","","","","","","1","5","2024-02-09"
"1668","episode","Friends","","","","","","","","1","4","2024-02-09"
"1668","episode","Friends","","","","","","","","1","3","2024-02-09"
"1668","episode","Friends","","","","","","","","1","2","2024-02-09"
"1668","episode","Friends","","","","","","","","1","1","2024-02-09"
"227","anime","FLCL","https://cdn.myanimelist.net/images/anime/7/77356l.jpg","","2","In progress","2024-02-09","","","","",""
"2","manga","Berserk","https://cdn.myanimelist.net/images/manga/1/157897l.jpg","","0","Completed","","2024-02-09","","","",""
"media_id","media_type","title","image","score","progress","status","revisits","start_date","end_date","notes","season_number","episode_number","watch_date"
"1668","tv","Friends","https://image.tmdb.org/t/p/w500/2koX1xLkpTQM4IZebYvKysFW1Nh.jpg","","24","In progress","0","2024-02-09","2024-02-09","","","",""
"10494","movie","Perfect Blue","https://image.tmdb.org/t/p/w500/6WTiOCfDPP8XV4jqfloiVWf7KHq.jpg","9.0","1","Completed","0","","2024-02-09","","","",""
"1668","season","Friends","https://image.tmdb.org/t/p/w500/odCW88Cq5hAF0ZFVOkeJmeQv1nV.jpg","8.0","24","Completed","0","2024-02-09","2024-02-09","","1","",""
"1668","episode","Friends","","","","","","","","","1","24","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","23","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","22","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","21","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","20","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","19","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","18","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","17","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","16","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","15","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","14","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","13","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","12","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","11","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","10","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","9","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","8","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","7","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","6","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","5","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","4","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","3","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","2","2024-02-09"
"1668","episode","Friends","","","","","","","","","1","1","2024-02-09"
"227","anime","FLCL","https://cdn.myanimelist.net/images/anime/7/77356l.jpg","","2","In progress","0","2024-02-09","","","","",""
"2","manga","Berserk","https://cdn.myanimelist.net/images/manga/1/157897l.jpg","","0","Completed","0","","2024-02-09","","","",""

0 comments on commit b80ebc2

Please sign in to comment.