mirror of https://github.com/openspug/spug
48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
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目录迁移失败,请联系官方人员')
|