Skip to content

Commit 405f76f

Browse files
committed
Updated the makeresources command to use the current AppCommand.handle_app_config() interface.
- Legacy-Id: 13306
1 parent bea447c commit 405f76f

4 files changed

Lines changed: 56 additions & 14 deletions

File tree

ietf/api/management/commands/makeresources.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
import os
44
import datetime
55
import collections
6+
from importlib import import_module
67

78
import debug # pyflakes:ignore
89

910
from django.core.management.base import AppCommand
1011
from django.db import models
11-
from django.utils.importlib import import_module
1212
from django.template import Template, Context
1313

1414
from tastypie.resources import ModelResource
@@ -53,16 +53,17 @@ def render(template, dictionary):
5353

5454
class Command(AppCommand):
5555

56-
def handle_app(self, app, **options):
57-
if app.__package__:
58-
print("\nInspecting %s .." % app.__package__)
59-
resource_file_path = os.path.join(os.path.dirname(app.__file__), "resources.py")
56+
def handle_app_config(self, app, **options):
57+
# dotted path to app
58+
if app.name:
59+
print("\nInspecting %s .." % app.name)
60+
resource_file_path = os.path.join(app.path, "resources.py")
6061

61-
app_models = models.get_models(app)
62+
app_models = app.get_models()
6263

6364
app_resources = {}
6465
if os.path.exists(resource_file_path):
65-
resources = import_module("%s.resources" % app.__package__)
66+
resources = import_module("%s.resources" % app.name)
6667
for n,v in resources.__dict__.items():
6768
if issubclass(type(v), type(ModelResource)):
6869
app_resources[n] = v
@@ -76,11 +77,11 @@ def handle_app(self, app, **options):
7677
do_update_resources = True
7778

7879
if do_update_resources:
79-
print("Updating resources.py for %s" % app.__package__)
80+
print("Updating resources.py for %s" % app.name)
8081
with open(resource_file_path, "a") as rfile:
8182
info = dict(
82-
app=app.__package__,
83-
app_label=app.__package__.split('.')[-1],
83+
app=app.name,
84+
app_label=app.label,
8485
date=datetime.datetime.now()
8586
)
8687
new_models = {}
@@ -106,7 +107,7 @@ def handle_app(self, app, **options):
106107
if rel_model_name == model_name:
107108
# foreign key to self class -- quote
108109
# the rmodel_name
109-
rmodel_name="'%s.resources.%sResource'" % (app.__package__, rel_model_name)
110+
rmodel_name="'%s.resources.%sResource'" % (app.name, rel_model_name)
110111
else:
111112
rmodel_name=rel_model_name+"Resource"
112113
foreign_keys.append(dict(
@@ -134,7 +135,7 @@ def handle_app(self, app, **options):
134135
if rel_model_name == model_name:
135136
# foreign key to self class -- quote
136137
# the rmodel_name
137-
rmodel_name="'%s.resources.%sResource'" % (app.__package__, rel_model_name)
138+
rmodel_name="'%s.resources.%sResource'" % (app.name, rel_model_name)
138139
else:
139140
rmodel_name=rel_model_name+"Resource"
140141
m2m_keys.append(dict(
@@ -158,7 +159,7 @@ def handle_app(self, app, **options):
158159
for k in imports:
159160
imports[k]["names"] = set(imports[k]["names"])
160161
new_models[model_name] = dict(
161-
app=app.__package__.split('.')[-1],
162+
app=app.name.split('.')[-1],
162163
model=model,
163164
fields=model._meta.fields,
164165
m2m_fields=model._meta.many_to_many,
@@ -215,4 +216,4 @@ def handle_app(self, app, **options):
215216
info.update(dict(models=new_model_list))
216217
rfile.write(render(resource_class_template, info))
217218
else:
218-
print(" nothing to do for %s" % app.__package__)
219+
print(" nothing to do for %s" % app.name)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.10.7 on 2017-05-04 13:15
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.db.models.deletion
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('doc', '0027_auto_20170412_0528'),
13+
]
14+
15+
operations = [
16+
migrations.CreateModel(
17+
name='EditedAuthorsDocEvent',
18+
fields=[
19+
('docevent_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='doc.DocEvent')),
20+
('basis', models.CharField(help_text=b'What is the source or reasoning for the changes to the author list', max_length=255)),
21+
],
22+
bases=('doc.docevent',),
23+
),
24+
migrations.AlterField(
25+
model_name='docevent',
26+
name='type',
27+
field=models.CharField(choices=[(b'new_revision', b'Added new revision'), (b'new_submission', b'Uploaded new revision'), (b'changed_document', b'Changed document metadata'), (b'added_comment', b'Added comment'), (b'added_message', b'Added message'), (b'edited_authors', b'Edited the documents author list'), (b'deleted', b'Deleted document'), (b'changed_state', b'Changed state'), (b'changed_stream', b'Changed document stream'), (b'expired_document', b'Expired document'), (b'extended_expiry', b'Extended expiry of document'), (b'requested_resurrect', b'Requested resurrect'), (b'completed_resurrect', b'Completed resurrect'), (b'changed_consensus', b'Changed consensus'), (b'published_rfc', b'Published RFC'), (b'added_suggested_replaces', b'Added suggested replacement relationships'), (b'reviewed_suggested_replaces', b'Reviewed suggested replacement relationships'), (b'changed_group', b'Changed group'), (b'changed_protocol_writeup', b'Changed protocol writeup'), (b'changed_charter_milestone', b'Changed charter milestone'), (b'initial_review', b'Set initial review time'), (b'changed_review_announcement', b'Changed WG Review text'), (b'changed_action_announcement', b'Changed WG Action text'), (b'started_iesg_process', b'Started IESG process on document'), (b'created_ballot', b'Created ballot'), (b'closed_ballot', b'Closed ballot'), (b'sent_ballot_announcement', b'Sent ballot announcement'), (b'changed_ballot_position', b'Changed ballot position'), (b'changed_ballot_approval_text', b'Changed ballot approval text'), (b'changed_ballot_writeup_text', b'Changed ballot writeup text'), (b'changed_rfc_editor_note_text', b'Changed RFC Editor Note text'), (b'changed_last_call_text', b'Changed last call text'), (b'requested_last_call', b'Requested last call'), (b'sent_last_call', b'Sent last call'), (b'scheduled_for_telechat', b'Scheduled for telechat'), (b'iesg_approved', b'IESG approved document (no problem)'), (b'iesg_disapproved', b'IESG disapproved document (do not publish)'), (b'approved_in_minute', b'Approved in minute'), (b'iana_review', b'IANA review comment'), (b'rfc_in_iana_registry', b'RFC is in IANA registry'), (b'rfc_editor_received_announcement', b'Announcement was received by RFC Editor'), (b'requested_publication', b'Publication at RFC Editor requested'), (b'sync_from_rfc_editor', b'Received updated information from RFC Editor'), (b'requested_review', b'Requested review'), (b'assigned_review_request', b'Assigned review request'), (b'closed_review_request', b'Closed review request'), (b'downref_approved', b'Downref approved')], max_length=50),
28+
),
29+
]

ietf/doc/models.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -840,6 +840,7 @@ class DocReminder(models.Model):
840840
("changed_document", "Changed document metadata"),
841841
("added_comment", "Added comment"),
842842
("added_message", "Added message"),
843+
("edited_authors", "Edited the documents author list"),
843844

844845
("deleted", "Deleted document"),
845846

@@ -1068,3 +1069,10 @@ class DeletedEvent(models.Model):
10681069

10691070
def __unicode__(self):
10701071
return u"%s by %s %s" % (self.content_type, self.by, self.time)
1072+
1073+
class EditedAuthorsDocEvent(DocEvent):
1074+
""" Capture the reasoning or authority for changing a document author list.
1075+
Allows programs to recognize and not change lists that have been manually verified and corrected.
1076+
Example 'basis' values might be from ['manually adjusted','recomputed by parsing document', etc.]
1077+
"""
1078+
basis = models.CharField(help_text="What is the source or reasoning for the changes to the author list",max_length=255)

ietf/doc/resources.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,3 +602,7 @@ class Meta:
602602
}
603603
api.doc.register(ReviewRequestDocEventResource())
604604

605+
606+
607+
608+

0 commit comments

Comments
 (0)