public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/
@ 2012-07-18 23:03 Slava Bacherikov
  0 siblings, 0 replies; 5+ messages in thread
From: Slava Bacherikov @ 2012-07-18 23:03 UTC (permalink / raw
  To: gentoo-commits

commit:     99f631f323a58789af2c57d45e4435829c8f1da2
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Wed Jul 18 22:53:09 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Wed Jul 18 22:53:09 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=99f631f3

Add latest ebuild field to PackagesModels

---
 ...2_auto__add_field_packagemodel_latest_ebuild.py |  200 ++++++++++++++++++++
 gpackages/apps/packages/models.py                  |   15 ++-
 2 files changed, 214 insertions(+), 1 deletions(-)

diff --git a/gpackages/apps/packages/migrations/0002_auto__add_field_packagemodel_latest_ebuild.py b/gpackages/apps/packages/migrations/0002_auto__add_field_packagemodel_latest_ebuild.py
new file mode 100644
index 0000000..3d82609
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0002_auto__add_field_packagemodel_latest_ebuild.py
@@ -0,0 +1,200 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Adding field 'PackageModel.latest_ebuild'
+        db.add_column('packages_packagemodel', 'latest_ebuild', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['packages.EbuildModel'], null=True, blank=True), keep_default=False)
+
+
+    def backwards(self, orm):
+        
+        # Deleting field 'PackageModel.latest_ebuild'
+        db.delete_column('packages_packagemodel', 'latest_ebuild_id')
+
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200', 'db_index': 'True'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']

diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index 35d8b90..bb8a67f 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -3,7 +3,7 @@ from package_info.abstract import AbstractCategory, AbstarctPackage, \
                                   AbstractEbuild, AbstractNewsItem
 from package_info.utils import ciavc_link, email_parse
 import managers
-from package_info.generic import get_from_kwargs_and_del
+from package_info.generic import get_from_kwargs_and_del, cached_property
 from package_info.generic_metadata.repo_const import REPOS_TYPE
 # relative
 from .keywords import KeywordRepr
@@ -12,6 +12,8 @@ from model_stats.models import StatsModel
 from package_info.validators import validate_url, validate_email, \
                                     validate_name
 
+from package_info.parse_cp import VersionParse
+
 from django.utils.html import urlize, linebreaks
 
 
@@ -416,6 +418,9 @@ class PackageModel(StatsModel, AbstractDateTimeModel):
 
     # Autogenerated fields for fast stats
     # ebuilds_count = models.PositiveIntegerField(default = 0)
+
+    # latest ebuild info
+    latest_ebuild = models.ForeignKey('EbuildModel', blank = True, null = True)
     
     objects = managers.PackageManager()
 
@@ -663,6 +668,14 @@ class EbuildModel(AbstractDateTimeModel):
     def revision_str(self):
         return 'r%d' % self.revision
 
+    @cached_property
+    def version_parse(self):
+        return VersionParse(self.version)
+
+    @cached_property
+    def version_cmp(self):
+        return (self.version_parse, self.revision)
+
     @property
     def fullversion(self):
         rev_p = '-'+ self.revision_str if self.revision else ''



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/
@ 2012-07-25 22:47 Slava Bacherikov
  0 siblings, 0 replies; 5+ messages in thread
From: Slava Bacherikov @ 2012-07-25 22:47 UTC (permalink / raw
  To: gentoo-commits

commit:     6bac3459fed56db3904fc08e8c892a93fcbb0b21
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Wed Jul 25 15:11:56 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Wed Jul 25 15:11:56 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=6bac3459

Add base upstream fields

---
 .../packages/migrations/0004_add_base_upstream.py  |  220 ++++++++++++++++++++
 gpackages/apps/packages/models.py                  |   11 +
 2 files changed, 231 insertions(+), 0 deletions(-)

diff --git a/gpackages/apps/packages/migrations/0004_add_base_upstream.py b/gpackages/apps/packages/migrations/0004_add_base_upstream.py
new file mode 100644
index 0000000..7b09e97
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0004_add_base_upstream.py
@@ -0,0 +1,220 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding field 'PackageModel.doc'
+        db.add_column('packages_packagemodel', 'doc',
+                      self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True),
+                      keep_default=False)
+
+        # Adding field 'PackageModel.changelog_url'
+        db.add_column('packages_packagemodel', 'changelog_url',
+                      self.gf('django.db.models.fields.URLField')(max_length=200, null=True, blank=True),
+                      keep_default=False)
+
+        # Adding field 'PackageModel.bugs_to'
+        db.add_column('packages_packagemodel', 'bugs_to',
+                      self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'PackageModel.doc'
+        db.delete_column('packages_packagemodel', 'doc')
+
+        # Deleting field 'PackageModel.changelog_url'
+        db.delete_column('packages_packagemodel', 'changelog_url')
+
+        # Deleting field 'PackageModel.bugs_to'
+        db.delete_column('packages_packagemodel', 'bugs_to')
+
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'bugs_to': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'doc': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']
\ No newline at end of file

diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index ece1bef..fe3c3e0 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -412,8 +412,14 @@ class PackageModel(StatsModel, AbstractDateTimeModel):
     manifest_mtime = models.DateTimeField(blank = True, null = True)
     mtime = models.DateTimeField(blank = True, null = True)
 
+    # data from metadata.xml
     herds = models.ManyToManyField(HerdsModel, blank = True)
     maintainers = models.ManyToManyField(MaintainerModel, blank = True)
+    #upstream
+    doc = models.URLField(blank = True, null = True)
+    changelog_url = models.URLField(blank = True, null = True)
+    # TODO: IN future this should done by special field type
+    bugs_to = models.CharField(max_length = 255, blank = True, null = True)
 
     description = models.TextField(blank = True, null = True)
     repository = models.ForeignKey(RepositoryModel, db_index = True)
@@ -484,6 +490,11 @@ class PackageModel(StatsModel, AbstractDateTimeModel):
         self.manifest_hash = package.manifest_sha1
         self.metadata_hash = package.metadata_sha1
         self.description = package.description
+        # metadata.xml
+        if package.metadata.upstream is not None:
+            self.doc = package.metadata.upstream.main_doc
+            self.changelog_url = package.metadata.upstream.changelog
+            self.bugs_to = package.metadata.upstream.bugs_to
 
     def get_ebuilds_and_keywords(self, arch_list):
         l = []


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/
@ 2012-08-07  0:10 Slava Bacherikov
  0 siblings, 0 replies; 5+ messages in thread
From: Slava Bacherikov @ 2012-08-07  0:10 UTC (permalink / raw
  To: gentoo-commits

commit:     188e087f985a04265aa002f86b7628d16aac8ae3
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Aug  6 14:37:10 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Aug  6 14:37:10 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=188e087f

Add depends fields to model

---
 .../packages/migrations/0006_add_depends_fields.py |  230 ++++++++++++++++++++
 gpackages/apps/packages/models.py                  |    5 +
 2 files changed, 235 insertions(+), 0 deletions(-)

diff --git a/gpackages/apps/packages/migrations/0006_add_depends_fields.py b/gpackages/apps/packages/migrations/0006_add_depends_fields.py
new file mode 100644
index 0000000..6fa4318
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0006_add_depends_fields.py
@@ -0,0 +1,230 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding field 'EbuildModel.depend'
+        db.add_column('packages_ebuildmodel', 'depend',
+                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
+                      keep_default=False)
+
+        # Adding field 'EbuildModel.rdepend'
+        db.add_column('packages_ebuildmodel', 'rdepend',
+                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
+                      keep_default=False)
+
+        # Adding field 'EbuildModel.pdepend'
+        db.add_column('packages_ebuildmodel', 'pdepend',
+                      self.gf('django.db.models.fields.TextField')(null=True, blank=True),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'EbuildModel.depend'
+        db.delete_column('packages_ebuildmodel', 'depend')
+
+        # Deleting field 'EbuildModel.rdepend'
+        db.delete_column('packages_ebuildmodel', 'rdepend')
+
+        # Deleting field 'EbuildModel.pdepend'
+        db.delete_column('packages_ebuildmodel', 'pdepend')
+
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'depend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'pdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'rdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'bugs_to': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'doc': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.remoteid': {
+            'Meta': {'object_name': 'RemoteId'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'remote_id': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'type': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']
\ No newline at end of file

diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index 5cf2b03..0a26aaa 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -631,6 +631,11 @@ class EbuildModel(AbstractDateTimeModel):
     homepages = models.ManyToManyField(HomepageModel, blank = True)
     description = models.TextField(blank = True, null = True)
 
+    # Dependeces
+    depend = models.TextField(blank = True, null = True)
+    rdepend = models.TextField(blank = True, null = True)
+    pdepend = models.TextField(blank = True, null = True)
+
     eapi = models.PositiveSmallIntegerField(default = 0)
     slot = models.CharField(max_length = 32, null = True,
                             db_index = True, default = '0')


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/
@ 2012-08-11 22:30 Slava Bacherikov
  0 siblings, 0 replies; 5+ messages in thread
From: Slava Bacherikov @ 2012-08-11 22:30 UTC (permalink / raw
  To: gentoo-commits

commit:     0ac33be9354e507b4409ca688228c3df3c6c1f25
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Sat Aug 11 16:08:55 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Sat Aug 11 16:08:55 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=0ac33be9

Add is_dev field for Maintainer model

---
 gpackages/apps/packages/admin.py                   |    5 +-
 .../0007_add_dev_field_for_maintainer.py           |  215 ++++++++++++++++++++
 .../0008_add_dev_field_for_maintainer.py           |  215 ++++++++++++++++++++
 gpackages/apps/packages/models.py                  |    6 +
 4 files changed, 439 insertions(+), 2 deletions(-)

diff --git a/gpackages/apps/packages/admin.py b/gpackages/apps/packages/admin.py
index 9cfb4ad..b2f1e9f 100644
--- a/gpackages/apps/packages/admin.py
+++ b/gpackages/apps/packages/admin.py
@@ -38,8 +38,9 @@ class HerdsAdmin(admin.ModelAdmin):
     search_fields = ('name', 'email')
 
 class MaintainerAdmin(admin.ModelAdmin):
-    list_display = ('name', 'email', 'packages_count', 'ebuilds_count',
-                    'herds_count')
+    list_display = ('name', 'email', 'is_dev', 'packages_count', 
+                    'ebuilds_count', 'herds_count')
+    list_filter = ('is_dev',)
     search_fields = ('name', 'email')
 
 class UseFlagAdmin(admin.ModelAdmin):

diff --git a/gpackages/apps/packages/migrations/0007_add_dev_field_for_maintainer.py b/gpackages/apps/packages/migrations/0007_add_dev_field_for_maintainer.py
new file mode 100644
index 0000000..6d2af80
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0007_add_dev_field_for_maintainer.py
@@ -0,0 +1,215 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding field 'MaintainerModel.is_dev'
+        db.add_column('packages_maintainermodel', 'is_dev',
+                      self.gf('django.db.models.fields.BooleanField')(default=False),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'MaintainerModel.is_dev'
+        db.delete_column('packages_maintainermodel', 'is_dev')
+
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'depend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'pdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'rdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_dev': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'bugs_to': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'doc': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.remoteid': {
+            'Meta': {'object_name': 'RemoteId'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'remote_id': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'type': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']
\ No newline at end of file

diff --git a/gpackages/apps/packages/migrations/0008_add_dev_field_for_maintainer.py b/gpackages/apps/packages/migrations/0008_add_dev_field_for_maintainer.py
new file mode 100644
index 0000000..2058541
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0008_add_dev_field_for_maintainer.py
@@ -0,0 +1,215 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import DataMigration
+from django.db import models
+
+class Migration(DataMigration):
+
+    def forwards(self, orm):
+        for maintainer in orm.MaintainerModel.objects.all():
+            if maintainer.email.endswith('@gentoo.org'):
+                maintainer.is_dev = True
+            # save is overloaded and it will set is_dev automaticaly
+            maintainer.save()
+
+    def backwards(self, orm):
+        for maintainer in orm.MaintainerModel.objects.all():
+            maintainer.is_dev = False
+            maintainer.save()
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'depend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'pdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'rdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_dev': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'bugs_to': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'doc': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.remoteid': {
+            'Meta': {'object_name': 'RemoteId'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'remote_id': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'type': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']
+    symmetrical = True

diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index 702f3a5..f1a56d0 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -271,11 +271,17 @@ class MaintainerModel(StatsModel, AbstractDateTimeModel):
         
     name = models.CharField(max_length = 255, blank = True, null = True)
     email = models.EmailField(unique = True, validators = [validate_email], db_index = True)
+    is_dev = models.BooleanField(default = False)
 
     # Autogenerated fields for fast stats
     # herds_count packages_count ebuilds_count repositories_count 
     # news_author_count news_translator_count 
 
+    def save(self, *args, **kwargs):
+        if self.email.endswith('@gentoo.org'):
+            self.is_dev = True
+        super(MaintainerModel, self).save(*args, **kwargs)
+
     objects = managers.MaintainerManager()
 
     def init_by_maintainer(self, maintainer):


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/
@ 2012-08-20 22:40 Slava Bacherikov
  0 siblings, 0 replies; 5+ messages in thread
From: Slava Bacherikov @ 2012-08-20 22:40 UTC (permalink / raw
  To: gentoo-commits

commit:     c5d20644aa90b6793faf6b1b3d29a5a284c6e1ef
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Mon Aug 20 22:36:00 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Mon Aug 20 22:36:00 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=c5d20644

Add herds_count field to RepositoryModel

---
 ..._auto__add_field_repositorymodel_herds_count.py |  216 ++++++++++++++++++++
 gpackages/apps/packages/models.py                  |    1 +
 2 files changed, 217 insertions(+), 0 deletions(-)

diff --git a/gpackages/apps/packages/migrations/0009_auto__add_field_repositorymodel_herds_count.py b/gpackages/apps/packages/migrations/0009_auto__add_field_repositorymodel_herds_count.py
new file mode 100644
index 0000000..101f9a1
--- /dev/null
+++ b/gpackages/apps/packages/migrations/0009_auto__add_field_repositorymodel_herds_count.py
@@ -0,0 +1,216 @@
+# -*- coding: utf-8 -*-
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        # Adding field 'RepositoryModel.herds_count'
+        db.add_column('packages_repositorymodel', 'herds_count',
+                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
+                      keep_default=False)
+
+
+    def backwards(self, orm):
+        # Deleting field 'RepositoryModel.herds_count'
+        db.delete_column('packages_repositorymodel', 'herds_count')
+
+
+    models = {
+        'packages.archesmodel': {
+            'Meta': {'object_name': 'ArchesModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '22', 'db_index': 'True'})
+        },
+        'packages.categorymodel': {
+            'Meta': {'object_name': 'CategoryModel'},
+            'category': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '70', 'db_index': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'virtual_packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'})
+        },
+        'packages.ebuildmodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('package', 'version', 'revision'),)", 'object_name': 'EbuildModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'depend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'eapi': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
+            'ebuild_hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'ebuild_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'homepages': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HomepageModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'is_hard_masked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'license': ('django.db.models.fields.CharField', [], {'max_length': '254', 'blank': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'pdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'rdepend': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'db_index': 'True'}),
+            'slot': ('django.db.models.fields.CharField', [], {'default': "'0'", 'max_length': '32', 'null': 'True', 'db_index': 'True'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'use_flags': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.UseFlagModel']", 'symmetrical': 'False'}),
+            'version': ('django.db.models.fields.CharField', [], {'max_length': '26', 'db_index': 'True'})
+        },
+        'packages.herdsmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'HerdsModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '150', 'db_index': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.homepagemodel': {
+            'Meta': {'object_name': 'HomepageModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'url': ('django.db.models.fields.URLField', [], {'unique': 'True', 'max_length': '255'})
+        },
+        'packages.keyword': {
+            'Meta': {'unique_together': "(('ebuild', 'arch'),)", 'object_name': 'Keyword'},
+            'arch': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.ArchesModel']"}),
+            'ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'status': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.licensegroupmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'LicenseGroupModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'licenses': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.LicenseModel']", 'symmetrical': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.licensemodel': {
+            'Meta': {'object_name': 'LicenseModel'},
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'text': ('django.db.models.fields.TextField', [], {'null': 'True'})
+        },
+        'packages.maintainermodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'MaintainerModel'},
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'email': ('django.db.models.fields.EmailField', [], {'unique': 'True', 'max_length': '75', 'db_index': 'True'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_dev': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'news_author_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'news_translator_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'repositories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.packagemodel': {
+            'Meta': {'ordering': "('-updated_datetime',)", 'unique_together': "(('virtual_package', 'repository'),)", 'object_name': 'PackageModel'},
+            'bugs_to': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'changelog': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'changelog_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'changelog_url': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'doc': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.HerdsModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'latest_ebuild': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.EbuildModel']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
+            'maintainers': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['packages.MaintainerModel']", 'symmetrical': 'False', 'blank': 'True'}),
+            'manifest_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'manifest_mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'metadata_hash': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
+            'mtime': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'virtual_package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"})
+        },
+        'packages.portagenewsmodel': {
+            'Meta': {'ordering': "('-date',)", 'unique_together': "(('name', 'lang'),)", 'object_name': 'PortageNewsModel'},
+            'authors': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'author_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'hash': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lang': ('django.db.models.fields.CharField', [], {'max_length': '5', 'db_index': 'True'}),
+            'message': ('django.db.models.fields.TextField', [], {}),
+            'message_as_html': ('django.db.models.fields.TextField', [], {}),
+            'name': ('django.db.models.fields.SlugField', [], {'max_length': '200'}),
+            'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'translators': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'translator_news_set'", 'symmetrical': 'False', 'to': "orm['packages.MaintainerModel']"}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.remoteid': {
+            'Meta': {'object_name': 'RemoteId'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.PackageModel']"}),
+            'remote_id': ('django.db.models.fields.CharField', [], {'max_length': '120'}),
+            'type': ('django.db.models.fields.PositiveSmallIntegerField', [], {})
+        },
+        'packages.repositoryfeedmodel': {
+            'Meta': {'unique_together': "(('repository', 'feed'),)", 'object_name': 'RepositoryFeedModel'},
+            'feed': ('django.db.models.fields.URLField', [], {'max_length': '200'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"})
+        },
+        'packages.repositorymodel': {
+            'Meta': {'object_name': 'RepositoryModel'},
+            'categories_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'created_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'herds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'homepage': ('django.db.models.fields.URLField', [], {'max_length': '200', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'maintainers_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'}),
+            'official': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'owner_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
+            'owner_name': ('django.db.models.fields.CharField', [], {'max_length': '65', 'null': 'True', 'blank': 'True'}),
+            'packages_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'quality': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'updated_datetime': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'})
+        },
+        'packages.repositorysourcemodel': {
+            'Meta': {'object_name': 'RepositorySourceModel'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'repo_type': ('django.db.models.fields.PositiveSmallIntegerField', [], {}),
+            'repository': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.RepositoryModel']"}),
+            'subpath': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'url': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'packages.useflagdescriptionmodel': {
+            'Meta': {'unique_together': "(('use_flag', 'package'),)", 'object_name': 'UseFlagDescriptionModel'},
+            'description': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'package': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.VirtualPackageModel']"}),
+            'use_flag': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.UseFlagModel']"})
+        },
+        'packages.useflagmodel': {
+            'Meta': {'ordering': "('name',)", 'object_name': 'UseFlagModel'},
+            'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
+            'ebuilds_count': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '60', 'db_index': 'True'})
+        },
+        'packages.virtualpackagemodel': {
+            'Meta': {'unique_together': "(('name', 'category'),)", 'object_name': 'VirtualPackageModel'},
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['packages.CategoryModel']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '254', 'db_index': 'True'})
+        }
+    }
+
+    complete_apps = ['packages']
\ No newline at end of file

diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
index 43293b0..5abc178 100644
--- a/gpackages/apps/packages/models.py
+++ b/gpackages/apps/packages/models.py
@@ -107,6 +107,7 @@ class RepositoryModel(StatsModel, AbstractDateTimeModel):
     stats_params = (
         ('packages_count', 'packagemodel'),
         ('maintainers_count', 'packagemodel__maintainers'),
+        ('herds_count', 'packagemodel__herds'),
         ('categories_count', 'packagemodel__virtual_package__category'),
         ('ebuilds_count', 'packagemodel__ebuildmodel'),
     )


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-20 22:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-07  0:10 [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/migrations/, gpackages/apps/packages/ Slava Bacherikov
  -- strict thread matches above, loose matches on Subject: below --
2012-08-20 22:40 Slava Bacherikov
2012-08-11 22:30 Slava Bacherikov
2012-07-25 22:47 Slava Bacherikov
2012-07-18 23:03 Slava Bacherikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox