
On Tue, 2015-08-18 at 06:53 +0000, Eren Yagdiran wrote:
These helper functions are for selecting right directories according to running user privileges --- virt-sandbox-image/virt-sandbox-image.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/virt-sandbox-image/virt-sandbox-image.py b/virt-sandbox-image/virt-sandbox-image.py index 9e98bf2..5917dd6 100755 --- a/virt-sandbox-image/virt-sandbox-image.py +++ b/virt-sandbox-image/virt-sandbox-image.py @@ -32,6 +32,8 @@ import sys import urllib2 import subprocess
+template_dir = None +storage_dir = None default_privileged_template_dir = "/var/lib/libvirt/templates" default_home_dir = os.environ['HOME'] default_unprivileged_template_dir = default_home_dir + "/.local/share/libvirt/templates" @@ -40,6 +42,29 @@ default_unprivileged_storage_dir = default_unprivileged_template_dir + "/storage debug = False verbose = False
+def check_dir_writable(path): + if not os.access(path,os.W_OK): + return False + return True
Is that function really useful? Can't you just call os.access instead of it?
+def runtime_dir_resolver(): + global default_privileged_template_dir + global default_privileged_storage_dir + global default_unprivileged_template_dir + global default_unprivileged_storage_dir + global template_dir + global storage_dir + if(check_dir_writable(default_privileged_template_dir)):
Better use os.access(default_privileged_template_dir, os.W_OK) here -- Cedric
+ template_dir = default_privileged_template_dir + storage_dir = default_privileged_storage_dir + return + template_dir = default_unprivileged_template_dir + storage_dir = default_unprivileged_storage_dir + if not os.path.exists(template_dir): + os.makedirs(template_dir) + if not os.path.exists(storage_dir): + os.makedirs(storage_dir) + sys.dont_write_byte_code = True
import importlib @@ -380,8 +405,8 @@ def gen_create_args(subparser): parser.set_defaults(func=create)
if __name__ == '__main__': + runtime_dir_resolver() parser = argparse.ArgumentParser(description='Sandbox Container Image Tool') - subparser = parser.add_subparsers(help=_("commands")) gen_download_args(subparser) gen_delete_args(subparser)