signatures.py 742 B

12345678910111213141516171819202122232425
  1. from misago.markup import checksums, signature_flavour
  2. def set_user_signature(user, signature):
  3. user.signature = signature
  4. if signature:
  5. user.signature_parsed = signature_flavour(signature, user)
  6. user.signature_checksum = make_signature_checksum(
  7. user.signature_parsed, user)
  8. else:
  9. user.signature_parsed = ''
  10. user.signature_checksum = ''
  11. def is_user_signature_valid(user):
  12. if user.signature:
  13. valid_checksum = make_signature_checksum(user.signature_parsed, user)
  14. return user.signature_checksum == valid_checksum
  15. else:
  16. return False
  17. def make_signature_checksum(parsed_signature, user):
  18. return checksums.make_checksum(parsed_signature, [user.pk])