2
0
mirror of https://github.com/frappe/bench.git synced 2025-01-09 16:36:25 +00:00

fix: Patch to move archived_sites to archived/sites

This patch runs only if Frappe >= v14. Doesn't do anything else

Frappe PR: https://github.com/frappe/frappe/pull/15060
This commit is contained in:
Gavin D'souza 2021-11-26 18:53:13 +05:30
parent b7994e21b1
commit 877e812fbb
2 changed files with 53 additions and 1 deletions

View File

@ -7,3 +7,4 @@ bench.patches.v4.install_yarn #2
bench.patches.v5.fix_user_permissions
bench.patches.v5.fix_backup_cronjob
bench.patches.v5.set_live_reload_config
bench.patches.v5.update_archived_sites

View File

@ -0,0 +1,51 @@
"""
Deprecate archived_sites folder for consistency. This change is
only for Frappe v14 benches. If not a v14 bench yet, skip this
patch and try again later.
1. Rename folder `./archived_sites` to `./archived/sites`
2. Create a symlink `./archived_sites` => `./archived/sites`
Corresponding changes in frappe/frappe via https://github.com/frappe/frappe/pull/15060
"""
import os
import shutil
from pathlib import Path
import click
from bench.utils.app import get_current_version
from semantic_version import Version
def execute(bench_path):
frappe_version = Version(get_current_version('frappe'))
if frappe_version.major < 14 or os.name != "posix":
# Returning False means patch has been skipped
return False
pre_patch_dir = os.getcwd()
old_directory = Path(bench_path, "archived_sites")
new_directory = Path(bench_path, "archived", "sites")
if old_directory.is_symlink():
return True
os.chdir(bench_path)
if not os.path.exists(new_directory):
os.makedirs(new_directory)
for archived_site_path in old_directory.glob("*"):
shutil.move(archived_site_path, new_directory)
click.secho(f"Archived sites are now stored under {new_directory}")
if not os.listdir(old_directory):
os.rmdir(old_directory)
os.symlink(new_directory, old_directory)
click.secho(f"Symlink {old_directory} that points to {new_directory}")
os.chdir(pre_patch_dir)