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 %} -

{{ title }}

-
-

{% blocktrans %}This paste has expired{% endblocktrans %}.

-

{% blocktrans %}Sorry but the paste you try to access has expired{% endblocktrans %}.

-
-{% endblock %} \ No newline at end of file diff --git a/paste/templates/paste/index.html b/paste/templates/paste/index.html index 5fe7e4d..547e54d 100644 --- a/paste/templates/paste/index.html +++ b/paste/templates/paste/index.html @@ -32,30 +32,6 @@ {{ form.language.errors }} -
- -
-
-
-
- {{ form.lifetime|add_class:"form-control" }} -
- {{ form.lifetime.errors }} -
- - {% if PASTE.has_expire_by_views %} -
- -
-
-
-
- {{ form.lifecount|add_class:"form-control" }} -
- {{ form.lifecount.errors }} -
- {% endif %} -
diff --git a/paste/templates/paste/paste-meta.html b/paste/templates/paste/paste-meta.html deleted file mode 100644 index 9b4170d..0000000 --- a/paste/templates/paste/paste-meta.html +++ /dev/null @@ -1,31 +0,0 @@ -{% load i18n %} -{% if error_message %}

{{ 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 %}
-{% endif %} -
-
- {% if PASTE.has_title %} -

{{ paste.title|truncatechars:50 }}

- {% endif %} -
-
diff --git a/paste/templates/paste/show-form.html b/paste/templates/paste/show-form.html deleted file mode 100644 index 045d443..0000000 --- a/paste/templates/paste/show-form.html +++ /dev/null @@ -1,14 +0,0 @@ -{% extends "base.html" %} - -{% block title %}{{ title }}{% endblock %} -{% block content %} -{% include "paste/paste-meta.html" %} -
-{% endblock %} -{% block javascript %} - -{% endblock %} \ No newline at end of file diff --git a/paste/templates/paste/show-pygments.html b/paste/templates/paste/show-pygments.html index 9d2895d..0f42647 100644 --- a/paste/templates/paste/show-pygments.html +++ b/paste/templates/paste/show-pygments.html @@ -6,5 +6,4 @@ {% endblock %} {% block content %} {{ highlighted|safe }} -{% include "paste/paste-meta.html" %} {% endblock %} diff --git a/paste/views.py b/paste/views.py index f5183a4..5d70c9e 100644 --- a/paste/views.py +++ b/paste/views.py @@ -56,8 +56,6 @@ def show(request, slug, renderer="pygments"): paste = get_object_or_404(Paste, slug=slug) data = {"title": paste.title, "slug": slug} # Handling expiration - if paste.is_expired(): - return render(request, "paste/expired.html") # Before rendering actions paste.incr_viewcount() # Handling rendering modes diff --git a/webtools/settings.py b/webtools/settings.py index 925bd84..a662312 100644 --- a/webtools/settings.py +++ b/webtools/settings.py @@ -92,7 +92,6 @@ INSTALLED_APPS = ( PASTE = { "has_title": False, - "has_expire_by_views": False, "has_meta_table": False, "enabled_renderers": ["pygments", "raw"], "default_renderer": "pygments",