diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | __init__.py | 0 | ||||
-rwxr-xr-x | manage.py | 11 | ||||
-rw-r--r-- | patchtracker/models.py | 63 | ||||
-rw-r--r-- | patchtracker/tests.py | 23 | ||||
-rw-r--r-- | patchtracker/views.py | 1 | ||||
-rw-r--r-- | settings.py | 87 | ||||
-rw-r--r-- | urls.py | 19 |
8 files changed, 205 insertions, 0 deletions
@@ -4,6 +4,7 @@ templates/*.py.bak .*.swp *.db /localconfig.py +/localsettings.py /cache/ pts-index.json.gz profile.out diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/__init__.py diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..bcdd55e --- /dev/null +++ b/manage.py @@ -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) diff --git a/patchtracker/models.py b/patchtracker/models.py new file mode 100644 index 0000000..12bd76a --- /dev/null +++ b/patchtracker/models.py @@ -0,0 +1,63 @@ +from django.db import models +from django.contrib import admin + +class SourcePackage (models.Model): + name = models.CharField(max_length=1024) + version = models.CharField(max_length=1024) + format = models.CharField(max_length=64) + loc = models.CharField(max_length=4096) + diffgz_name = models.CharField(max_length=4096, null=True, blank=True) + diffgz_size = models.IntegerField(null=True, blank=True) + diffgz_md5sum = models.CharField(max_length=32, null=True, blank=True) + debtar_name = models.CharField(max_length=4096, null=True, blank=True) + debtar_size = models.IntegerField(null=True, blank=True) + debtar_md5sum = models.CharField(max_length=32, null=True, blank=True) + maintainer = models.CharField(max_length=1024) + uploaders = models.CharField(max_length=4096, null=True, blank=True) + + def __unicode__( self ): + return "%s (%s)"%(self.name, self.version) + + class Meta: + managed = False + db_table = 'packages' + unique_together = (('name','version'),) + +class RepositorySuite (models.Model): + name = models.CharField(max_length=1024, unique=True) + + def __unicode__( self ): + return unicode(self.name) + + class Meta: + managed = False + db_table = 'suites' + +class RepositoryComponent (models.Model): + name = models.CharField(max_length=1024, unique=True) + + def __unicode__( self ): + return unicode(self.name) + + class Meta: + managed = False + db_table = 'components' + +class SourcePackageMapping (models.Model): + rowid = models.AutoField(primary_key=True) + package = models.ForeignKey(SourcePackage) + suite = models.ForeignKey(RepositorySuite) + component = models.ForeignKey(RepositoryComponent) + + def __unicode__( self ): + return "%s / %s / %s"%(unicode(self.package),unicode(self.suite),unicode(self.component)) + + class Meta: + managed = False + db_table = 'package_rel_map' + unique_together = (('package','suite','component'),) + +admin.site.register(SourcePackage) +admin.site.register(RepositorySuite) +admin.site.register(RepositoryComponent) +admin.site.register(SourcePackageMapping) diff --git a/patchtracker/tests.py b/patchtracker/tests.py new file mode 100644 index 0000000..2247054 --- /dev/null +++ b/patchtracker/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 +"""} + diff --git a/patchtracker/views.py b/patchtracker/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/patchtracker/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/settings.py b/settings.py new file mode 100644 index 0000000..65cbea0 --- /dev/null +++ b/settings.py @@ -0,0 +1,87 @@ +# Django settings for debianpatchtracker 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 = 'pt.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/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. +# set in non-versioned localsettings.py +#SECRET_KEY = '' + +# 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 = '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', + 'django.contrib.admin', + 'patchtracker' +) + +try: + from localsettings import * +except ImportError: + pass @@ -0,0 +1,19 @@ +from django.conf.urls.defaults import * +from django.contrib import admin +admin.autodiscover() + +# Uncomment the next two lines to enable the admin: +# from django.contrib import admin +# admin.autodiscover() + +urlpatterns = patterns('', + # Example: + # (r'^debianpatchtracker/', include('debianpatchtracker.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)), +) |