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