Esempio n. 1
0
    def test_create(self):
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d = Deposition.create(user, type=self.AnotherType)
        assert d.type == self.AnotherType
        assert Deposition.get(d.id).type == self.AnotherType
Esempio n. 2
0
    def test_create(self):
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d = Deposition.create(user, type=self.AnotherType)
        assert d.type == self.AnotherType
        assert Deposition.get(d.id).type == self.AnotherType
Esempio n. 3
0
    def test_create(self):
        """Test."""
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d2 = Deposition.create(user, type=self.AnotherType)
        assert d2.type == self.AnotherType
        assert Deposition.get(d2.id).type == self.AnotherType

        # remove the records
        Deposition.delete(d)
        Deposition.delete(d2)
Esempio n. 4
0
    def test_create(self):
        """Test."""
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d2 = Deposition.create(user, type=self.AnotherType)
        assert d2.type == self.AnotherType
        assert Deposition.get(d2.id).type == self.AnotherType

        # remove the records
        Deposition.delete(d)
        Deposition.delete(d2)
Esempio n. 5
0
 def post(self):
     """Create a new deposition."""
     # Create deposition (uses default deposition type unless type is given)
     d = Deposition.create(current_user, request.json.get('type', None))
     # Validate input data according to schema
     self.validate_input(d)
     # Process input data
     self.process_input(d)
     # Save if all went fine
     d.save()
     return d.marshal(), 201
Esempio n. 6
0
 def post(self):
     """Create a new deposition."""
     # Create deposition (uses default deposition type unless type is given)
     d = Deposition.create(current_user, request.json.get('type', None))
     # Validate input data according to schema
     self.validate_input(d)
     # Process input data
     self.process_input(d)
     # Save if all went fine
     d.save()
     return d.marshal(), 201
Esempio n. 7
0
 def post(self):
     """Create a new deposition."""
     if not can_access_deposit_type(request.json.get("type", None)):
         raise ForbiddenAction("deposit_create_with_type")
     # Create deposition (uses default deposition type unless type is given)
     d = Deposition.create(current_user, request.json.get("type", None))
     # Validate input data according to schema
     self.validate_input(d)
     # Process input data
     self.process_input(d)
     # Save if all went fine
     d.save()
     return d.marshal(), 201
Esempio n. 8
0
def deposition_with_files(files, user_id=None, deposition_id=None):
    """Add very big files to a deposition."""
    if deposition_id:
        d = Deposition.get(deposition_id)
    else:
        d = Deposition.create(User.query.get(user_id))

    for filepath in files:
        with open(filepath, "rb") as fileobj:
            filename = os.path.basename(filepath)
            df = DepositionFile(backend=DepositionStorage(d.id))
            df.save(fileobj, filename=filename)
            d.add_file(df)
    return d