1
0
mirror of https://github.com/pirate/ArchiveBox.git synced 2025-08-08 15:46:42 +02:00

ensure correct permissions for archived items

This commit is contained in:
apkallum
2020-07-24 14:02:11 -04:00
parent f4c0616332
commit 9cb0be183b
2 changed files with 14 additions and 2 deletions

View File

@@ -53,8 +53,12 @@ def chmod_file(path: str, cwd: str='.', permissions: str=OUTPUT_PERMISSIONS) ->
if not root.exists():
raise Exception('Failed to chmod: {} does not exist (did the previous step fail?)'.format(path))
for subpath in Path(path).glob('**/*'):
os.chmod(subpath, int(OUTPUT_PERMISSIONS, base=8))
if not root.is_dir():
os.chmod(root, int(OUTPUT_PERMISSIONS, base=8))
else:
for subpath in Path(path).glob('**/*'):
print("THE PATH TO MODIFY IS", subpath)
os.chmod(subpath, int(OUTPUT_PERMISSIONS, base=8))
@enforce_types

View File

@@ -51,3 +51,11 @@ def test_correct_permissions_output_folder(tmp_path, process):
file_path = tmp_path / file
assert oct(file_path.stat().st_mode)[-3:] == OUTPUT_PERMISSIONS
def test_correct_permissions_add_command_results(tmp_path, process):
os.chdir(tmp_path)
add_process = subprocess.run(['archivebox', 'add', 'http://127.0.0.1:8080/static/example.com.html'], capture_output=True)
archived_item_path = list(tmp_path.glob('archive/**/*'))[0]
for path in archived_item_path.iterdir():
assert oct(path.stat().st_mode)[-3:] == OUTPUT_PERMISSIONS