Index: third_party/gsutil/boto/boto/pyami/scriptbase.py |
diff --git a/third_party/gsutil/boto/boto/pyami/scriptbase.py b/third_party/gsutil/boto/boto/pyami/scriptbase.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..90522cad1a96a9f9f085b5d378ded559889d800b |
--- /dev/null |
+++ b/third_party/gsutil/boto/boto/pyami/scriptbase.py |
@@ -0,0 +1,44 @@ |
+import os |
+import sys |
+from boto.utils import ShellCommand, get_ts |
+import boto |
+import boto.utils |
+ |
+class ScriptBase: |
+ |
+ def __init__(self, config_file=None): |
+ self.instance_id = boto.config.get('Instance', 'instance-id', 'default') |
+ self.name = self.__class__.__name__ |
+ self.ts = get_ts() |
+ if config_file: |
+ boto.config.read(config_file) |
+ |
+ def notify(self, subject, body=''): |
+ boto.utils.notify(subject, body) |
+ |
+ def mkdir(self, path): |
+ if not os.path.isdir(path): |
+ try: |
+ os.mkdir(path) |
+ except: |
+ boto.log.error('Error creating directory: %s' % path) |
+ |
+ def umount(self, path): |
+ if os.path.ismount(path): |
+ self.run('umount %s' % path) |
+ |
+ def run(self, command, notify=True, exit_on_error=False, cwd=None): |
+ self.last_command = ShellCommand(command, cwd=cwd) |
+ if self.last_command.status != 0: |
+ boto.log.error('Error running command: "%s". Output: "%s"' % (command, self.last_command.output)) |
+ if notify: |
+ self.notify('Error encountered', \ |
+ 'Error running the following command:\n\t%s\n\nCommand output:\n\t%s' % \ |
+ (command, self.last_command.output)) |
+ if exit_on_error: |
+ sys.exit(-1) |
+ return self.last_command.status |
+ |
+ def main(self): |
+ pass |
+ |