本文整理汇总了Python中util.cmd函数的典型用法代码示例。如果您正苦于以下问题:Python cmd函数的具体用法?Python cmd怎么用?Python cmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cmd函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: start_mzbench_server
def start_mzbench_server():
if 'MZBENCH_RSYNC' in os.environ:
node_location_param = '{{node_rsync, "{0}"}},'.format(os.environ['MZBENCH_RSYNC'])
elif 'MZBENCH_REPO' in os.environ:
node_location_param = '{{node_git, "{0}"}},'.format(os.environ['MZBENCH_REPO'])
else:
node_location_param = ''
with open(dirname + "/test_server.config", "w") as config:
config.write('[{{mzbench_api, [{0}{{node_log_port, 0}}, {{node_management_port, 0}}]}}].'.format(node_location_param))
with open('{0}/test_server.config'.format(dirname), 'r') as f:
print(f.read())
cmd('{0} start_server --config {1}/test_server.config'.format(mzbench_script, dirname))
try:
time.sleep(3) # give server some time to start
yield
except:
print ''
print '-------------------- >> begin server logs << ---------------------'
logdir = os.path.join(mzbench_dir + 'server/_build/default/rel/mzbench_api/log')
logfiles = [logfile for logfile in os.listdir(logdir)]
logfile = sorted([os.path.join(logdir, l) for l in logfiles if l.startswith('erlang')], key=os.path.getmtime, reverse=True)[0]
with open(logfile) as f:
for line in f:
print line.rstrip().replace('\\n', '\n')
print '-------------------- >> end server logs << ---------------------'
print ''
raise
finally:
cmd('{0} stop_server'.format(mzbench_script))
示例2: pack
def pack(self):
emb_root = self.target_root
if self.seed:
emb_root = emb_root.pjoin(self.target_root)
basedir = util.Path( os.path.dirname(self.tarpath) )
util.mkdir(basedir)
archive = tarfile.open(self.tarpath, 'w:bz2')
archive.add(emb_root,
arcname = '/',
recursive = True
)
archive.close()
curdir = os.path.realpath(os.curdir)
os.chdir(emb_root)
util.cmd('find ./ | cpio -H newc -o | gzip -c -9 > %s' % (self.cpiopath))
os.chdir(curdir)
if self.kernel:
r = util.Path('/')
if self.seed:
r = self.target_root
r = r.pjoin('/tmp/inhibitor/kernelbuild')
kernel_link = r.pjoin('/boot/kernel')
kernel_path = os.path.realpath( kernel_link )
if os.path.lexists(self.kernlinkpath):
os.unlink(self.kernlinkpath)
shutil.copy2(kernel_path, basedir.pjoin( os.path.basename(kernel_path) ))
os.symlink(os.path.basename(kernel_path), self.kernlinkpath)
示例3: target_merge_busybox
def target_merge_busybox(self):
env = {}
use = ''
if 'USE' in self.env:
use = self.env['USE']
if len(self.package_list) == 0:
use += ' static'
use += ' make-symlinks'
env.update(self.env)
env['USE'] = use
env['ROOT'] = self.target_root
cmdline = '%s/inhibitor-run.sh run_emerge --newuse --nodeps sys-apps/busybox' \
% self.env['INHIBITOR_SCRIPT_ROOT']
if self.seed:
util.chroot(
path = self.target_root,
function = util.cmd,
fargs = {'cmdline':cmdline, 'env':env},
failuref = self.chroot_failure
)
util.chroot(
path = self.target_root,
function = self.path_sync_callback,
fargs = {'src':'/bin/busybox', '_':None},
failuref = self.chroot_failure
)
else:
util.cmd( cmdline, env = env )
self.path_sync_callback('/bin/busybox', None)
示例4: restore
def restore(self, source, specificFileToRestore='', restoreTo=''):
"""source: name of source group to restore
specificFileToRestore: relative path of a specific file/directory to restore
restoreTo: path string of restore location"""
sourceGrp = self.sourceGroups[source]
if sourceGrp is None:
raise Exception("Cannot restore: no such source group "+
"associated with link - {0}".format(source))
os.environ['PASSPHRASE'] = getpwd()
options = []
# duplicity currently doesn't support the 'include'
# and 'exclude' options when performing a restore
# these options are what allow us to backup in a single command above.
# instead, we use a series of multiple commands with 'file-to-restore' option
# to perform the same role.
for source in souceGrp.items:
path = source.path
# We must make it a relative path (i.e. remove leading slash)
if path.startswith('/'):
path = path[1:]
cmdList = ["duplicity",
"restore",
"--file-to-restore='{0}'".format(path),
self.getTarget().path,
'/' if restoreTo is '' else restoreTo
]
cmd(cmdList)
# XXX
#if specificFileToRestore is not '':
# options.append('--file-to-restore="{0}"'.format(specificFileToRestore))
del os.environ['PASSPHRASE']
self.doneSomething()
示例5: sync
def sync(self):
if os.path.exists(self.builddir):
shutil.rmtree(self.builddir)
elif os.path.islink(self.builddir):
os.unlink(self.builddir)
os.makedirs(self.builddir)
exclude_cmd = ''
if self.exclude:
for i in self.exclude:
exclude_cmd += " --exclude='%s'" % i
if self.include:
for pattern in self.include:
paths = [self.src.cachedir.pjoin(pattern)]
if '*' in pattern:
paths = glob.glob(self.src.cachedir.pjoin(pattern))
for path in paths:
dest = path.replace(self.src.cachedir, self.builddir)
if not os.path.lexists( os.path.dirname(dest) ):
os.makedirs( os.path.dirname(dest) )
util.cmd('rsync -a %s %s/ %s/' % (
exclude_cmd,
path,
dest
))
else:
util.cmd('rsync -a %s %s/ %s/' % (exclude_cmd, self.src.cachedir, self.builddir))
示例6: check_migrations_test
def check_migrations_test():
mzbench_data_dir = tempfile.mkdtemp(prefix='mzbench_data_')
with start_mzbench_server(custom_data_location=mzbench_data_dir):
for i in range(5):
run_successful_bench(scripts_dir + 'correct_script.erl')
try:
cmd(mzbench_dir + '/bin/migrate.py ' + mzbench_data_dir)
finally:
shutil.rmtree(mzbench_data_dir)
示例7: rm_tabsint_plugin_dependencies
def rm_tabsint_plugin_dependencies(pluginDict):
""" remove cordova dependencies part of plugins from config """
try:
for name, plugin in pluginDict.iteritems():
if "cordova" in plugin:
ut.cmd("npm run cordova --silent -- plugin rm " + plugin["cordova"]["package"], force=True)
except:
sys.exit(
"[ERROR]: Error while trying to uninstall plugin: {0}. Try manually uninstalling using 'npm run cordova --silent -- plugin rm {1}'".format(
plugin["package"], plugin["package"]
)
)
示例8: merge_packages
def merge_packages(self):
cmdline = '%s/inhibitor-run.sh run_emerge --newuse %s' % (
self.env['INHIBITOR_SCRIPT_ROOT'], ' '.join(self.package_list))
if self.seed:
util.chroot(
path = self.target_root,
function = util.cmd,
fargs = {'cmdline':cmdline, 'env':self.env},
failuref = self.chroot_failure
)
else:
util.cmd( cmdline, env = self.env )
示例9: add_tabsint_plugin_dependencies
def add_tabsint_plugin_dependencies(pluginDict):
""" add dependent cordova plugins for tabsint plugins listed in config.json"""
try:
for name, plugin in pluginDict.iteritems():
if "cordovaPlugins" in plugin:
for p in plugin["cordovaPlugins"]:
ut.cmd("npm run cordova --silent -- plugin add {0}".format(p))
ut.log.info(
'[BUILD]: Successfully installed the cordova plugin "{0}" required by tabsint plugin "{1}"'.format(
p, name
)
)
except Exception as e:
rm_tabsint_plugins()
sys.exit('[ERROR]: Error while trying to "cordovaPlugins" from with error: {0}'.format(str(e)))
示例10: unpack_seed
def unpack_seed(self):
if not os.path.isdir(self.seed):
if os.path.exists(self.seed):
os.unlink(self.seed)
seedfile = self.seed + ".tar.bz2"
util.info("Unpacking %s" % seedfile)
os.makedirs(self.seed)
try:
util.cmd("tar -xjpf %s -C %s/" % (seedfile, self.seed))
except:
shutil.rmtree(self.seed)
raise
util.info("Syncing %s to %s" % (self.seed.dname(), self.target_root.dname()))
util.cmd("rsync -a --delete %s %s" % (self.seed.dname(), self.target_root.dname()))
示例11: devtool_list_templates_test
def devtool_list_templates_test():
templates = os.listdir(mzbench_dir + "worker_templates")
got_templates = filter(lambda x: x, cmd(mzbench_dir + "bin/mzbench list_templates").split("\n"))
if sorted(templates) != sorted(got_templates):
print sorted(templates)
print sorted(got_templates)
assert sorted(templates) == sorted(got_templates)
示例12: backup
def backup(self, incremental=False):
includes = []
for k, group in self.sourceGroups.items():
for item in group.items:
includes.append('--include={0}'.format(item.path))
os.environ['PASSPHRASE'] = getpwd()
cmdList = ["duplicity",
"incremental" if incremental else "full",
"--name='{0}'".format(self.targetGroup.name)]
cmdList.extend(includes)
cmdList.extend(["--exclude=**", "/", self.getTarget().geturl()])
cmd(cmdList)
del os.environ['PASSPHRASE']
self.doneSomething()
示例13: get_tabsint_plugin_docs
def get_tabsint_plugin_docs(name, src, version=None):
""" include tabsint plugin documentation """
def copy_userguide(path, ext="rst"):
installPath = "../docs/userguide/src/docs/plugins"
try:
os.mkdir(installPath)
except:
pass
try:
shutil.copy("{0}/index.{1}".format(path, ext), "{0}/plugin-{1}.{2}".format(installPath, name, ext))
# copy any other ancillary files - must be named the same as the plugin!
if name in os.listdir(path):
shutil.copytree("{0}/{1}".format(path, name), "{0}/{1}/".format(installPath, name))
except Exception as e:
sys.exit('[ERROR]: Failed to copy docs for plugin "{0}" to userguide. Error: {1} '.format(name, str(e)))
# git files
if any(s in src for s in ["https://", ".git"]):
[repo, subdir] = ut.checkout(src, tag=version)
docPath = ".tmp/{0}/{1}".format(repo, subdir)
# local files
else:
src = "../" + src
ut.check_tag(src, version)
if src.endswith("/"):
docPath = src[:-1]
else:
docPath = src
# user guide
if "index.rst" in os.listdir(docPath):
copy_userguide(docPath)
elif "index.md" in os.listdir(docPath):
copy_userguide(docPath, ext="md")
ut.cmd("rm -rf .tmp", force=True) # remove temp git directory, if its there
ut.log.info('[BUILD]: Successfully retrieved docs for tabsint plugin "{0}"'.format(name))
示例14: devtool_run_local_tests
def devtool_run_local_tests():
run_erl_and_bdl('validate', 'loop_rate')
run_erl_and_bdl('validate', 'env', ' --env pool_size=20 --env jozin=jozin --env wait_ms=100')
run_erl_and_bdl('run_local', 'loop_rate')
run_erl_and_bdl('run_local', 'data_script')
try:
cmd(mzbench_dir + 'bin/mzbench run_local ' + scripts_dir + 'syntax_error.erl')
assert False
except subprocess.CalledProcessError:
pass
try:
cmd(mzbench_dir + 'bin/mzbench run_local ' + scripts_dir + 'semantic_error.erl')
assert False
except subprocess.CalledProcessError:
pass
示例15: list_plugins
def list_plugins():
""" retrieve list of plugins and versions"""
try:
[code, stdout] = ut.cmd("npm run cordova --silent -- plugins ls", suppress=True)
plugins = [p for p in stdout.replace("\n", ",").split(",") if p != ""]
plugins = [p.split(' "')[0] for p in plugins]
return plugins
except:
sys.exit(
"[ERROR]: Error while trying to get a list of plugins from cordova. Try running 'npm run cordova --silent -- plugins ls', or for deeper investigation see the function 'list_plugins()' in /bin/util.py"
)