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
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)
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
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
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