diff options
| -rw-r--r-- | fatcat/api.py | 50 | ||||
| -rw-r--r-- | fatcat/api_client.py | 4 | ||||
| -rw-r--r-- | fatcat/models.py | 32 | ||||
| -rw-r--r-- | fatcat/routes.py | 4 | ||||
| -rw-r--r-- | fatcat/sql.py | 20 | ||||
| -rw-r--r-- | tests/api.py | 2 | ||||
| -rw-r--r-- | tests/test_fixtures.py | 2 | 
7 files changed, 57 insertions, 57 deletions
| diff --git a/fatcat/api.py b/fatcat/api.py index 60d0ba0c..77afef0a 100644 --- a/fatcat/api.py +++ b/fatcat/api.py @@ -8,21 +8,21 @@ from fatcat.sql import *  ### Helpers ################################################################# -def get_or_create_edit_group(param=None): +def get_or_create_editgroup(param=None):      if param != None: -        edit_group = EditGroup.query.filter(EditGroup.id==int(param)).first_or_404() -        return edit_group +        editgroup = EditGroup.query.filter(EditGroup.id==int(param)).first_or_404() +        return editgroup      editor = Editor.query.filter(Editor.id==1).first() -    if editor.active_edit_group: -        return editor.active_edit_group +    if editor.active_editgroup: +        return editor.active_editgroup -    edit_group = EditGroup(editor=editor) -    db.session.add(edit_group) +    editgroup = EditGroup(editor=editor) +    db.session.add(editgroup)      db.session.commit() -    editor.active_edit_group = edit_group +    editor.active_editgroup = editgroup      db.session.add(editor)      db.session.commit() -    return edit_group +    return editgroup  ### Views ################################################################### @@ -35,13 +35,13 @@ def api_work_get(ident):  def api_work_create():      # TODO: Special-case to pull out primary and create that?      params = request.get_json() -    edit_group = get_or_create_edit_group(params.get('editgroup')) +    editgroup = get_or_create_editgroup(params.get('editgroup'))      rev = WorkRev(          title=params.get('title', None),          work_type=params.get('work_type', None),      )      ident = WorkIdent(is_live=False, rev=rev) -    edit = WorkEdit(edit_group=edit_group, ident=ident, rev=rev) +    edit = WorkEdit(editgroup=editgroup, ident=ident, rev=rev)      if params.get('extra', None):          ser = json.dumps(params['extra'], indent=False).encode('utf-8')          rev.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest()) @@ -63,7 +63,7 @@ def api_release_get(ident):  @app.route('/v0/release', methods=['POST'])  def api_release_create():      params = request.get_json() -    edit_group = get_or_create_edit_group(params.get('editgroup')) +    editgroup = get_or_create_editgroup(params.get('editgroup'))      creators = params.get('creators', [])      creators = [CreatorIdent.query.filter(CreatorIdent.id==c).first_or_404() for c in creators]      targets = [ref['target'] for ref in params.get('refs', []) if ref.get('target') != None] @@ -88,7 +88,7 @@ def api_release_create():      rev.refs = refs      db.session.add_all(refs)      ident = ReleaseIdent(is_live=False, rev=rev) -    edit = ReleaseEdit(edit_group=edit_group, ident=ident, rev=rev) +    edit = ReleaseEdit(editgroup=editgroup, ident=ident, rev=rev)      if params.get('extra', None):          ser = json.dumps(params['extra'], indent=False).encode('utf-8')          rev.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest()) @@ -123,13 +123,13 @@ def api_creator_get(ident):  @app.route('/v0/creator', methods=['POST'])  def api_creator_create():      params = request.get_json() -    edit_group = get_or_create_edit_group(params.get('editgroup')) +    editgroup = get_or_create_editgroup(params.get('editgroup'))      rev = CreatorRev(          name=params.get('name', None),          orcid=params.get('orcid', None),      )      ident = CreatorIdent(is_live=False, rev=rev) -    edit = CreatorEdit(edit_group=edit_group, ident=ident, rev=rev) +    edit = CreatorEdit(editgroup=editgroup, ident=ident, rev=rev)      if params.get('extra', None):          ser = json.dumps(params['extra'], indent=False).encode('utf-8')          rev.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest()) @@ -159,14 +159,14 @@ def api_container_get(ident):  @app.route('/v0/container', methods=['POST'])  def api_container_create():      params = request.get_json() -    edit_group = get_or_create_edit_group(params.get('editgroup')) +    editgroup = get_or_create_editgroup(params.get('editgroup'))      rev = ContainerRev(          name=params.get('name', None),          publisher=params.get('publisher', None),          issn=params.get('issn', None),      )      ident = ContainerIdent(is_live=False, rev=rev) -    edit = ContainerEdit(edit_group=edit_group, ident=ident, rev=rev) +    edit = ContainerEdit(editgroup=editgroup, ident=ident, rev=rev)      if params.get('extra', None):          ser = json.dumps(params['extra'], indent=False).encode('utf-8')          rev.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest()) @@ -196,7 +196,7 @@ def api_file_get(ident):  @app.route('/v0/file', methods=['POST'])  def api_file_create():      params = request.get_json() -    edit_group = get_or_create_edit_group(params.get('editgroup')) +    editgroup = get_or_create_editgroup(params.get('editgroup'))      releases = params.get('releases', [])      releases = [ReleaseIdent.query.filter(ReleaseIdent.id==r).first_or_404() for r in releases]      rev = FileRev( @@ -208,7 +208,7 @@ def api_file_create():      rev.releases = file_releases      db.session.add_all(file_releases)      ident = FileIdent(is_live=False, rev=rev) -    edit = FileEdit(edit_group=edit_group, ident=ident, rev=rev) +    edit = FileEdit(editgroup=editgroup, ident=ident, rev=rev)      if params.get('extra', None):          ser = json.dumps(params['extra'], indent=False).encode('utf-8')          rev.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest()) @@ -218,15 +218,15 @@ def api_file_create():  @app.route('/v0/editgroup/<int:ident>', methods=['GET']) -def api_edit_group_get(ident): +def api_editgroup_get(ident):      entity = EditGroup.query\          .join(EditGroup.editor)\          .filter(EditGroup.id==ident).first_or_404()      # TODO: fill in all the related edit types... -    return edit_group_schema.jsonify(entity) +    return editgroup_schema.jsonify(entity)  @app.route('/v0/editgroup', methods=['POST']) -def api_edit_group_create(): +def api_editgroup_create():      params = request.get_json()      eg = EditGroup(          editor_id=1, @@ -237,10 +237,10 @@ def api_edit_group_create():          eg.extra_json = ExtraJson(json=ser, sha1=hashlib.sha1(ser).hexdigest())      db.session.add(eg)      db.session.commit() -    return edit_group_schema.jsonify(eg) +    return editgroup_schema.jsonify(eg)  @app.route('/v0/editgroup/<int:ident>/accept', methods=['POST']) -def api_edit_group_accept(ident): +def api_editgroup_accept(ident):      entity = EditGroup.query.filter(EditGroup.id==ident).first_or_404()      accept_editgroup(entity)      return jsonify({'success': True}) @@ -254,7 +254,7 @@ def api_editor_get(username):  @app.route('/v0/editor/<username>/changelog', methods=['GET'])  def api_editor_changelog(username):      entries = ChangelogEntry.query\ -        .join(ChangelogEntry.edit_group)\ +        .join(ChangelogEntry.editgroup)\          .join(EditGroup.editor)\          .filter(Editor.username==username)\          .all() diff --git a/fatcat/api_client.py b/fatcat/api_client.py index 181c3ca7..e371b727 100644 --- a/fatcat/api_client.py +++ b/fatcat/api_client.py @@ -21,14 +21,14 @@ class FatCatApiClient:          return self.session.post(self.host_url + path, json=data, headers=hdrs)      def import_crossref_file(self, json_file): -        eg = self.new_edit_group() +        eg = self.new_editgroup()          with open(json_file, 'r') as file:              for line in file:                  obj = json.loads(line)                  self.import_crossref_dict(obj, editgroup=eg)          self.accept_editgroup(eg) -    def new_edit_group(self): +    def new_editgroup(self):          rv = self.post('/v0/editgroup', data=dict(              editor=1))          assert rv.status_code == 200 diff --git a/fatcat/models.py b/fatcat/models.py index 01aef79f..1bb648c8 100644 --- a/fatcat/models.py +++ b/fatcat/models.py @@ -87,12 +87,12 @@ class WorkEdit(db.Model):      ident_id = db.Column(db.ForeignKey('work_ident.id'), nullable=True)      rev_id = db.Column(db.ForeignKey('work_rev.id'), nullable=True)      redirect_id = db.Column(db.ForeignKey('work_ident.id'), nullable=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id'), nullable=True) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'), nullable=True)      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson")      ident = db.relationship("WorkIdent", foreign_keys="WorkEdit.ident_id")      rev = db.relationship("WorkRev") -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  class ReleaseRev(db.Model): @@ -131,12 +131,12 @@ class ReleaseEdit(db.Model):      ident_id = db.Column(db.ForeignKey('release_ident.id'), nullable=True)      rev_id = db.Column(db.ForeignKey('release_rev.id'), nullable=True)      redirect_id = db.Column(db.ForeignKey('release_ident.id'), nullable=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id'), nullable=True) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'), nullable=True)      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson")      ident = db.relationship("ReleaseIdent", foreign_keys="ReleaseEdit.ident_id")      rev = db.relationship("ReleaseRev") -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  class CreatorRev(db.Model): @@ -163,12 +163,12 @@ class CreatorEdit(db.Model):      ident_id = db.Column(db.ForeignKey('creator_ident.id'), nullable=True)      rev_id = db.Column(db.ForeignKey('creator_rev.id'), nullable=True)      redirect_id = db.Column(db.ForeignKey('creator_ident.id'), nullable=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id'), nullable=True) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'), nullable=True)      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson")      ident = db.relationship("CreatorIdent", foreign_keys="CreatorEdit.ident_id")      rev = db.relationship("CreatorRev") -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  class ContainerRev(db.Model): @@ -198,12 +198,12 @@ class ContainerEdit(db.Model):      ident_id = db.Column(db.ForeignKey('container_ident.id'), nullable=True)      rev_id = db.Column(db.ForeignKey('container_rev.id'), nullable=True)      redirect_id = db.Column(db.ForeignKey('container_ident.id'), nullable=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id'), nullable=True) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'), nullable=True)      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson")      ident = db.relationship("ContainerIdent", foreign_keys="ContainerEdit.ident_id")      rev = db.relationship("ContainerRev") -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  class FileRev(db.Model): @@ -231,18 +231,18 @@ class FileEdit(db.Model):      ident_id = db.Column(db.ForeignKey('file_ident.id'), nullable=True)      rev_id = db.Column(db.ForeignKey('file_rev.id'), nullable=True)      redirect_id = db.Column(db.ForeignKey('file_ident.id'), nullable=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id'), nullable=True) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'), nullable=True)      extra_json_id = db.Column(db.ForeignKey('extra_json.sha1'), nullable=True)      extra_json = db.relationship("ExtraJson")      ident = db.relationship("FileIdent", foreign_keys="FileEdit.ident_id")      rev = db.relationship("FileRev") -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  ### Editing #################################################################  class EditGroup(db.Model): -    __tablename__ = 'edit_group' +    __tablename__ = 'editgroup'      id = db.Column(db.Integer, primary_key=True, autoincrement=True)      editor_id = db.Column(db.ForeignKey('editor.id'), nullable=False)      description = db.Column(db.String) @@ -256,15 +256,15 @@ class Editor(db.Model):      id = db.Column(db.Integer, primary_key=True, autoincrement=True)      username = db.Column(db.String, nullable=False, unique=True)      is_admin = db.Column(db.Boolean, nullable=False, default=False) -    active_edit_group_id = db.Column(db.ForeignKey('edit_group.id', use_alter=True)) -    active_edit_group = db.relationship('EditGroup', foreign_keys='Editor.active_edit_group_id') +    active_editgroup_id = db.Column(db.ForeignKey('editgroup.id', use_alter=True)) +    active_editgroup = db.relationship('EditGroup', foreign_keys='Editor.active_editgroup_id')  class ChangelogEntry(db.Model):      __tablename__= 'changelog'      id = db.Column(db.Integer, primary_key=True, autoincrement=True) -    edit_group_id = db.Column(db.ForeignKey('edit_group.id')) +    editgroup_id = db.Column(db.ForeignKey('editgroup.id'))      timestamp = db.Column(db.Integer) -    edit_group = db.relationship("EditGroup") +    editgroup = db.relationship("EditGroup")  ### Other ################################################################### @@ -445,7 +445,7 @@ class EditGroupSchema(ma.ModelSchema):      editor = ma.Nested(EditorSchema)  editor_schema = EditorSchema() -edit_group_schema = EditGroupSchema() +editgroup_schema = EditGroupSchema()  class ChangelogEntrySchema(ma.ModelSchema):      class Meta: diff --git a/fatcat/routes.py b/fatcat/routes.py index f6d6c4e3..b1568833 100644 --- a/fatcat/routes.py +++ b/fatcat/routes.py @@ -71,7 +71,7 @@ def file_view(ident):  @app.route('/editgroup/<int:ident>', methods=['GET'])  def editgroup_view(ident): -    rv = api.api_edit_group_get(ident) +    rv = api.api_editgroup_get(ident)      if rv.status_code != 200:          # TODO: better wrapping for all entities          return abort(rv.status_code) @@ -80,7 +80,7 @@ def editgroup_view(ident):  @app.route('/editgroup/current', methods=['GET'])  def editgroup_current(): -    eg = api.get_or_create_edit_group() +    eg = api.get_or_create_editgroup()      return redirect('/editgroup/{}'.format(eg.id))  @app.route('/editor/<username>', methods=['GET']) diff --git a/fatcat/sql.py b/fatcat/sql.py index 3f88ea12..f05bd0ee 100644 --- a/fatcat/sql.py +++ b/fatcat/sql.py @@ -85,13 +85,13 @@ def accept_editgroup(eg):      # check if already accepted      # XXX: add a test for this -    assert ChangelogEntry.query.filter(ChangelogEntry.edit_group_id==eg.id).count() == 0 +    assert ChangelogEntry.query.filter(ChangelogEntry.editgroup_id==eg.id).count() == 0      # start transaction (TODO: explicitly?)      # for each entity type:      for cls in (WorkEdit, ReleaseEdit, CreatorEdit, ContainerEdit, FileEdit): -        edits = cls.query.filter(cls.edit_group_id==eg.id).all() +        edits = cls.query.filter(cls.editgroup_id==eg.id).all()          # for each entity edit->ident:          for edit in edits:              # update entity ident state (activate, redirect, delete) @@ -102,7 +102,7 @@ def accept_editgroup(eg):      # append log/changelog row      cle = ChangelogEntry( -        edit_group_id=eg.id, +        editgroup_id=eg.id,          # TODO: is this UTC?          timestamp=int(time.time()))      db.session.add(cle) @@ -111,12 +111,12 @@ def accept_editgroup(eg):      db.session.add(eg)      # no longer "active" -    eg.editor.active_edit_group = None +    eg.editor.active_editgroup = None      db.session.add(eg.editor)      db.session.commit() -def merge_works(left_id, right_id, edit_group=None): +def merge_works(left_id, right_id, editgroup=None):      """Helper to merge two works together."""      left = WorkIdent.query.filter(WorkIdent.id == left_id).first_or_404()      right = WorkIdent.query.filter(WorkIdent.id == right_id).first_or_404() @@ -124,8 +124,8 @@ def merge_works(left_id, right_id, edit_group=None):      assert left.rev and right.rev      assert (left.redirect_id == None) and (right.redirect_id == None) -    if edit_group is None: -        edit_group = fatcat.api.get_or_create_edit_group() +    if editgroup is None: +        editgroup = fatcat.api.get_or_create_editgroup()      releases = ReleaseIdent.query\          .join(ReleaseIdent.rev)\ @@ -142,11 +142,11 @@ def merge_works(left_id, right_id, edit_group=None):          rev.id = None          rev.parent = old_id          rev.work_ident_id = left.id -        re = ReleaseEdit(edit_group=edit_group, ident=release_ident, rev=rev) +        re = ReleaseEdit(editgroup=editgroup, ident=release_ident, rev=rev)          db.session.add_all([rev, re]) -    # redirect right id to left (via edit_group) -    neww = WorkEdit(edit_group=edit_group, ident=right, +    # redirect right id to left (via editgroup) +    neww = WorkEdit(editgroup=editgroup, ident=right,          rev=left.rev, redirect_id=left.id)      db.session.add_all([neww]) diff --git a/tests/api.py b/tests/api.py index 5fff779e..7e487f17 100644 --- a/tests/api.py +++ b/tests/api.py @@ -207,7 +207,7 @@ def test_api_rich_create(app):      # test that editor's active edit group is now invalid      editor = Editor.query.first() -    assert editor.active_edit_group == None +    assert editor.active_editgroup == None  def test_api_release_lookup(rich_app):      app = rich_app diff --git a/tests/test_fixtures.py b/tests/test_fixtures.py index 2ced3bb5..0a0d3176 100644 --- a/tests/test_fixtures.py +++ b/tests/test_fixtures.py @@ -26,4 +26,4 @@ def test_rich_app_fixture(rich_app):      # test that editor's active edit group is now invalid      editor = Editor.query.first() -    assert editor.active_edit_group == None +    assert editor.active_editgroup == None | 
