1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import django
- import sys
- import os
- BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- sys.path.append(BASE_DIR)
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "spug.settings")
- django.setup()
- from django.conf import settings
- import subprocess
- import shutil
- import sys
- import os
- import re
- class Version:
- def __init__(self, version):
- self.version = re.sub('[^0-9.]', '', version).split('.')
- def __gt__(self, other):
- if not isinstance(other, Version):
- raise TypeError('required type Version')
- for v1, v2 in zip(self.version, other.version):
- if int(v1) == int(v2):
- continue
- elif int(v1) > int(v2):
- return True
- else:
- return False
- return False
- if __name__ == '__main__':
- old_version = Version(sys.argv[1])
- now_version = Version(settings.SPUG_VERSION)
- if old_version < Version('v3.0.2'):
- old_path = os.path.join(settings.BASE_DIR, 'repos')
- new_path = os.path.join(settings.REPOS_DIR)
- if not os.path.exists(new_path):
- print('执行 v3.0.1-beta.8 repos目录迁移')
- shutil.move(old_path, new_path)
- task = subprocess.Popen(f'cd {settings.BASE_DIR} && git checkout -- repos', shell=True)
- if task.wait() != 0:
- print('repos目录迁移失败,请联系官方人员')
|