Permalink
Browse files

Added basic structure

  • Loading branch information...
1 parent 6e197f8 commit f4504ec555e2e1f7253e00e1a2684712b54387c9 @fsouza committed Jul 31, 2010
Showing 1,348 changed files with 398,416 additions and 0 deletions.
View
@@ -1,2 +1,3 @@
*.swp
*.pyc
+.hg*
View
No changes.
View
@@ -0,0 +1,21 @@
+application: ctst
+version: 1
+runtime: python
+api_version: 1
+
+default_expiration: '365d'
+
+handlers:
+- url: /remote_api
+ script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
+ login: admin
+
+- url: /_ah/queue/deferred
+ script: djangoappengine/deferred/handler.py
+ login: admin
+
+- url: /media/admin
+ static_dir: django/contrib/admin/media/
+
+- url: /.*
+ script: djangoappengine/main/main.py
View
@@ -0,0 +1,4 @@
+cron:
+- description: keep alive
+ url: /
+ schedule: every 2 minutes
View
@@ -0,0 +1,16 @@
+VERSION = (1, 2, 1, 'final', 0)
+
+def get_version():
+ version = '%s.%s' % (VERSION[0], VERSION[1])
+ if VERSION[2]:
+ version = '%s.%s' % (version, VERSION[2])
+ if VERSION[3:] == ('alpha', 0):
+ version = '%s pre-alpha' % version
+ else:
+ if VERSION[3] != 'final':
+ version = '%s %s %s' % (version, VERSION[3], VERSION[4])
+ from django.utils.version import get_svn_revision
+ svn_rev = get_svn_revision()
+ if svn_rev != u'SVN-unknown':
+ version = "%s %s" % (version, svn_rev)
+ return version
View
No changes.
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+if __name__ == "__main__":
+ import sys
+ name = sys.argv[0]
+ args = ' '.join(sys.argv[1:])
+ print >> sys.stderr, "%s has been moved into django-admin.py" % name
+ print >> sys.stderr, 'Please run "django-admin.py compilemessages %s" instead.'% args
+ print >> sys.stderr
+ sys.exit(1)
+
@@ -0,0 +1,13 @@
+#!/usr/bin/env python
+
+"""
+Daily cleanup job.
+
+Can be run as a cronjob to clean out old data from the database (only expired
+sessions at the moment).
+"""
+
+from django.core import management
+
+if __name__ == "__main__":
+ management.call_command('cleanup')
@@ -0,0 +1,5 @@
+#!/usr/bin/env python
+from django.core import management
+
+if __name__ == "__main__":
+ management.execute_from_command_line()
@@ -0,0 +1,11 @@
+#!/usr/bin/env python
+
+if __name__ == "__main__":
+ import sys
+ name = sys.argv[0]
+ args = ' '.join(sys.argv[1:])
+ print >> sys.stderr, "%s has been moved into django-admin.py" % name
+ print >> sys.stderr, 'Please run "django-admin.py makemessages %s" instead.'% args
+ print >> sys.stderr
+ sys.exit(1)
+
No changes.
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+
+"""
+gather_profile_stats.py /path/to/dir/of/profiles
+
+Note that the aggregated profiles must be read with pstats.Stats, not
+hotshot.stats (the formats are incompatible)
+"""
+
+from hotshot import stats
+import pstats
+import sys, os
+
+def gather_stats(p):
+ profiles = {}
+ for f in os.listdir(p):
+ if f.endswith('.agg.prof'):
+ path = f[:-9]
+ prof = pstats.Stats(os.path.join(p, f))
+ elif f.endswith('.prof'):
+ bits = f.split('.')
+ path = ".".join(bits[:-3])
+ prof = stats.load(os.path.join(p, f))
+ else:
+ continue
+ print "Processing %s" % f
+ if path in profiles:
+ profiles[path].add(prof)
+ else:
+ profiles[path] = prof
+ os.unlink(os.path.join(p, f))
+ for (path, prof) in profiles.items():
+ prof.dump_stats(os.path.join(p, "%s.agg.prof" % path))
+
+if __name__ == '__main__':
+ gather_stats(sys.argv[1])
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+
+import os
+import sys
+
+def unique_messages():
+ basedir = None
+
+ if os.path.isdir(os.path.join('conf', 'locale')):
+ basedir = os.path.abspath(os.path.join('conf', 'locale'))
+ elif os.path.isdir('locale'):
+ basedir = os.path.abspath('locale')
+ else:
+ print "this script should be run from the django svn tree or your project or app tree"
+ sys.exit(1)
+
+ for (dirpath, dirnames, filenames) in os.walk(basedir):
+ for f in filenames:
+ if f.endswith('.po'):
+ sys.stderr.write('processing file %s in %s\n' % (f, dirpath))
+ pf = os.path.splitext(os.path.join(dirpath, f))[0]
+ cmd = 'msguniq "%s.po"' % pf
+ stdout = os.popen(cmd)
+ msg = stdout.read()
+ open('%s.po' % pf, 'w').write(msg)
+
+if __name__ == "__main__":
+ unique_messages()
View
@@ -0,0 +1,136 @@
+"""
+Settings and configuration for Django.
+
+Values will be read from the module specified by the DJANGO_SETTINGS_MODULE environment
+variable, and then from django.conf.global_settings; see the global settings file for
+a list of all possible variables.
+"""
+
+import os
+import re
+import time # Needed for Windows
+
+from django.conf import global_settings
+from django.utils.functional import LazyObject
+from django.utils import importlib
+
+ENVIRONMENT_VARIABLE = "DJANGO_SETTINGS_MODULE"
+
+class LazySettings(LazyObject):
+ """
+ A lazy proxy for either global Django settings or a custom settings object.
+ The user can manually configure settings prior to using them. Otherwise,
+ Django uses the settings module pointed to by DJANGO_SETTINGS_MODULE.
+ """
+ def _setup(self):
+ """
+ Load the settings module pointed to by the environment variable. This
+ is used the first time we need any settings at all, if the user has not
+ previously configured the settings manually.
+ """
+ try:
+ settings_module = os.environ[ENVIRONMENT_VARIABLE]
+ if not settings_module: # If it's set but is an empty string.
+ raise KeyError
+ except KeyError:
+ # NOTE: This is arguably an EnvironmentError, but that causes
+ # problems with Python's interactive help.
+ raise ImportError("Settings cannot be imported, because environment variable %s is undefined." % ENVIRONMENT_VARIABLE)
+
+ self._wrapped = Settings(settings_module)
+
+ def configure(self, default_settings=global_settings, **options):
+ """
+ Called to manually configure the settings. The 'default_settings'
+ parameter sets where to retrieve any unspecified values from (its
+ argument must support attribute access (__getattr__)).
+ """
+ if self._wrapped != None:
+ raise RuntimeError('Settings already configured.')
+ holder = UserSettingsHolder(default_settings)
+ for name, value in options.items():
+ setattr(holder, name, value)
+ self._wrapped = holder
+
+ def configured(self):
+ """
+ Returns True if the settings have already been configured.
+ """
+ return bool(self._wrapped)
+ configured = property(configured)
+
+class Settings(object):
+ def __init__(self, settings_module):
+ # update this dict from global settings (but only for ALL_CAPS settings)
+ for setting in dir(global_settings):
+ if setting == setting.upper():
+ setattr(self, setting, getattr(global_settings, setting))
+
+ # store the settings module in case someone later cares
+ self.SETTINGS_MODULE = settings_module
+
+ try:
+ mod = importlib.import_module(self.SETTINGS_MODULE)
+ except ImportError, e:
+ raise ImportError("Could not import settings '%s' (Is it on sys.path? Does it have syntax errors?): %s" % (self.SETTINGS_MODULE, e))
+
+ # Settings that should be converted into tuples if they're mistakenly entered
+ # as strings.
+ tuple_settings = ("INSTALLED_APPS", "TEMPLATE_DIRS")
+
+ for setting in dir(mod):
+ if setting == setting.upper():
+ setting_value = getattr(mod, setting)
+ if setting in tuple_settings and type(setting_value) == str:
+ setting_value = (setting_value,) # In case the user forgot the comma.
+ setattr(self, setting, setting_value)
+
+ # Expand entries in INSTALLED_APPS like "django.contrib.*" to a list
+ # of all those apps.
+ new_installed_apps = []
+ for app in self.INSTALLED_APPS:
+ if app.endswith('.*'):
+ app_mod = importlib.import_module(app[:-2])
+ appdir = os.path.dirname(app_mod.__file__)
+ app_subdirs = os.listdir(appdir)
+ app_subdirs.sort()
+ name_pattern = re.compile(r'[a-zA-Z]\w*')
+ for d in app_subdirs:
+ if name_pattern.match(d) and os.path.isdir(os.path.join(appdir, d)):
+ new_installed_apps.append('%s.%s' % (app[:-2], d))
+ else:
+ new_installed_apps.append(app)
+ self.INSTALLED_APPS = new_installed_apps
+
+ if hasattr(time, 'tzset') and getattr(self, 'TIME_ZONE'):
+ # Move the time zone info into os.environ. See ticket #2315 for why
+ # we don't do this unconditionally (breaks Windows).
+ os.environ['TZ'] = self.TIME_ZONE
+ time.tzset()
+
+class UserSettingsHolder(object):
+ """
+ Holder for user configured settings.
+ """
+ # SETTINGS_MODULE doesn't make much sense in the manually configured
+ # (standalone) case.
+ SETTINGS_MODULE = None
+
+ def __init__(self, default_settings):
+ """
+ Requests for configuration variables not in this class are satisfied
+ from the module specified in default_settings (if possible).
+ """
+ self.default_settings = default_settings
+
+ def __getattr__(self, name):
+ return getattr(self.default_settings, name)
+
+ def __dir__(self):
+ return self.__dict__.keys() + dir(self.default_settings)
+
+ # For Python < 2.6:
+ __members__ = property(lambda self: self.__dir__())
+
+settings = LazySettings()
+
No changes.
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
@@ -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
+"""}
+
@@ -0,0 +1 @@
+# Create your views here.
Oops, something went wrong.

0 comments on commit f4504ec

Please sign in to comment.