checksums.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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_report_valid(report):
  12. valid_checksum = make_report_checksum(report)
  13. return report.checksum == valid_checksum
  14. def make_report_checksum(report):
  15. report_seeds = [unicode(v) for v in (report.id, report.reported_by_ip)]
  16. return checksums.make_checksum(report.message, report_seeds)
  17. def update_report_checksum(report):
  18. report.checksum = make_report_checksum(report)
  19. return report.checksum
  20. def is_event_valid(event):
  21. valid_checksum = make_event_checksum(event)
  22. return event.checksum == valid_checksum
  23. def make_event_checksum(event):
  24. event_seeds = [unicode(v) for v in (event.id, event.occured_on)]
  25. return checksums.make_checksum(event.message, event_seeds)
  26. def update_event_checksum(event):
  27. event.checksum = make_event_checksum(event)
  28. return event.checksum