Skip to content

Commit

Permalink
created
Browse files Browse the repository at this point in the history
  • Loading branch information
Alexander Razzhivin committed Feb 29, 2012
0 parents commit 5e9356c
Show file tree
Hide file tree
Showing 25 changed files with 515 additions and 0 deletions.
20 changes: 20 additions & 0 deletions .hgignore
@@ -0,0 +1,20 @@
syntax: regexp

^.+\.db$
^.+\.sqlite$
^.+\.pyc$
^.+\.log$
^.+\$py\.class$
^.+overrides.py$
^.coverage$
^.+\.egg-info$

# ignore project dirs

media/
cover/
build/
src/
.idea/
build/
dist/
Empty file added __init__.py
Empty file.
Empty file added demo_project/__init__.py
Empty file.
14 changes: 14 additions & 0 deletions demo_project/manage.py
@@ -0,0 +1,14 @@
#!/usr/bin/env python
from django.core.management import execute_manager
import imp
try:
imp.find_module('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" % __file__)
sys.exit(1)

import settings

if __name__ == "__main__":
execute_manager(settings)
182 changes: 182 additions & 0 deletions demo_project/settings.py
@@ -0,0 +1,182 @@
# Django settings for demo_project project.
import sys
import os

PROJECT_DIR, PROJECT_MODULE_NAME = os.path.split(
os.path.dirname(os.path.realpath(__file__))
)
sys.path.append(os.path.join(PROJECT_DIR))

DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEST_RECORDER = False

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

MANAGERS = ADMINS

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'demo_project.db', # 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

# 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/'

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

# 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 = 'q)gb4hn*010$td+3xy9e=n67tkw%js2o%#@o=$o93)cb8yrbxi'

# 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',
)

TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.request',
)

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',
)

ROOT_URLCONF = 'demo_project.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.
os.path.join(PROJECT_DIR, PROJECT_MODULE_NAME, 'templates'),
)

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'tagging',
'catalogs',
'videopages',
'djangovideos',
'django.contrib.admin',
)


if TEST_RECORDER:
RECORDER_FIXTURES = [
'videopages/fixtures/catalogs.json',
'videopages/fixtures/videopages.json'
]
RECORDER_IGNORE = (
'^/admin.*',
)

RECORDER_AUTOLOGIN = True
RECORDER_AUTH = {
'username': 'admin',
'password': '12345'
}
RECORDER_INIT_ON_START = False
INSTALLED_APPS += ('testrecorder',)

# 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.
# 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,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
10 changes: 10 additions & 0 deletions demo_project/templates/base.html
@@ -0,0 +1,10 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block content %}{% endblock %}
</body>
</html>
14 changes: 14 additions & 0 deletions demo_project/urls.py
@@ -0,0 +1,14 @@
from django.conf.urls.defaults import patterns, include, url

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

urlpatterns = patterns('',

# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
url(r'^catalogs/', include('catalogs.urls')),
url(r'^videopages/', include('videopages.urls')),
url('^videos/', include('djangovideos.urls')),
)
10 changes: 10 additions & 0 deletions pip-requirements.txt
@@ -0,0 +1,10 @@
django>=1.3
-e git+https://github.com/RANUX/django-catalogs.git#egg=django-catalogs
django-videos
django-tagging

# for tests
-e git+https://github.com/nose-devs/nose.git#egg=nose
django-nose
coverage
-e git+https://github.com/pydevua/django-testrecorder.git#egg=django-testrecorder
88 changes: 88 additions & 0 deletions runtests.py
@@ -0,0 +1,88 @@
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import os
import sys
from optparse import OptionParser

from django.conf import settings

if not settings.configured:
PROJECT_DIR, MODULE_NAME = os.path.split(
(os.path.realpath(__file__))
)

settings.configure(
DATABASE_ENGINE='sqlite3',
DATABASES={
'default': {
'ENGINE': 'django.db.backends.sqlite3',
},
},
ROOT_URLCONF = 'videopages.urls',
NOSE_ARGS = ['--nocapture',
'--all-modules',
'--nologcapture',
'--verbosity=2',
'--with-coverage',
'--cover-package=videopages',
'--cover-html',
# '--with-doctest',
'videopages'
# '--cover-erase',
# '--cover-tests',
],
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
'django.core.context_processors.static',
'django.core.context_processors.request',
),
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',
),
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
),
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR, 'videopages', 'tests', 'templates'),
),
SITE_ID = 1,
INSTALLED_APPS=[
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'tagging',
'catalogs',
'videopages',
'djangovideos',
],
DEBUG=False,
)


from django_nose import NoseTestSuiteRunner

def runtests(*test_args, **kwargs):
if not test_args:
test_args = ['videopages']

test_runner = NoseTestSuiteRunner(**kwargs)
failures = test_runner.run_tests(test_args)
sys.exit(failures)

if __name__ == '__main__':
parser = OptionParser()
parser.add_option('--verbosity', dest='verbosity', action='store', default=1, type=int)
parser.add_options(NoseTestSuiteRunner.options)
(options, args) = parser.parse_args()

runtests(*args, **options.__dict__)
4 changes: 4 additions & 0 deletions videopages/__init__.py
@@ -0,0 +1,4 @@
# -*- coding: UTF-8 -*-

__author__ = 'Razzhivin Alexander'
__email__ = 'admin@httpbots.com'
11 changes: 11 additions & 0 deletions videopages/admin.py
@@ -0,0 +1,11 @@
# -*- coding: UTF-8 -*-
from django.contrib import admin
from models import VideoPage


__author__ = 'Razzhivin Alexander'
__email__ = 'admin@httpbots.com'


admin.site.register(VideoPage)

4 changes: 4 additions & 0 deletions videopages/conf/__init__.py
@@ -0,0 +1,4 @@
# -*- coding: UTF-8 -*-

__author__ = 'Razzhivin Alexander'
__email__ = 'admin@httpbots.com'
10 changes: 10 additions & 0 deletions videopages/conf/settings.py
@@ -0,0 +1,10 @@
# -*- coding: UTF-8 -*-
from django.conf import settings


__author__ = 'Razzhivin Alexander'
__email__ = 'admin@httpbots.com'


LANGUAGES = getattr(settings, 'LANGUAGES')
VIDEO_PAGES_PER_PAGE = getattr(settings, 'VIDEO_PAGES_PER_PAGE', 10)
1 change: 1 addition & 0 deletions videopages/fixtures/catalogs.json
@@ -0,0 +1 @@
[{"pk": 1, "model": "catalogs.catalogitem", "fields": {"name": "root", "parent": null, "deleted": false, "slug": "root", "language_code": "en", "path": "root", "last_child": null, "icon": ""}}, {"pk": 2, "model": "catalogs.catalogitem", "fields": {"name": "python lessons", "parent": 1, "deleted": false, "slug": "python-lessons", "language_code": "en", "path": "root/python-lessons", "last_child": null, "icon": ""}}]

0 comments on commit 5e9356c

Please sign in to comment.