Skip to content

Commit 68d0e4c

Browse files
committed
Port mailinglist view, expand group importer a bit
- Legacy-Id: 3159
1 parent 215d4ff commit 68d0e4c

4 files changed

Lines changed: 36 additions & 8 deletions

File tree

ietf/mailinglists/urls.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
# Copyright The IETF Trust 2007, All Rights Reserved
22

33
from django.conf.urls.defaults import patterns
4+
from django.conf import settings
45
from ietf.idtracker.models import IETFWG
56

7+
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
8+
from redesign.group.proxy import IETFWG
9+
http_archive_wg_queryset = IETFWG.objects.filter(list_pages__startswith='http')
10+
else:
11+
http_archive_wg_queryset = IETFWG.objects.filter(email_archive__startswith='http')
12+
613
urlpatterns = patterns('django.views.generic.list_detail',
7-
(r'^wg/$', 'object_list', { 'queryset': IETFWG.objects.filter(email_archive__startswith='http'), 'template_name': 'mailinglists/wgwebmail_list.html' }),
14+
(r'^wg/$', 'object_list', { 'queryset': http_archive_wg_queryset, 'template_name': 'mailinglists/wgwebmail_list.html' }),
815
)
916
urlpatterns += patterns('',
1017
(r'^nonwg/$', 'django.views.generic.simple.redirect_to', { 'url': 'http://www.ietf.org/list/nonwg.html'}),

redesign/group/models.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Group(models.Model):
1414
charter = models.OneToOneField('doc.Document', related_name='chartered_group', blank=True, null=True)
1515
parent = models.ForeignKey('Group', blank=True, null=True)
1616
list_email = models.CharField(max_length=64, blank=True)
17-
list_pages = models.CharField(max_length=64, blank=True)
17+
list_pages = models.CharField(max_length=255, blank=True)
1818
comments = models.TextField(blank=True)
1919
def __unicode__(self):
2020
return self.name

redesign/group/proxy.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,15 @@ def group_acronym(self):
8585
#area_director = models.ForeignKey(AreaDirector, null=True)
8686
#meeting_scheduled = models.CharField(blank=True, max_length=3)
8787
#email_address = models.CharField(blank=True, max_length=60)
88+
@property
89+
def email_address(self):
90+
return self.list_email
8891
#email_subscribe = models.CharField(blank=True, max_length=120)
8992
#email_keyword = models.CharField(blank=True, max_length=50)
9093
#email_archive = models.CharField(blank=True, max_length=95)
94+
@property
95+
def email_archive(self):
96+
return self.list_pages
9197
#comments = models.TextField(blank=True)
9298
#last_modified_date = models.DateField()
9399
#meeting_scheduled_old = models.CharField(blank=True, max_length=3)

redesign/importing/import-groups.py

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@
6767

6868

6969
# NomCom
70-
Group.objects.filter(acronym__startswith="nomcom").exclude(acronym="nomcom").delete()
70+
#Group.objects.filter(acronym__startswith="nomcom").exclude(acronym="nomcom").delete()
7171

7272
for o in ChairsHistory.objects.filter(chair_type=Role.NOMCOM_CHAIR).order_by("start_year"):
73-
group = Group()
74-
group.acronym = "nomcom%s" % o.start_year
73+
print "importing ChairsHistory/Nomcom", o.pk, "nomcom%s" % o.start_year
74+
group, _ = Group.objects.get_or_create(acronym="nomcom%s" % o.start_year)
7575
group.name = "IAB/IESG Nominating Committee %s/%s" % (o.start_year, o.end_year)
7676
if o.chair_type.person == o.person:
7777
s = state_names["active"]
@@ -97,7 +97,14 @@
9797

9898
# Area
9999
for o in Area.objects.all():
100-
group, _ = Group.objects.get_or_create(acronym=o.area_acronym.acronym)
100+
print "importing Area", o.pk, o.area_acronym.acronym
101+
102+
try:
103+
group = Group.objects.get(acronym=o.area_acronym.acronym)
104+
except Group.DoesNotExist:
105+
group = Group(acronym=o.area_acronym.acronym)
106+
group.id = o.area_acronym_id # transfer id
107+
101108
group.name = o.area_acronym.name
102109
if o.status.status == "Active":
103110
s = state_names["active"]
@@ -127,6 +134,8 @@
127134

128135
# IRTF
129136
for o in IRTF.objects.all():
137+
print "importing IRTF", o.pk, o.acronym
138+
130139
try:
131140
group = Group.objects.get(acronym=o.acronym.lower())
132141
except Group.DoesNotExist:
@@ -144,7 +153,9 @@
144153
# FIXME: missing fields from old: meeting_scheduled
145154

146155
# IETFWG, AreaGroup
147-
for o in IETFWG.objects.all():
156+
for o in IETFWG.objects.all().order_by("pk"):
157+
print "importing IETFWG", o.pk, o.group_acronym.acronym
158+
148159
try:
149160
group = Group.objects.get(acronym=o.group_acronym.acronym)
150161
except Group.DoesNotExist:
@@ -198,6 +209,10 @@
198209
print "no area/parent for", group.acronym, group.name, group.type, group.state
199210

200211
group.list_email = o.email_address if o.email_address else ""
212+
l = o.email_archive.strip() if o.email_archive else ""
213+
if l in ("none", "not available"):
214+
l = ""
215+
group.list_pages = l
201216
group.comments = o.comments.strip() if o.comments else ""
202217

203218
group.save()
@@ -219,4 +234,4 @@ def import_date_event(name):
219234
import_date_event("concluded")
220235
# dormant_date is empty on all so don't bother with that
221236

222-
# FIXME: missing fields from old: meeting_scheduled, email_subscribe, email_keyword, email_archive, last_modified_date, meeting_scheduled_old
237+
# FIXME: missing fields from old: meeting_scheduled, email_subscribe, email_keyword, last_modified_date, meeting_scheduled_old

0 commit comments

Comments
 (0)