mirror of https://github.com/r4sas/py-i2phosts
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.
83 lines
2.5 KiB
83 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 |
|
|
|
def now_date(): |
|
return datetime.datetime.utcnow() |
|
|
|
def start_date(): |
|
return now_date() - datetime.timedelta(days=settings.LATEST_DAY_COUNT) |
|
|
|
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, |
|
} |
|
} |
|
|
|
latest_hosts = { |
|
'queryset': i2phost.objects.filter(activated=True, |
|
date_added__range=(start_date(), now_date())).order_by("-date_added")[:settings.LATEST_HOSTS_COUNT], |
|
'template_name': 'latest.html', |
|
'template_object_name': 'host', |
|
'paginate_by': 40, |
|
'extra_context': { |
|
'title': settings.SITE_NAME, |
|
'day_count': settings.LATEST_DAY_COUNT, |
|
'hosts_count': settings.LATEST_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}))
|
|
|