SVN: packages-ng: packages/managers.py packages/models.py packages/templates/details.html packages/t...

patrys patrys at pld-linux.org
Fri Apr 3 13:09:49 CEST 2009


Author: patrys
Date: Fri Apr  3 13:09:48 2009
New Revision: 10304

Added:
   packages-ng/packages/managers.py
   packages-ng/packages/templates/requires.html
Modified:
   packages-ng/packages/models.py
   packages-ng/packages/templates/details.html
   packages-ng/packages/templates/group.html
   packages-ng/packages/templates/provides.html
   packages-ng/packages/templates/search.html
   packages-ng/packages/templates/source.html
   packages-ng/packages/urls.py
   packages-ng/packages/views.py
   packages-ng/settings.py
Log:
- handle both arch + noarch


Added: packages-ng/packages/managers.py
==============================================================================
--- (empty file)
+++ packages-ng/packages/managers.py	Fri Apr  3 13:09:48 2009
@@ -0,0 +1,27 @@
+from django.db import models
+from django.conf import settings
+from django.db.models import sql
+from django.db.transaction import savepoint_state
+
+def custom_db_manager(database):
+	class MultiDBManager(models.Manager):
+		def get_query_set(self):
+			qs = super(MultiDBManager, self).get_query_set()
+			qs.query.connection = self.get_db_wrapper()
+			return qs
+
+		def get_db_wrapper(self):
+			db = settings.DATABASES[database]
+			backend = __import__('django.db.backends.' + db['DATABASE_ENGINE']
+				+ ".base", {}, {}, ['base'])
+			backup = {}
+			for key, value in db.iteritems():
+				backup[key] = getattr(settings, key)
+				setattr(settings, key, value)
+			wrapper = backend.DatabaseWrapper()
+			wrapper._cursor(settings)
+			for key, value in backup.iteritems():
+				setattr(settings, key, value)
+			return wrapper
+	return MultiDBManager()
+

Modified: packages-ng/packages/models.py
==============================================================================
--- packages-ng/packages/models.py	(original)
+++ packages-ng/packages/models.py	Fri Apr  3 13:09:48 2009
@@ -1,13 +1,5 @@
-# This is an auto-generated Django model module.
-# You'll have to do the following manually to clean this up:
-#	 * Rearrange models' order
-#	 * Make sure each model has one field with primary_key=True
-# Feel free to rename the models, but don't rename db_table values or field names.
-#
-# Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]'
-# into your database.
-
 from django.db import models
+from managers import custom_db_manager
 
 def flags_format(self):
 	if self.flags == 'EQ':
@@ -37,105 +29,244 @@
 	res = self.name + u' ' + self.version_format()
 	return res
 
-class Package(models.Model):
+class ArchPackage(models.Model):
+	pkgkey = models.IntegerField(primary_key = True)
+	pkgid = models.TextField(blank = True)
+	name = models.TextField(blank = True)
+	arch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	summary = models.TextField(blank = True)
+	description = models.TextField(blank = True)
+	url = models.TextField(blank = True)
+	time_file = models.IntegerField(null = True, blank = True)
+	time_build = models.IntegerField(null = True, blank = True)
+	rpm_license = models.TextField(blank = True)
+	rpm_vendor = models.TextField(blank = True)
+	rpm_group = models.TextField(blank = True)
+	rpm_buildhost = models.TextField(blank = True)
+	rpm_sourcerpm = models.TextField(blank = True)
+	rpm_header_start = models.IntegerField(null = True, blank = True)
+	rpm_header_end = models.IntegerField(null = True, blank = True)
+	rpm_packager = models.TextField(blank = True)
+	size_package = models.IntegerField(null = True, blank = True)
+	size_installed = models.IntegerField(null = True, blank = True)
+	size_archive = models.IntegerField(null = True, blank = True)
+	location_href = models.TextField(blank = True)
+	location_base = models.TextField(blank = True)
+	checksum_type = models.TextField(blank = True)
+	objects = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'packages'
+		ordering = ['name', '-epoch', '-version', '-release', 'arch']
+	def __unicode__(self):
+		return u'%s-%s:%s-%s.%s' % (self.name, self.epoch, self.version, self.release, self.arch)
+
+class ArchConflict(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(ArchPackage, db_column = 'pkgkey', related_name = 'conflicts')
+	_default_manager = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'conflicts'
+		ordering = ['name', ]
+		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
+	flags_format = flags_format
+	version_format = version_format
+	__unicode__ = header_format
+
+class ArchFile(models.Model):
+	name = models.TextField(blank = True)
+	type = models.TextField(blank = True)
+	package = models.ForeignKey(ArchPackage, db_column = 'pkgkey', related_name = 'files')
+	_default_manager = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'files'
+
+	def __unicode__(self):
+		return u'%s %s' % (self.name, self.type)
+
+class ArchObsolete(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(ArchPackage, db_column = 'pkgkey', related_name = 'obsoletes')
+	_default_manager = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'obsoletes'
+		ordering = ['name', ]
+		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
+	flags_format = flags_format
+	version_format = version_format
+	__unicode__ = header_format
+
+class ArchProvide(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.CharField(blank = True, max_length = 32)
+	epoch = models.CharField(blank = True, max_length = 255)
+	version = models.CharField(blank = True, max_length = 255)
+	release = models.CharField(blank = True, max_length = 255)
+	package = models.ForeignKey(ArchPackage, db_column = 'pkgkey', related_name = 'provides')
+	_default_manager = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'provides'
+		ordering = ['name', ]
+		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
+	flags_format = flags_format
+	version_format = version_format
+	__unicode__ = header_format
+
+class ArchRequire(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(ArchPackage, db_column = 'pkgkey', related_name = 'requires')
+	pre = models.BooleanField(null = True, blank = True)
+	_default_manager = custom_db_manager('arch')
+
+	class Meta:
+		db_table = u'requires'
+		ordering = ['name', ]
+		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
+	flags_format = flags_format
+	version_format = version_format
+	__unicode__ = header_format
+
+# ugly hack to use two DBs
+
+class NoarchPackage(models.Model):
 	pkgkey = models.IntegerField(primary_key = True)
-	pkgid = models.TextField(blank=True)
-	name = models.TextField(blank=True)
-	arch = models.TextField(blank=True)
-	version = models.TextField(blank=True)
-	epoch = models.TextField(blank=True)
-	release = models.TextField(blank=True)
-	summary = models.TextField(blank=True)
-	description = models.TextField(blank=True)
-	url = models.TextField(blank=True)
-	time_file = models.IntegerField(null=True, blank=True)
-	time_build = models.IntegerField(null=True, blank=True)
-	rpm_license = models.TextField(blank=True)
-	rpm_vendor = models.TextField(blank=True)
-	rpm_group = models.TextField(blank=True)
-	rpm_buildhost = models.TextField(blank=True)
-	rpm_sourcerpm = models.TextField(blank=True)
-	rpm_header_start = models.IntegerField(null=True, blank=True)
-	rpm_header_end = models.IntegerField(null=True, blank=True)
-	rpm_packager = models.TextField(blank=True)
-	size_package = models.IntegerField(null=True, blank=True)
-	size_installed = models.IntegerField(null=True, blank=True)
-	size_archive = models.IntegerField(null=True, blank=True)
-	location_href = models.TextField(blank=True)
-	location_base = models.TextField(blank=True)
-	checksum_type = models.TextField(blank=True)
+	pkgid = models.TextField(blank = True)
+	name = models.TextField(blank = True)
+	arch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	summary = models.TextField(blank = True)
+	description = models.TextField(blank = True)
+	url = models.TextField(blank = True)
+	time_file = models.IntegerField(null = True, blank = True)
+	time_build = models.IntegerField(null = True, blank = True)
+	rpm_license = models.TextField(blank = True)
+	rpm_vendor = models.TextField(blank = True)
+	rpm_group = models.TextField(blank = True)
+	rpm_buildhost = models.TextField(blank = True)
+	rpm_sourcerpm = models.TextField(blank = True)
+	rpm_header_start = models.IntegerField(null = True, blank = True)
+	rpm_header_end = models.IntegerField(null = True, blank = True)
+	rpm_packager = models.TextField(blank = True)
+	size_package = models.IntegerField(null = True, blank = True)
+	size_installed = models.IntegerField(null = True, blank = True)
+	size_archive = models.IntegerField(null = True, blank = True)
+	location_href = models.TextField(blank = True)
+	location_base = models.TextField(blank = True)
+	checksum_type = models.TextField(blank = True)
+	objects = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'packages'
 		ordering = ['name', '-epoch', '-version', '-release', 'arch']
 	def __unicode__(self):
 		return u'%s-%s:%s-%s.%s' % (self.name, self.epoch, self.version, self.release, self.arch)
 
-class Conflict(models.Model):
-	name = models.CharField(blank=True, max_length = 255, primary_key = True)
-	flags = models.TextField(blank=True)
-	epoch = models.TextField(blank=True)
-	version = models.TextField(blank=True)
-	release = models.TextField(blank=True)
-	package = models.ForeignKey(Package, db_column = 'pkgkey')
+class NoarchConflict(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(NoarchPackage, db_column = 'pkgkey', related_name = 'conflicts')
+	_default_manager = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'conflicts'
 		ordering = ['name', ]
 		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
 	flags_format = flags_format
 	version_format = version_format
 	__unicode__ = header_format
 
-class File(models.Model):
-	name = models.TextField(blank=True)
-	type = models.TextField(blank=True)
-	package = models.ForeignKey(Package, db_column = 'pkgkey')
+class NoarchFile(models.Model):
+	name = models.TextField(blank = True)
+	type = models.TextField(blank = True)
+	package = models.ForeignKey(NoarchPackage, db_column = 'pkgkey', related_name = 'files')
+	_default_manager = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'files'
+
 	def __unicode__(self):
 		return u'%s %s' % (self.name, self.type)
 
-class Obsolete(models.Model):
-	name = models.CharField(blank=True, max_length = 255, primary_key = True)
-	flags = models.TextField(blank=True)
-	epoch = models.TextField(blank=True)
-	version = models.TextField(blank=True)
-	release = models.TextField(blank=True)
-	package = models.ForeignKey(Package, db_column = 'pkgkey')
+class NoarchObsolete(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(NoarchPackage, db_column = 'pkgkey', related_name = 'obsoletes')
+	_default_manager = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'obsoletes'
 		ordering = ['name', ]
 		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
 	flags_format = flags_format
 	version_format = version_format
 	__unicode__ = header_format
 
-class Provide(models.Model):
-	name = models.CharField(blank=True, max_length = 255, primary_key = True)
-	flags = models.CharField(blank=True, max_length = 32)
-	epoch = models.CharField(blank=True, max_length = 255)
-	version = models.CharField(blank=True, max_length = 255)
-	release = models.CharField(blank=True, max_length = 255)
-	package = models.ForeignKey(Package, db_column = 'pkgkey')
+class NoarchProvide(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.CharField(blank = True, max_length = 32)
+	epoch = models.CharField(blank = True, max_length = 255)
+	version = models.CharField(blank = True, max_length = 255)
+	release = models.CharField(blank = True, max_length = 255)
+	package = models.ForeignKey(NoarchPackage, db_column = 'pkgkey', related_name = 'provides')
+	objects = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'provides'
 		ordering = ['name', ]
 		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
 	flags_format = flags_format
 	version_format = version_format
 	__unicode__ = header_format
 
-class Require(models.Model):
-	name = models.CharField(blank=True, max_length = 255, primary_key = True)
-	flags = models.TextField(blank=True)
-	epoch = models.TextField(blank=True)
-	version = models.TextField(blank=True)
-	release = models.TextField(blank=True)
-	package = models.ForeignKey(Package, db_column = 'pkgkey')
-	pre = models.BooleanField(null=True, blank=True)
+class NoarchRequire(models.Model):
+	name = models.CharField(blank = True, max_length = 255, primary_key = True)
+	flags = models.TextField(blank = True)
+	epoch = models.TextField(blank = True)
+	version = models.TextField(blank = True)
+	release = models.TextField(blank = True)
+	package = models.ForeignKey(NoarchPackage, db_column = 'pkgkey', related_name = 'requires')
+	pre = models.BooleanField(null = True, blank = True)
+	_default_manager = custom_db_manager('noarch')
+
 	class Meta:
 		db_table = u'requires'
 		ordering = ['name', ]
 		unique_together = ['name', 'flags', 'epoch', 'version', 'release', 'package']
+
 	flags_format = flags_format
 	version_format = version_format
 	__unicode__ = header_format

Modified: packages-ng/packages/templates/details.html
==============================================================================
--- packages-ng/packages/templates/details.html	(original)
+++ packages-ng/packages/templates/details.html	Fri Apr  3 13:09:48 2009
@@ -1,3 +1,4 @@
+{% for package in packages %}
 <h2>Package: {{ package.name }} ({{ package.epoch }}:{{ package.version }}-{{ package.release }}.{{ package.arch }})</h2>
 
 <h3>{{ package.summary }}</h3>
@@ -12,15 +13,15 @@
 <h3>Provides:</h3>
 
 <ul>
-{% for provide in package.provide_set.all %}
-	<li>{{ provide.name }}{% if provide.version_format %} ({{ provide.version_format }}){% endif %}</li>
+{% for provide in package.provides.all %}
+	<li><a href="{% url packages.views.browse_requires provide.name %}">{{ provide.name }}</a>{% if provide.version_format %} ({{ provide.version_format }}){% endif %}</li>
 {% endfor %}
 </ul>
 
 <h3>Dependencies:</h3>
 
 <ul>
-{% for require in package.require_set.all %}
+{% for require in package.requires.all %}
 	<li><a href="{% url packages.views.browse_provides require.name %}">{{ require.name }}</a>{% if require.version_format %} ({{ require.version_format }}){% endif %}</li>
 {% endfor %}
 </ul>
@@ -28,7 +29,7 @@
 <h3>Conflicts:</h3>
 
 <ul>
-{% for conflict in package.conflict_set.all %}
+{% for conflict in package.conflicts.all %}
 	<li>{{ conflict.name }}{% if conflict.version_format %} ({{ conflict.version_format }}){% endif %}</li>
 {% endfor %}
 </ul>
@@ -36,8 +37,8 @@
 <h3>Obsoletes:</h3>
 
 <ul>
-{% for obsolete in package.obsolete_set.all %}
+{% for obsolete in package.obsoletes.all %}
 	<li>{{ obsolete.name }}{% if obsolete.version_format %} ({{ obsolete.version_format }}){% endif %}</li>
 {% endfor %}
 </ul>
-
+{% endfor %}

Modified: packages-ng/packages/templates/group.html
==============================================================================
--- packages-ng/packages/templates/group.html	(original)
+++ packages-ng/packages/templates/group.html	Fri Apr  3 13:09:48 2009
@@ -2,7 +2,7 @@
 
 <dl>
 {% for package in packages %}
-	<dt><a href="{% url packages.views.details package.arch,package.name,package.epoch,package.version,package.release %}">{{ package }}</a></dt>
+	<dt><a href="{% url packages.views.details name=package.name %}">{{ package }}</a></dt>
 	<dd>{{ package.summary }}</dd>
 {% endfor %}
 </dl>

Modified: packages-ng/packages/templates/provides.html
==============================================================================
--- packages-ng/packages/templates/provides.html	(original)
+++ packages-ng/packages/templates/provides.html	Fri Apr  3 13:09:48 2009
@@ -2,7 +2,7 @@
 
 <dl>
 {% for package in packages %}
-	<dt><a href="{% url packages.views.details package.arch,package.name,package.epoch,package.version,package.release %}">{{ package }}</a></dt>
+	<dt><a href="{% url packages.views.details name=package.name %}">{{ package }}</a></dt>
 	<dd>{{ package.summary }}</dd>
 {% endfor %}
 </dl>

Added: packages-ng/packages/templates/requires.html
==============================================================================
--- (empty file)
+++ packages-ng/packages/templates/requires.html	Fri Apr  3 13:09:48 2009
@@ -0,0 +1,8 @@
+<h2>Packages requiring {{ require }}:</h2>
+
+<dl>
+{% for package in packages %}
+	<dt><a href="{% url packages.views.details name=package.name %}">{{ package }}</a></dt>
+	<dd>{{ package.summary }}</dd>
+{% endfor %}
+</dl>

Modified: packages-ng/packages/templates/search.html
==============================================================================
--- packages-ng/packages/templates/search.html	(original)
+++ packages-ng/packages/templates/search.html	Fri Apr  3 13:09:48 2009
@@ -8,7 +8,7 @@
 {% if packages %}
 <dl>
 {% for package in packages %}
-	<dt><a href="{% url packages.views.details package.arch,package.name,package.epoch,package.version,package.release %}">{{ package }}</a></dt>
+	<dt><a href="{% url packages.views.details name=package.name %}">{{ package }}</a></dt>
 	<dd>{{ package.summary }}</dd>
 {% endfor %}
 </dl>

Modified: packages-ng/packages/templates/source.html
==============================================================================
--- packages-ng/packages/templates/source.html	(original)
+++ packages-ng/packages/templates/source.html	Fri Apr  3 13:09:48 2009
@@ -2,7 +2,7 @@
 
 <dl>
 {% for package in packages %}
-	<dt><a href="{% url packages.views.details package.arch,package.name,package.epoch,package.version,package.release %}">{{ package }}</a></dt>
+	<dt><a href="{% url packages.views.details name=package.name %}">{{ package }}</a></dt>
 	<dd>{{ package.summary }}</dd>
 {% endfor %}
 </dl>

Modified: packages-ng/packages/urls.py
==============================================================================
--- packages-ng/packages/urls.py	(original)
+++ packages-ng/packages/urls.py	Fri Apr  3 13:09:48 2009
@@ -4,7 +4,8 @@
 	(r'^$', 'packages.views.index'),
 	(r'^by-group/(?P<group>.+)/$', 'packages.views.browse_group'),
 	(r'^by-provide/(?P<provide>.+)/$', 'packages.views.browse_provides'),
-	(r'^by-package/(?P<arch>.+)/(?P<name>.+)/(?P<epoch>.+)/(?P<version>.+)/(?P<release>.+)/$', 'packages.views.details'),
+	(r'^by-package/(?P<name>.+)/$', 'packages.views.details'),
+	(r'^by-require/(?P<require>.+)/$', 'packages.views.browse_requires'),
 	(r'^by-source/(?P<source>.+)/$', 'packages.views.browse_source'),
 	(r'^install-package/(?P<name>.+)/$', 'packages.views.install'),
 	(r'^search/$', 'packages.views.search'),

Modified: packages-ng/packages/views.py
==============================================================================
--- packages-ng/packages/views.py	(original)
+++ packages-ng/packages/views.py	Fri Apr  3 13:09:48 2009
@@ -1,40 +1,53 @@
-from django.http import HttpResponse
+from django.http import HttpResponse, Http404
 from django.shortcuts import get_list_or_404, get_object_or_404
 from django.views.generic.simple import direct_to_template
 from django import forms
-from models import Package
+from models import ArchPackage, NoarchPackage
+from operator import attrgetter
 
 class PkSearchForm(forms.Form):
 	query = forms.CharField(u'Query')
 
+def filter_packages(**kwargs):
+	packages1 = ArchPackage.objects.filter(**kwargs)
+	packages2 = NoarchPackage.objects.filter(**kwargs)
+	packages = list(set(list(packages1) + list(packages2)))
+	packages.sort(key = attrgetter('name'))
+	return packages
+
 def index(request):
 	form = PkSearchForm()
-	groups = [x['rpm_group'] for x in Package.objects.order_by('rpm_group').values('rpm_group').distinct()]
+	groups = list(set([x['rpm_group'] for x in ArchPackage.objects.order_by('rpm_group').values('rpm_group').distinct()] + [x['rpm_group'] for x in NoarchPackage.objects.order_by('rpm_group').values('rpm_group').distinct()]))
+	groups.sort()
 	return direct_to_template(request, 'index.html', {'form': form, 'groups': groups})
 
 def search(request):
 	form = PkSearchForm(request.GET)
 	if form.is_valid():
-		packages = Package.objects.filter(name__icontains = form.cleaned_data['query'])
+		packages = filter_packages(name__icontains = form.cleaned_data['query'])
 		return direct_to_template(request, 'search.html', {'form': form, 'packages': packages})
 	else:
 		return direct_to_template(request, 'search.html', {'form': form})
 
 def browse_group(request, group):
-	packages = get_list_or_404(Package.objects, rpm_group = group)
+	packages = filter_packages(rpm_group = group)
 	return direct_to_template(request, 'group.html', {'packages': packages, 'group': group})
 
 def browse_provides(request, provide):
-	packages = get_list_or_404(Package.objects, provide__name = provide)
+	packages = filter_packages(provides__name = provide)
 	return direct_to_template(request, 'provides.html', {'packages': packages, 'provide': provide})
 
+def browse_requires(request, require):
+	packages = filter_packages(requires__name = require)
+	return direct_to_template(request, 'requires.html', {'packages': packages, 'require': require})
+
 def browse_source(request, source):
-	packages = get_list_or_404(Package.objects, rpm_sourcerpm = source)
+	packages = filter_packages(rpm_sourcerpm = source)
 	return direct_to_template(request, 'source.html', {'packages': packages, 'source': source})
 
-def details(request, arch, name, epoch, version, release):
-	package = get_object_or_404(Package.objects, name = name, epoch = epoch, version = version, release = release, arch = arch)
-	return direct_to_template(request, 'details.html', {'package': package})
+def details(request, name):
+	packages = filter_packages(name = name)
+	return direct_to_template(request, 'details.html', {'packages': packages})
 
 def install(request, name):
 	response = HttpResponse(mimetype = 'application/x-catalog')

Modified: packages-ng/settings.py
==============================================================================
--- packages-ng/settings.py	(original)
+++ packages-ng/settings.py	Fri Apr  3 13:09:48 2009
@@ -9,12 +9,19 @@
 
 MANAGERS = ADMINS
 
-DATABASE_ENGINE = 'sqlite3'           # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = 'primary.sqlite'             # 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.
+DATABASE_ENGINE = 'sqlite3'
+DATABASE_NAME = 'arch.sqlite'
+
+DATABASES = {
+	'arch': dict(
+		DATABASE_ENGINE = 'sqlite3',
+		DATABASE_NAME = 'arch.sqlite'
+	),
+	'noarch': dict (
+		DATABASE_ENGINE = 'sqlite3',
+		DATABASE_NAME = 'noarch.sqlite'
+	)
+}
 
 # Local time zone for this installation. Choices can be found here:
 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name


More information about the pld-cvs-commit mailing list