diff --git a/bin/steps/django b/bin/steps/django index 12aadb4fecafe78cf2efd5c975dcf5ddc9652ebe..8178ed68928dc5a581bb151e27d4d37c6869fc7a 100755 --- a/bin/steps/django +++ b/bin/steps/django @@ -21,50 +21,14 @@ fi echo "-----> Injecting Django settings..." -SETTINGS_FILE=$(find . -maxdepth 3 -type f -name 'settings.py' | head -1) +SETTINGS_FILE=$(find . -maxdepth 2 -type f -name 'settings.py' | head -1) PROJECT=$(dirname $SETTINGS_FILE) echo "Injecting code into $SETTINGS_FILE to read from DATABASE_URL" | indent cat >>$SETTINGS_FILE <<EOF -import os -import sys -import urlparse - -# Register database schemes in URLs. -urlparse.uses_netloc.append('postgres') -urlparse.uses_netloc.append('mysql') - -try: - - # Check to make sure DATABASES is set in settings.py file. - # If not default to {} - - if 'DATABASES' not in locals(): - DATABASES = {} - - if 'DATABASE_URL' in os.environ: - url = urlparse.urlparse(os.environ['DATABASE_URL']) - - # Ensure default database exists. - DATABASES['default'] = DATABASES.get('default', {}) - - # Update with environment configuration. - DATABASES['default'].update({ - 'NAME': url.path[1:], - 'USER': url.username, - 'PASSWORD': url.password, - 'HOST': url.hostname, - 'PORT': url.port, - }) - if url.scheme == 'postgres': - DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2' - - if url.scheme == 'mysql': - DATABASES['default']['ENGINE'] = 'django.db.backends.mysql' -except Exception: - print 'Unexpected error:', sys.exc_info() +import dj_database_url EOF diff --git a/bin/test b/bin/test index a5f6b1d3841070b11172e5cb04c6f51fc5402700..b3bd83ab59dbc39a47b91ddaf2a980b117e80b4c 100755 --- a/bin/test +++ b/bin/test @@ -56,12 +56,6 @@ testDetectNotPython() { assertEquals "1" "${RETURN}" } -testDetectDjangoWithMultipleRequirements() { - detect "multiple-requirements" - assertCapturedEquals "Python/Django" - assertCapturedSuccess -} - ## utils ######################################## diff --git a/test/django-1.4-skeleton/haystack/.DS_Store b/test/django-1.4-skeleton/haystack/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 Binary files /dev/null and b/test/django-1.4-skeleton/haystack/.DS_Store differ diff --git a/test/django-1.4-skeleton/haystack/haystack/__init__.py b/test/django-1.4-skeleton/haystack/__init__.py similarity index 100% rename from test/django-1.4-skeleton/haystack/haystack/__init__.py rename to test/django-1.4-skeleton/haystack/__init__.py diff --git a/test/django-1.4-skeleton/haystack/haystack/settings.py b/test/django-1.4-skeleton/haystack/settings.py similarity index 100% rename from test/django-1.4-skeleton/haystack/haystack/settings.py rename to test/django-1.4-skeleton/haystack/settings.py diff --git a/test/django-1.4-skeleton/haystack/haystack/urls.py b/test/django-1.4-skeleton/haystack/urls.py similarity index 100% rename from test/django-1.4-skeleton/haystack/haystack/urls.py rename to test/django-1.4-skeleton/haystack/urls.py diff --git a/test/django-1.4-skeleton/haystack/haystack/wsgi.py b/test/django-1.4-skeleton/haystack/wsgi.py similarity index 100% rename from test/django-1.4-skeleton/haystack/haystack/wsgi.py rename to test/django-1.4-skeleton/haystack/wsgi.py diff --git a/test/django-1.4-skeleton/haystack/manage.py b/test/django-1.4-skeleton/manage.py similarity index 100% rename from test/django-1.4-skeleton/haystack/manage.py rename to test/django-1.4-skeleton/manage.py diff --git a/test/multiple-requirements/haystack/haystack/__init__.py b/test/multiple-requirements/haystack/haystack/__init__.py deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/test/multiple-requirements/haystack/haystack/settings.py b/test/multiple-requirements/haystack/haystack/settings.py deleted file mode 100644 index 5ca2450ed8a3ee0cf030ef9acc99048669a3731f..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/haystack/haystack/settings.py +++ /dev/null @@ -1,154 +0,0 @@ -# Django settings for haystack project. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -ADMINS = ( - # ('Your Name', 'your_email@example.com'), -) - -MANAGERS = ADMINS - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. - 'NAME': '', # Or path to database file if using sqlite3. - 'USER': '', # Not used with sqlite3. - 'PASSWORD': '', # Not used with sqlite3. - 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. - '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. -# On Unix systems, a value of None will cause Django to use the same -# timezone as the operating system. -# 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 - -# If you set this to False, Django will not format dates, numbers and -# calendars according to the current locale. -USE_L10N = True - -# If you set this to False, Django will not use timezone-aware datetimes. -USE_TZ = True - -# Absolute filesystem path to the directory that will hold user-uploaded files. -# Example: "/home/media/media.lawrence.com/media/" -MEDIA_ROOT = '' - -# URL that handles the media served from MEDIA_ROOT. Make sure to use a -# trailing slash. -# Examples: "http://media.lawrence.com/media/", "http://example.com/media/" -MEDIA_URL = '' - -# Absolute path to the directory static files should be collected to. -# Don't put anything in this directory yourself; store your static files -# in apps' "static/" subdirectories and in STATICFILES_DIRS. -# Example: "/home/media/media.lawrence.com/static/" -STATIC_ROOT = '' - -# URL prefix for static files. -# Example: "http://media.lawrence.com/static/" -STATIC_URL = '/static/' - -# Additional locations of static files -STATICFILES_DIRS = ( - # Put strings here, like "/home/html/static" or "C:/www/django/static". - # Always use forward slashes, even on Windows. - # Don't forget to use absolute paths, not relative paths. -) - -# List of finder classes that know how to find static files in -# various locations. -STATICFILES_FINDERS = ( - 'django.contrib.staticfiles.finders.FileSystemFinder', - 'django.contrib.staticfiles.finders.AppDirectoriesFinder', -# 'django.contrib.staticfiles.finders.DefaultStorageFinder', -) - -# Make this unique, and don't share it with anybody. -SECRET_KEY = '633$+yuh67kvt_v8gpi9zmkvqb*m5nts6&a=q^dwhi+e#^j_ki' - -# List of callables that know how to import templates from various sources. -TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.Loader', - 'django.template.loaders.app_directories.Loader', -# 'django.template.loaders.eggs.Loader', -) - -MIDDLEWARE_CLASSES = ( - 'django.middleware.common.CommonMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', - 'django.middleware.csrf.CsrfViewMiddleware', - 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.contrib.messages.middleware.MessageMiddleware', - # Uncomment the next line for simple clickjacking protection: - # 'django.middleware.clickjacking.XFrameOptionsMiddleware', -) - -ROOT_URLCONF = 'haystack.urls' - -# Python dotted path to the WSGI application used by Django's runserver. -WSGI_APPLICATION = 'haystack.wsgi.application' - -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', - 'django.contrib.messages', - 'django.contrib.staticfiles', - # Uncomment the next line to enable the admin: - # 'django.contrib.admin', - # Uncomment the next line to enable admin documentation: - # 'django.contrib.admindocs', -) - -# A sample logging configuration. The only tangible logging -# performed by this configuration is to send an email to -# the site admins on every HTTP 500 error when DEBUG=False. -# See http://docs.djangoproject.com/en/dev/topics/logging for -# more details on how to customize your logging configuration. -LOGGING = { - 'version': 1, - 'disable_existing_loggers': False, - 'filters': { - 'require_debug_false': { - '()': 'django.utils.log.RequireDebugFalse' - } - }, - 'handlers': { - 'mail_admins': { - 'level': 'ERROR', - 'filters': ['require_debug_false'], - 'class': 'django.utils.log.AdminEmailHandler' - } - }, - 'loggers': { - 'django.request': { - 'handlers': ['mail_admins'], - 'level': 'ERROR', - 'propagate': True, - }, - } -} diff --git a/test/multiple-requirements/haystack/haystack/urls.py b/test/multiple-requirements/haystack/haystack/urls.py deleted file mode 100644 index 570343210d044f3d76bc1235537396cc2c6e9e3c..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/haystack/haystack/urls.py +++ /dev/null @@ -1,17 +0,0 @@ -from django.conf.urls import patterns, include, url - -# Uncomment the next two lines to enable the admin: -# from django.contrib import admin -# admin.autodiscover() - -urlpatterns = patterns('', - # Examples: - # url(r'^$', 'haystack.views.home', name='home'), - # url(r'^haystack/', include('haystack.foo.urls')), - - # Uncomment the admin/doc line below to enable admin documentation: - # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), - - # Uncomment the next line to enable the admin: - # url(r'^admin/', include(admin.site.urls)), -) diff --git a/test/multiple-requirements/haystack/haystack/wsgi.py b/test/multiple-requirements/haystack/haystack/wsgi.py deleted file mode 100644 index e7e1a77f2aef0eaa7212b46ffdc1854bb9bfd143..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/haystack/haystack/wsgi.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -WSGI config for haystack project. - -This module contains the WSGI application used by Django's development server -and any production WSGI deployments. It should expose a module-level variable -named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover -this application via the ``WSGI_APPLICATION`` setting. - -Usually you will have the standard Django WSGI application here, but it also -might make sense to replace the whole Django WSGI application with a custom one -that later delegates to the Django one. For example, you could introduce WSGI -middleware here, or combine a Django application with an application of another -framework. - -""" -import os - -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - -# This application object is used by any WSGI server configured to use this -# file. This includes Django's development server, if the WSGI_APPLICATION -# setting points here. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - -# Apply WSGI middleware here. -# from helloworld.wsgi import HelloWorldApplication -# application = HelloWorldApplication(application) diff --git a/test/multiple-requirements/haystack/manage.py b/test/multiple-requirements/haystack/manage.py deleted file mode 100644 index cf7427b1ba6a9a9aad442ab4d9954ac6c506694d..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/haystack/manage.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python -import os -import sys - -if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "haystack.settings") - - from django.core.management import execute_from_command_line - - execute_from_command_line(sys.argv) diff --git a/test/multiple-requirements/haystack/requirements.txt b/test/multiple-requirements/haystack/requirements.txt deleted file mode 100644 index 23b57dcf506fc7316cd6b258de42c7d79fc2496b..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/haystack/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -Django==1.4 \ No newline at end of file diff --git a/test/multiple-requirements/requirements.txt b/test/multiple-requirements/requirements.txt deleted file mode 100644 index 1dac394dd07cc7a4129a897eb1371b99312e29df..0000000000000000000000000000000000000000 --- a/test/multiple-requirements/requirements.txt +++ /dev/null @@ -1 +0,0 @@ --r haystack/requirements.txt \ No newline at end of file