Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/apps/packages/management/commands/
Date: Fri, 01 Jun 2012 21:28:48
Message-Id: 1338582399.ed0c2e1d641fad2209cec912be2ac3359b0625d2.bacher09@gentoo
1 commit: ed0c2e1d641fad2209cec912be2ac3359b0625d2
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Fri Jun 1 20:26:39 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Fri Jun 1 20:26:39 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=ed0c2e1d
7
8 Normalize homepages
9
10 ---
11 .../packages/management/commands/scanpackages.py | 18 ++++++++++------
12 gpackages/apps/packages/models.py | 21 +++++++++++++++----
13 2 files changed, 27 insertions(+), 12 deletions(-)
14
15 diff --git a/gpackages/apps/packages/management/commands/scanpackages.py b/gpackages/apps/packages/management/commands/scanpackages.py
16 index 133f886..cbf8f66 100644
17 --- a/gpackages/apps/packages/management/commands/scanpackages.py
18 +++ b/gpackages/apps/packages/management/commands/scanpackages.py
19 @@ -113,7 +113,10 @@ class Command(BaseCommand):
20
21
22 homepages_cache = {}
23 -
24 + def get_homepages_objects(ebuild):
25 + homepages = ebuild.homepages
26 + return _get_items(homepages, models.HomepageModel, 'url', homepages_cache)
27 +
28 st = datetime.datetime.now()
29 # Load homepages to cache
30 for homepage in models.HomepageModel.objects.all():
31 @@ -133,13 +136,14 @@ class Command(BaseCommand):
32 # Add licenses
33 ebuild_object.licenses.add(*get_licenses_objects(ebuild))
34 ebuild_object.use_flags.add(*get_uses_objects(ebuild))
35 + ebuild_object.homepages.add(*get_homepages_objects(ebuild))
36 get_keywords_objects(ebuild, ebuild_object)
37 - homepages_list = []
38 - for homepage in ebuild.homepages:
39 - homepage_object = models.HomepageModel(url = homepage,
40 - ebuild = ebuild_object)
41 - homepages_list.append(homepage_object)
42 - models.HomepageModel.objects.bulk_create(homepages_list)
43 + #homepages_list = []
44 + #for homepage in ebuild.homepages:
45 + #homepage_object = models.HomepageModel(url = homepage,
46 + #ebuild = ebuild_object)
47 + #homepages_list.append(homepage_object)
48 + #models.HomepageModel.objects.bulk_create(homepages_list)
49
50
51 print (datetime.datetime.now() - st).total_seconds()
52
53 diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
54 index 9da855f..d90bbb0 100644
55 --- a/gpackages/apps/packages/models.py
56 +++ b/gpackages/apps/packages/models.py
57 @@ -3,6 +3,12 @@ from django.db import models
58 from porttree import Category, Package, Ebuild
59 import managers
60
61 +class HomepageModel(models.Model):
62 + url = models.URLField(max_length=255, unique = True)
63 +
64 + def __unicode__(self):
65 + return self.url
66 +
67 class ArchesModel(models.Model):
68 name = models.CharField(unique = True, max_length = 22)
69
70 @@ -118,6 +124,7 @@ class EbuildModel(models.Model):
71 is_masked = models.BooleanField(default = False)
72
73 #homepage = models.URLField(blank = True, null = True, max_length=255)
74 + homepages = models.ManyToManyField(HomepageModel, blank = True)
75 description = models.TextField(blank = True, null = True)
76
77 objects = managers.EbuildManager()
78 @@ -213,10 +220,14 @@ class Keyword(models.Model):
79 unique_together = ('ebuild', 'arch')
80
81
82 -class HomepageModel(models.Model):
83 - url = models.URLField(max_length=255)
84 - ebuild = models.ForeignKey(EbuildModel)
85 +class MaintainerModel(models.Model):
86 + name = models.CharField( unique = True, max_length = 255)
87 + email = models.EmailField()
88 + role = models.TextField(blank = True, null = True)
89
90 - def __unicode__(self):
91 - return self.url
92 +class HerdsModel(models.Model):
93 + name = models.CharField(unique = True, max_length = 150)
94 + email = models.EmailField()
95 + description = models.TextField(blank = True, null = True)
96 + maintainers = models.ManyToManyField(MaintainerModel, blank = True)