checksums.py 810 B

12345678910111213141516171819202122232425262728293031
  1. from misago.markup import checksums
  2. def is_post_valid(post):
  3. valid_checksum = make_post_checksum(post)
  4. return post.checksum == valid_checksum
  5. def make_post_checksum(post):
  6. post_seeds = [unicode(v) for v in (post.id, post.poster_ip)]
  7. return checksums.make_checksum(post.parsed, post_seeds)
  8. def update_post_checksum(post):
  9. post.checksum = make_post_checksum(post)
  10. return post.checksum
  11. def is_event_valid(event):
  12. valid_checksum = make_event_checksum(event)
  13. return event.checksum == valid_checksum
  14. def make_event_checksum(event):
  15. event_seeds = [unicode(v) for v in (event.id, event.occured_on)]
  16. return checksums.make_checksum(event.message, event_seeds)
  17. def update_event_checksum(event):
  18. event.checksum = make_event_checksum(event)
  19. return event.checksum