22 lines
638 B
Python
22 lines
638 B
Python
import hashlib
|
|
|
|
from django_migration_linter.utils import split_migration_path
|
|
|
|
|
|
class Migration(object):
|
|
def __init__(self, abs_path):
|
|
self.abs_path = abs_path
|
|
self.app_name, self.name = split_migration_path(self.abs_path)
|
|
|
|
def __lt__(self, other):
|
|
if not isinstance(other, Migration):
|
|
return NotImplemented
|
|
return self.abs_path < other.abs_path
|
|
|
|
def get_md5hash(self):
|
|
hash_md5 = hashlib.md5()
|
|
with open(self.abs_path, "rb") as f:
|
|
for chunk in iter(lambda: f.read(4096), b""):
|
|
hash_md5.update(chunk)
|
|
return hash_md5.hexdigest()
|