rr- ad842ee8a5 server: refactor + add type hinting
- Added type hinting (for now, 3.5-compatible)
- Split `db` namespace into `db` module and `model` namespace
- Changed elastic search to be created lazily for each operation
- Changed to class based approach in entity serialization to allow
  stronger typing
- Removed `required` argument from `context.get_*` family of functions;
  now it's implied if `default` argument is omitted
- Changed `unalias_dict` implementation to use less magic inputs
2017-02-05 16:34:45 +01:00

18 lines
526 B
Python

from szurubooru import errors, rest, model
def verify_version(
entity: model.Base,
context: rest.Context,
field_name: str='version') -> None:
actual_version = context.get_param_as_int(field_name)
expected_version = entity.version
if actual_version != expected_version:
raise errors.IntegrityError(
'Someone else modified this in the meantime. ' +
'Please try again.')
def bump_version(entity: model.Base) -> None:
entity.version = entity.version + 1