[Assorted-commits] SF.net SVN: assorted:[1425] pitch-in/trunk/src
Brought to you by:
yangzhang
From: <yan...@us...> - 2009-05-24 20:02:56
|
Revision: 1425 http://assorted.svn.sourceforge.net/assorted/?rev=1425&view=rev Author: yangzhang Date: 2009-05-24 20:02:51 +0000 (Sun, 24 May 2009) Log Message: ----------- added simple django app Added Paths: ----------- pitch-in/trunk/src/pitchin/ pitch-in/trunk/src/pitchin/app.yaml pitch-in/trunk/src/pitchin/main.py pitch-in/trunk/src/pitchin/pitchin/ pitch-in/trunk/src/pitchin/pitchin/__init__.py pitch-in/trunk/src/pitchin/pitchin/manage.py pitch-in/trunk/src/pitchin/pitchin/models.py pitch-in/trunk/src/pitchin/pitchin/settings.py pitch-in/trunk/src/pitchin/pitchin/urls.py pitch-in/trunk/src/pitchin/pitchin/views.py Added: pitch-in/trunk/src/pitchin/app.yaml =================================================================== --- pitch-in/trunk/src/pitchin/app.yaml (rev 0) +++ pitch-in/trunk/src/pitchin/app.yaml 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,8 @@ +application: pitch-in +version: 1 +runtime: python +api_version: 1 + +handlers: +- url: /.* + script: main.py Added: pitch-in/trunk/src/pitchin/main.py =================================================================== --- pitch-in/trunk/src/pitchin/main.py (rev 0) +++ pitch-in/trunk/src/pitchin/main.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,39 @@ +import logging, os + +# Google App Engine imports. +from google.appengine.ext.webapp import util + +# Must set this env var before importing any part of Django +os.environ['DJANGO_SETTINGS_MODULE'] = 'pitchin.settings' + +# Force Django to reload its settings. +from django.conf import settings +settings._target = None + +import logging +import django.core.handlers.wsgi +import django.core.signals +import django.db +import django.dispatch.dispatcher + +def log_exception(*args, **kwds): + logging.exception('Exception in request:') + +# Log errors. +django.dispatch.dispatcher.connect( + log_exception, django.core.signals.got_request_exception) + +# Unregister the rollback event handler. +django.dispatch.dispatcher.disconnect( + django.db._rollback_on_exception, + django.core.signals.got_request_exception) + +def main(): + # Create a Django application for WSGI. + application = django.core.handlers.wsgi.WSGIHandler() + + # Run the WSGI CGI handler with that application. + util.run_wsgi_app(application) + +if __name__ == '__main__': + main() Added: pitch-in/trunk/src/pitchin/pitchin/manage.py =================================================================== --- pitch-in/trunk/src/pitchin/pitchin/manage.py (rev 0) +++ pitch-in/trunk/src/pitchin/pitchin/manage.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,11 @@ +#!/usr/bin/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) Property changes on: pitch-in/trunk/src/pitchin/pitchin/manage.py ___________________________________________________________________ Added: svn:executable + * Added: pitch-in/trunk/src/pitchin/pitchin/models.py =================================================================== --- pitch-in/trunk/src/pitchin/pitchin/models.py (rev 0) +++ pitch-in/trunk/src/pitchin/pitchin/models.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,5 @@ +from google.appengine.ext import db + +class Visitor(db.Model): + ip = db.StringProperty() + added_on = db.DateTimeProperty(auto_now_add=True) Added: pitch-in/trunk/src/pitchin/pitchin/settings.py =================================================================== --- pitch-in/trunk/src/pitchin/pitchin/settings.py (rev 0) +++ pitch-in/trunk/src/pitchin/pitchin/settings.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,79 @@ +# Django settings for pitchin project. + +DEBUG = True +TEMPLATE_DEBUG = DEBUG + +ADMINS = ( + # ('Your Name', 'you...@do...'), +) + +MANAGERS = ADMINS + +DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. +DATABASE_NAME = '' # 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/Chicago' + +# 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 = 'j+1_^qvj*i3a@wnrl*ravo1r^&80+i$*sn9j3&*o%iw5y&fl7s' + +# 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 = 'pitchin.urls' + +TEMPLATE_DIRS = ( + # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". + # Always use forward slashes, even on Windows. + # Don't forget to use absolute paths, not relative paths. +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', +) Added: pitch-in/trunk/src/pitchin/pitchin/urls.py =================================================================== --- pitch-in/trunk/src/pitchin/pitchin/urls.py (rev 0) +++ pitch-in/trunk/src/pitchin/pitchin/urls.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,17 @@ +from django.conf.urls.defaults import * + +# Uncomment the next two lines to enable the admin: +# from django.contrib import admin +# admin.autodiscover() + +urlpatterns = patterns('', + # Example: + (r'.*', 'pitchin.views.main'), + + # 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/(.*)', admin.site.root), +) Added: pitch-in/trunk/src/pitchin/pitchin/views.py =================================================================== --- pitch-in/trunk/src/pitchin/pitchin/views.py (rev 0) +++ pitch-in/trunk/src/pitchin/pitchin/views.py 2009-05-24 20:02:51 UTC (rev 1425) @@ -0,0 +1,9 @@ +from django.http import HttpResponse +from pitchin.models import Visitor + +def main(request): + visitor = Visitor() + visitor.ip = request.META["REMOTE_ADDR"] + visitor.put() + return HttpResponse( u'%s visited on %s' % (v.ip, v.added_on) + for v in Visitors.all().order('-added_on').fetch(limit=40) ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |