Skip to content
This repository has been archived by the owner on Dec 29, 2020. It is now read-only.

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
palewire committed Jun 9, 2010
0 parents commit 3460b03
Show file tree
Hide file tree
Showing 19 changed files with 212 additions and 0 deletions.
Empty file added __init__.py
Empty file.
Binary file added __init__.pyc
Binary file not shown.
Binary file added ire2010.db
Binary file not shown.
11 changes: 11 additions & 0 deletions manage.py
@@ -0,0 +1,11 @@
#!/usr/bin/env python
from django.core.management import execute_manager
try:
import settings # Assumed to be in the same directory.
except ImportError:
import sys
sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
sys.exit(1)

if __name__ == "__main__":
execute_manager(settings)
Empty file added polls/__init__.py
Empty file.
Binary file added polls/__init__.pyc
Binary file not shown.
4 changes: 4 additions & 0 deletions polls/admin.py
@@ -0,0 +1,4 @@
from polls.models import Project
from django.contrib import admin

admin.site.register(Project)
Binary file added polls/admin.pyc
Binary file not shown.
14 changes: 14 additions & 0 deletions polls/models.py
@@ -0,0 +1,14 @@
from django.db import models

class Project(models.Model):
title = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
active_flag = models.BooleanField()

def __unicode__(self):
return self.title

class Vote(models.Model):
project = models.ForeignKey(Project)
choice = models.IntegerField()

Binary file added polls/models.pyc
Binary file not shown.
23 changes: 23 additions & 0 deletions polls/tests.py
@@ -0,0 +1,23 @@
"""
This file demonstrates two different styles of tests (one doctest and one
unittest). These will both pass when you run "manage.py test".
Replace these with more appropriate tests for your application.
"""

from django.test import TestCase

class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.failUnlessEqual(1 + 1, 2)

__test__ = {"doctest": """
Another way to test that 1 + 1 is equal to 2.
>>> 1 + 1 == 2
True
"""}

34 changes: 34 additions & 0 deletions polls/views.py
@@ -0,0 +1,34 @@
from django.http import HttpResponse
from django.shortcuts import get_object_or_404, render_to_response
from polls.models import Project, Vote
from django.http import HttpResponseRedirect, HttpResponse
from django.core.urlresolvers import reverse
from django.db.models import Sum

def index(request):
projects = Project.objects.all().order_by('-pub_date')[:5]
return render_to_response('polls/index.html', {'projects': projects})


def detail(request, poll_id):
return HttpResponse("You're looking at poll %s." % poll_id)


def vote(request, poll_id):
p = get_object_or_404(Project, pk=poll_id)
if request.POST['data'] == "0":
value = -1
else:
value = 1
v = p.vote_set.create(choice = value)
v.save()
return HttpResponse(status=200)


def data(request, poll_id):
p = Project.objects.get(pk=poll_id)
total = p.vote_set.aggregate(Sum('choice'))
return render_to_response('polls/data.xml', {'project': p, 'vote_total': total['choice__sum'], }, mimetype="text/xml")

def crossdomain(request):
return HttpResponse('<?xml version=\"1.0\"?><cross-domain-policy><allow-access-from domain=\"*\" /></cross-domain-policy>', mimetype="text/xml")
Binary file added polls/views.pyc
Binary file not shown.
85 changes: 85 additions & 0 deletions settings.py
@@ -0,0 +1,85 @@
# Django settings for project project.

DEBUG = True
TEMPLATE_DEBUG = DEBUG

ADMINS = (
# ('Your Name', 'your_email@domain.com'),
)

MANAGERS = ADMINS

DATABASE_ENGINE = 'sqlite3' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'ire2010.db' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Los_Angeles'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'en-us'

SITE_ID = 1

# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = ''

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '5azog#co)kvogzbn^+@yn)$+(m8h=6t^-b)#=ox1s^$vuq4!vl'

# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)

MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)

ROOT_URLCONF = 'project.urls'

import os
settings_dir = os.path.dirname(__file__)
STATIC_DOC_ROOT = os.path.join(settings_dir, 'media')
TEMPLATE_DIRS = (
os.path.join(settings_dir, 'templates'),
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'polls',
)



Binary file added settings.pyc
Binary file not shown.
5 changes: 5 additions & 0 deletions templates/polls/data.xml
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<results>
<project>{{ project }}</project>
<totals>{{ vote_total }}</totals>
</results>
9 changes: 9 additions & 0 deletions templates/polls/index.html
@@ -0,0 +1,9 @@
{% if projects %}
<ul>
{% for project in projects %}
<li>{{ project.title }}</li>
{% endfor %}
</ul>
{% else %}
<p>No projects are available.</p>
{% endif %}
27 changes: 27 additions & 0 deletions urls.py
@@ -0,0 +1,27 @@
from django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

from django.conf import settings

urlpatterns = patterns('',
# Example:
# (r'^project/', include('project.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)),

(r'^polls/$', 'polls.views.index'),
(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'),
(r'^polls/(?P<poll_id>\d+)/vote/$', 'polls.views.vote'),
(r'^polls/(?P<poll_id>\d+)/data.xml$', 'polls.views.data'),
(r'^crossdomain.xml$', 'polls.views.crossdomain'),
(r'^pages/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_DOC_ROOT }),

)
Binary file added urls.pyc
Binary file not shown.

0 comments on commit 3460b03

Please sign in to comment.