diff --git a/paste/forms.py b/paste/forms.py index d0c9135..d40e44f 100644 --- a/paste/forms.py +++ b/paste/forms.py @@ -17,8 +17,6 @@ class PasteForm(ModelForm): "language", "title", "content", - "lifetime", - "lifecount", ] def save(self, commit=True): diff --git a/paste/migrations/0005_remove_paste_expired_remove_paste_lifecount_and_more.py b/paste/migrations/0005_remove_paste_expired_remove_paste_lifecount_and_more.py new file mode 100644 index 0000000..a0c68a5 --- /dev/null +++ b/paste/migrations/0005_remove_paste_expired_remove_paste_lifecount_and_more.py @@ -0,0 +1,24 @@ +# Generated by Django 4.2 on 2023-04-21 07:44 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("paste", "0004_remove_paste_password_remove_paste_salt_and_more"), + ] + + operations = [ + migrations.RemoveField( + model_name="paste", + name="expired", + ), + migrations.RemoveField( + model_name="paste", + name="lifecount", + ), + migrations.RemoveField( + model_name="paste", + name="lifetime", + ), + ] diff --git a/paste/models.py b/paste/models.py index 27dbf1b..5b5b139 100644 --- a/paste/models.py +++ b/paste/models.py @@ -52,65 +52,22 @@ class Paste(models.Model): ) size = models.IntegerField(default=0, editable=False) paste_time = models.DateTimeField(default=datetime.now, editable=False) - lifetime = models.IntegerField( - default=settings.PASTE["default_lifetime"], choices=EXPIRE_CHOICES - ) - lifecount = models.IntegerField(default=0, blank=True) viewcount = models.IntegerField(default=0, editable=False) - expired = models.BooleanField(default=False, editable=False) def compute_size(self): """Computes size.""" self.size = len(self.content) - def is_expired(self): - """Return expiration status.""" - if self.expired or self.time_expired() or self.view_expired(): - return True - return False - - def time_expired(self): - """Check if paste lifetime is over.""" - if not self.lifetime or self.lifetime - self.get_age() > 0: - return False - self.mark_expired() - return True - def get_age(self): """Return age in minutes""" delta = timezone.now() - self.paste_time return divmod(delta.days * 86400 + delta.seconds, 60)[0] - def expiration_time(self): - """Return expiration time""" - if not self.lifetime: - return None - delta = timedelta(minutes=self.lifetime) - return self.paste_time + delta - - def mark_expired(self): - """Mark paste expired.""" - self.expired = True - self.save() - def incr_viewcount(self): """Increment view counter.""" self.viewcount = self.viewcount + 1 self.save() - def view_expired(self): - """Check if paste view count is over.""" - if not self.lifecount: - return False - if self.lifecount <= self.viewcount: - self.mark_expired() - return True - return False - - def __unicode__(self): - """String representation.""" - return self.slug - def __str__(self): excerpt = repr(self.content[:100]) + ("..." if len(self.content) > 100 else "") return "{} - {} - {}".format(self.slug, self.title, excerpt) diff --git a/paste/renderers.py b/paste/renderers.py index eb161fe..519a158 100644 --- a/paste/renderers.py +++ b/paste/renderers.py @@ -17,13 +17,6 @@ def render_pygments(request, paste, data): return HttpResponse(rendered) -def render_form(request, paste, data): - """Renders Form template.""" - data["paste"] = paste - rendered = loader.render_to_string("paste/show-form.html", data, request) - return HttpResponse(rendered) - - def render_raw(request, paste, data): """Renders RAW content.""" return HttpResponse(paste.content, content_type="text/plain") diff --git a/paste/templates/paste/expired.html b/paste/templates/paste/expired.html deleted file mode 100644 index 4c046e5..0000000 --- a/paste/templates/paste/expired.html +++ /dev/null @@ -1,10 +0,0 @@ -{% extends "base.html" %} -{% load i18n %} -{% block title %}{{ title }}{% endblock %} -{% block content %} -
{% blocktrans %}This paste has expired{% endblocktrans %}.
-{% blocktrans %}Sorry but the paste you try to access has expired{% endblocktrans %}.
-{{ error_message }}
{% endif %} -{% if PASTE.has_meta_table %} -# | -{% trans 'Language' %} | -{% trans 'Size' %} | -{% trans 'Paste time' %} | -{% trans 'Visibility' %} | -{% trans 'Protection' %} | -{% trans 'Views' %} | -{% trans 'Expire time' %} | -
---|---|---|---|---|---|---|---|
{{ paste.id }} | -{% trans paste.language.name %} | -{{ paste.size }} | -{{ paste.paste_time }} | -{{ paste.viewcount }}{% if paste.lifecount > 0 %}/{{ paste.lifecount }}{% endif %} | -{% if paste.expiration_time %}{{ paste.expiration_time }}{% else %}{% trans 'None' %}{% endif %} | -