Skip to content

Commit 672f9bc

Browse files
committed
Added display-name. Refined migrations.
- Legacy-Id: 17646
1 parent c055d37 commit 672f9bc

9 files changed

Lines changed: 33 additions & 25 deletions

File tree

ietf/doc/migrations/0032_extres.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Generated by Django 1.11.29 on 2020-03-22 10:49
2+
# Generated by Django 1.11.29 on 2020-04-15 10:20
33
from __future__ import unicode_literals
44

55
from django.db import migrations, models
@@ -19,6 +19,7 @@ class Migration(migrations.Migration):
1919
name='DocExtResource',
2020
fields=[
2121
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
22+
('display_name', models.CharField(blank=True, default='', max_length=255)),
2223
('value', models.CharField(max_length=2083)),
2324
('doc', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='doc.Document')),
2425
('name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.ExtResourceName')),

ietf/doc/migrations/0033_populate_docextresources.py

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,6 @@
1111

1212
from django.db import migrations
1313

14-
"""
15-
This makes me very nervous:
16-
17-
>>> DocumentURL.objects.filter(desc__icontains='notifications').values_list('tag',flat=True).distinct()
18-
<QuerySet ['yang-impact-analysis', 'yang-module-metadata']>
19-
20-
I suspect the wrong thing is happening with the map below wrt the GitHub notificaitons string.
21-
22-
"""
23-
2414
name_map = {
2515
"Issue.*": "tracker",
2616
".*FAQ.*": "faq",
@@ -76,10 +66,11 @@ def forward(apps, schema_editor):
7666
match_found = True
7767
mapped += 1
7868
name = ExtResourceName.objects.get(slug=slug)
79-
DocExtResource.objects.create(doc=doc_url.doc, name_id=slug, value=doc_url.url) # TODO: validate this value against name.type
69+
DocExtResource.objects.create(doc=doc_url.doc, name_id=slug, value=doc_url.url, display_name=doc_url.desc) # TODO: validate this value against name.type
8070
break
8171
if not match_found:
8272
for regext, slug in url_map.items():
73+
doc_url.url = doc_url.url.strip()
8374
if re.search(regext, doc_url.url):
8475
match_found = True
8576
if slug:
@@ -93,7 +84,7 @@ def forward(apps, schema_editor):
9384
doc_url.url = doc_url.url.replace("/tree/master","")
9485
doc_url.url = re.sub('/issues$', '', doc_url.url)
9586
doc_url.url = re.sub('/blob/master.*$', '', doc_url.url)
96-
DocExtResource.objects.create(doc=doc_url.doc, name_id=slug, value=doc_url.url) # TODO: validate this value against name.type
87+
DocExtResource.objects.create(doc=doc_url.doc, name_id=slug, value=doc_url.url, display_name=doc_url.desc) # TODO: validate this value against name.type
9788
else:
9889
ignored +=1
9990
break

ietf/doc/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -865,6 +865,7 @@ class DocumentURL(models.Model):
865865
class DocExtResource(models.Model):
866866
doc = ForeignKey(Document) # Should this really be to DocumentInfo rather than Document?
867867
name = models.ForeignKey(ExtResourceName, on_delete=models.CASCADE)
868+
display_name = models.CharField(max_length=255, default='', blank=True)
868869
value = models.CharField(max_length=2083) # 2083 is the maximum legal URL length
869870

870871
@python_2_unicode_compatible

ietf/group/migrations/0024_extres.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Generated by Django 1.11.29 on 2020-03-22 10:49
2+
# Generated by Django 1.11.29 on 2020-04-15 10:20
33
from __future__ import unicode_literals
44

55
from django.db import migrations, models
@@ -19,6 +19,7 @@ class Migration(migrations.Migration):
1919
name='GroupExtResource',
2020
fields=[
2121
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
22+
('display_name', models.CharField(blank=True, default='', max_length=255)),
2223
('value', models.CharField(max_length=2083)),
2324
('group', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='group.Group')),
2425
('name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.ExtResourceName')),

ietf/group/migrations/0025_populate_groupextresources.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111

1212
from django.db import migrations
1313

14-
1514
name_map = {
1615
"Issue.*": "tracker",
1716
".*FAQ.*": "faq",
@@ -34,21 +33,29 @@
3433
"GitLab User Name": "gitlab_username",
3534
}
3635

37-
# TODO: Review all the None values below and make sure ignoring the URLs they match is really the right thing to do.
36+
# TODO: Consider dropping known bad links at this point
37+
# " *https?://www.ietf.org/html.charters/*": None, # all these links are dead
38+
# " *http://www.bell-labs.com/mailing-lists/pint": None, # dead link
39+
# "http://www.ietf.org/wg/videos/mile-overview.html": None, # dead link
40+
# " http://domen.uninett.no/~hta/ietf/notary-status.h": None, # dead link
41+
# " http://www.ERC.MsState.Edu/packetway": None, # dead link
42+
# "mailarchive\\.ietf\\.org" : None,
43+
# "bell-labs\\.com": None,
44+
# "html\\.charters": None,
45+
# "datatracker\\.ietf\\.org": None,
46+
# etc.
47+
3848
url_map = OrderedDict({
3949
"https?://github\\.com": "github_repo",
4050
"https?://trac\\.ietf\\.org/.*/wiki": "wiki",
4151
"ietf\\.org.*/trac/wiki": "wiki",
4252
"trac.*wiki": "wiki",
43-
"www\\.ietf\\.org/mailman" : None,
44-
"www\\.ietf\\.org/mail-archive" : None,
45-
"mailarchive\\.ietf\\.org" : None,
53+
"www\\.ietf\\.org/mailman" : "mailing_list",
54+
"www\\.ietf\\.org/mail-archive" : "mailing_list_archive",
4655
"ietf\\.org/logs": "jabber_log",
4756
"ietf\\.org/jabber/logs": "jabber_log",
4857
"xmpp:.*?join": "jabber_room",
49-
"bell-labs\\.com": None,
50-
"html\\.charters": None,
51-
"datatracker\\.ietf\\.org": None,
58+
"https?://.*": "webpage"
5259
})
5360

5461
def forward(apps, schema_editor):
@@ -60,17 +67,19 @@ def forward(apps, schema_editor):
6067
not_mapped = 0
6168
ignored = 0
6269

70+
debug.say("Matching...")
6371
for group_url in GroupUrl.objects.all():
6472
match_found = False
6573
for regext,slug in name_map.items():
6674
if re.match(regext, group_url.name):
6775
match_found = True
6876
mapped += 1
6977
name = ExtResourceName.objects.get(slug=slug)
70-
GroupExtResource.objects.create(group=group_url.group, name_id=slug, value=group_url.url) # TODO: validate this value against name.type
78+
GroupExtResource.objects.create(group=group_url.group, name_id=slug, value=group_url.url, display_name=group_url.name) # TODO: validate this value against name.type
7179
break
7280
if not match_found:
7381
for regext, slug in url_map.items():
82+
group_url.url = group_url.url.strip()
7483
if re.search(regext, group_url.url):
7584
match_found = True
7685
if slug:
@@ -84,7 +93,7 @@ def forward(apps, schema_editor):
8493
group_url.url = group_url.url.replace("/tree/master","")
8594
group_url.url = re.sub('/issues$', '', group_url.url)
8695
group_url.url = re.sub('/blob/master.*$', '', group_url.url)
87-
GroupExtResource.objects.create(group=group_url.group, name_id=slug, value=group_url.url) # TODO: validate this value against name.type
96+
GroupExtResource.objects.create(group=group_url.group, name_id=slug, value=group_url.url, display_name=group_url.name) # TODO: validate this value against name.type
8897
else:
8998
ignored +=1
9099
break

ietf/group/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ def __str__(self):
266266
class GroupExtResource(models.Model):
267267
group = ForeignKey(Group) # Should this really be to GroupInfo?
268268
name = models.ForeignKey(ExtResourceName, on_delete=models.CASCADE)
269+
display_name = models.CharField(max_length=255, default='', blank=True)
269270
value = models.CharField(max_length=2083) # 2083 is the maximum legal URL length
270271

271272
@python_2_unicode_compatible

ietf/name/migrations/0011_populate_extres.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ def forward(apps, schema_editor):
3434
resourcename("yc_impact","Yang Impact Analysis", "url"),
3535
resourcename("jabber_room","Jabber Room", "url"),
3636
resourcename("jabber_log","Jabber Log", "url"),
37+
resourcename("mailing_list","Mailing List", "url"),
38+
resourcename("mailing_list_archive","Mailing List Archive","url"),
3739
]
3840

3941
for name in resourcenames:

ietf/person/migrations/0010_extres.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# -*- coding: utf-8 -*-
2-
# Generated by Django 1.11.29 on 2020-03-22 10:49
2+
# Generated by Django 1.11.29 on 2020-04-15 10:20
33
from __future__ import unicode_literals
44

55
from django.db import migrations, models
@@ -19,6 +19,7 @@ class Migration(migrations.Migration):
1919
name='PersonExtResource',
2020
fields=[
2121
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
22+
('display_name', models.CharField(blank=True, default='', max_length=255)),
2223
('value', models.CharField(max_length=2083)),
2324
('name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='name.ExtResourceName')),
2425
('person', ietf.utils.models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='person.Person')),

ietf/person/models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ def json_dict(self, hostscheme):
242242
class PersonExtResource(models.Model):
243243
person = ForeignKey(Person)
244244
name = models.ForeignKey(ExtResourceName, on_delete=models.CASCADE)
245+
display_name = models.CharField(max_length=255, default='', blank=True)
245246
value = models.CharField(max_length=2083) # 2083 is the maximum legal URL length
246247

247248
@python_2_unicode_compatible

0 commit comments

Comments
 (0)