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.

82 lines
2.5 KiB

import datetime
from django.conf.urls.defaults import *
from django.views.generic.simple import direct_to_template
from django.views.generic.list_detail import object_list
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
from pyi2phosts.lib.utils import get_b32
from pyi2phosts.extsources.models import ExternalSource
from pyi2phosts.postkey.models import i2phost
import settings
extsources = {
'queryset': ExternalSource.objects.filter(active=True),
'template_name': 'faq.html',
'template_object_name': 'sources',
'extra_context': {
'title': settings.SITE_NAME,
}
}
browse_hosts = {
'queryset': i2phost.objects.filter(activated=True).order_by("-last_seen"),
'template_name': 'browse.html',
'template_object_name': 'host',
'paginate_by': 40,
'extra_context': {
'title': settings.SITE_NAME,
}
}
# FIXME: move to settings
day_count = 30
hosts_count = 40
now_date = datetime.datetime.utcnow()
start_date = now_date - datetime.timedelta(days=day_count)
latest_hosts = {
'queryset': i2phost.objects.filter(activated=True,
date_added__range=(start_date, now_date)).order_by("-date_added")[:hosts_count],
'template_name': 'latest.html',
'template_object_name': 'host',
'paginate_by': 40,
'extra_context': {
'title': settings.SITE_NAME,
'day_count': day_count,
'hosts_count': hosts_count,
}
}
urlpatterns = patterns('',
url(r'^$', direct_to_template, {
'template': 'index.html',
'extra_context': {
'title': settings.SITE_NAME,
'domain': settings.DOMAIN,
'b64': settings.MY_B64,
'b32': get_b32(settings.MY_B64)
}
}, name='index'),
url(r'^faq/$', object_list, extsources, name='faq'),
url(r'^browse/$', object_list, browse_hosts, name='browse'),
url(r'^latest/$', object_list, latest_hosts, name='latest'),
(r'^search/$', include('pyi2phosts.search.urls')),
(r'^postkey/', include('pyi2phosts.postkey.urls')),
(r'^jump/', include('pyi2phosts.jump.urls')),
# Example:
# (r'^pyi2phosts.', include('pyi2phosts.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/', include(admin.site.urls)),
)
if settings.DEBUG:
urlpatterns += patterns('', (r'static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes':True}))