hostnames registration application for I2P
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
1.2 KiB

from django.db import models
from django.utils.translation import ugettext_lazy as _
class i2phost(models.Model):
# Hostname limit is 67 characters maximum, including the '.i2p'.
name = models.CharField(_('I2P hostname'), max_length=67, unique=True)
# Maximum key length 616 bytes (to account for certs up to 100 bytes).
b64hash = models.CharField(_('Base 64 hash'), max_length=616)
description = models.CharField(_('Description'), max_length=4096, blank=True)
date_added = models.DateTimeField(null=True, blank=True)
# Last time this host was up
last_seen = models.DateTimeField(null=True, blank=True)
# Scheduled expiration date
expires = models.DateField(null=True, blank=True)
# Not-activated hosts will not appear in exported hosts.txt
activated = models.BooleanField(default=False)
# Indicator for hosts added from external source
external = models.BooleanField(default=False)
# Not approved hosts will not appear in exported hosts.txt
approved = models.BooleanField(default=False)
def __unicode__(self):
return self.name
class PendingHost(i2phost):
""" Proxy model needed for displaying not approved hosts in django admin separatelly """
class Meta:
proxy = True