本文整理汇总了Python中util.unlink函数的典型用法代码示例。如果您正苦于以下问题:Python unlink函数的具体用法?Python unlink怎么用?Python unlink使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了unlink函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: testlock
def testlock(self):
"""return id of locker if lock is valid, else None.
If old-style lock, we cannot tell what machine locker is on.
with new-style lock, if locker is on this machine, we can
see if locker is alive. If locker is on this machine but
not alive, we can safely break lock.
The lock file is only deleted when None is returned.
"""
locker = util.readlock(self.f)
try:
host, pid = locker.split(":", 1)
except ValueError:
return locker
if host != lock._host:
return locker
try:
pid = int(pid)
except ValueError:
return locker
if util.testpid(pid):
return locker
# if locker dead, break lock. must do this with another lock
# held, or can race and break valid lock.
try:
l = lock(self.f + '.break', timeout=0)
util.unlink(self.f)
l.release()
except error.LockError:
return locker
开发者ID:mortonfox,项目名称:cr48,代码行数:32,代码来源:lock.py
示例2: upgrade
def upgrade(self, version, force = False):
if not mkdir(self.path):
return version
if self.updater == "bukkitdev":
uver, urlh = self.__bukkitdev_info()
elif self.updater == "bukkitdl":
uver, urlh = self.__bukkitdl_info()
elif self.updater == "github":
uver, urlh = self.__github_info()
elif self.updater == "jenkins":
uver, urlh = self.__jenkins_info()
else:
log.error("%s: package upgrade failed: invalid updater `%s'",
self.package, self.updater)
return version
if not urlh:
log.error("%s: package upgrade failed", self.package)
return version
out = os.path.join(self.path, "%s.%s" % (self.package, self.type))
if uver and uver == version and not force:
log.info("%s: package already up-to-date", self.package)
return version
if not self.dryrun and not download(urlh, out):
return version
log.info("%s: package upgraded: %s -> %s", self.package, version, uver)
if self.dryrun or (self.type != "zip"):
return uver
if len(self.extract) < 1:
return uver
zf = ZipFile(out, "r")
nl = zf.namelist()
for path in self.extract:
if not path.endswith("/") and path in nl:
zf.extract(path, self.path)
continue
for zpath in nl:
if zpath.endswith("/"):
continue
if not zpath.startswith(path):
continue
zf.extract(zpath, self.path)
zf.close()
unlink(out)
return uver
开发者ID:jgeboski,项目名称:mctl,代码行数:60,代码来源:package.py
示例3: kill
def kill(server):
log.info("%s: fake server stopping...", server)
pidfile = FakeServer.pidfile(server)
fp = util.fopen(pidfile, "r")
if not fp:
return False
try:
pid = int(fp.read())
except:
pid = 0
fp.close()
util.unlink(pidfile)
if not pid:
return False
try:
os.kill(pid, SIGINT)
except Exception, msg:
log.error("Failed to kill process (%d): %s", pid, msg)
return False
开发者ID:jgeboski,项目名称:mctl,代码行数:25,代码来源:fakeserver.py
示例4: link
def link(self, args):
"""
Actually deploy the configuration by linking the correct spot to the original file.
@param args: The parsed arguments from the command-line.
"""
if args.dry:
print(str(self.source) + " -> " + str(self.destination))
return
if not self.src_exists:
return
if self.dst_exists_before:
if args.replace:
if self.dst_is_link_before:
util.unlink(self.destination)
elif self.dst_is_file_before:
util.remove(self.destination)
elif self.dst_is_dir_before:
util.remove_dir(self.destination)
else:
#SUS should never get here.
raise Exception("WTF is this shit")
else:
# File already exists and isn't going to be replaced.
return
else:
#This is some weird nonsense conserning broken links
if self.dst_is_link_before:
util.unlink(self.destination)
if args.copy:
util.copy(self.source, self.destination)
else:
util.link(self.source, self.destination)
开发者ID:NorfairKing,项目名称:super-user-stone,代码行数:35,代码来源:configuration.py
示例5: remove
def remove(self, list, unlink=False):
if unlink:
for f in list:
try:
util.unlink(self._repo.wjoin(f))
except OSError, inst:
if inst.errno != errno.ENOENT:
raise
开发者ID:helloandre,项目名称:cr48,代码行数:8,代码来源:context.py
示例6: applyupdates
def applyupdates(repo, action, wctx, mctx):
"apply the merge action list to the working directory"
updated, merged, removed, unresolved = 0, 0, 0, 0
ms = mergestate(repo)
ms.reset(wctx.parents()[0].node())
moves = []
action.sort(actioncmp)
# prescan for merges
for a in action:
f, m = a[:2]
if m == 'm': # merge
f2, fd, flags, move = a[2:]
repo.ui.debug(_("preserving %s for resolve of %s\n") % (f, fd))
fcl = wctx[f]
fco = mctx[f2]
fca = fcl.ancestor(fco) or repo.filectx(f, fileid=nullrev)
ms.add(fcl, fco, fca, fd, flags)
if f != fd and move:
moves.append(f)
# remove renamed files after safely stored
for f in moves:
if util.lexists(repo.wjoin(f)):
repo.ui.debug(_("removing %s\n") % f)
os.unlink(repo.wjoin(f))
audit_path = util.path_auditor(repo.root)
for a in action:
f, m = a[:2]
if f and f[0] == "/":
continue
if m == "r": # remove
repo.ui.note(_("removing %s\n") % f)
audit_path(f)
try:
util.unlink(repo.wjoin(f))
except OSError, inst:
if inst.errno != errno.ENOENT:
repo.ui.warn(_("update failed to remove %s: %s!\n") %
(f, inst.strerror))
removed += 1
elif m == "m": # merge
f2, fd, flags, move = a[2:]
r = ms.resolve(fd, wctx, mctx)
if r > 0:
unresolved += 1
else:
if r is None:
updated += 1
else:
merged += 1
util.set_flags(repo.wjoin(fd), 'l' in flags, 'x' in flags)
if f != fd and move and util.lexists(repo.wjoin(f)):
repo.ui.debug(_("removing %s\n") % f)
os.unlink(repo.wjoin(f))
开发者ID:pombredanne,项目名称:SmartNotes,代码行数:58,代码来源:merge.py
示例7: test_raise_exceptions
def test_raise_exceptions(self):
"""Test that exceptions raised by a task are propagated"""
m = util.Manager()
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context()
c.add_task(tasks.error_task)
self.assertRaises(IMP.parallel.RemoteError, list,
c.get_results_unordered())
util.unlink("slave0.output")
开发者ID:andreyto,项目名称:imp-fork-proddl,代码行数:9,代码来源:test_tasks.py
示例8: test_pass_exceptions
def test_pass_exceptions(self):
"""Test that exceptions can be passed to and from tasks"""
m = util.Manager()
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context()
c.add_task(tasks.SimpleTask(IndexError("test")))
results = list(c.get_results_unordered())
self.assertIsInstance(results[0], IndexError)
util.unlink("slave0.output")
开发者ID:andreyto,项目名称:imp-fork-proddl,代码行数:9,代码来源:test_tasks.py
示例9: test_startup
def test_startup(self):
"""Test context startup callable"""
m = util.Manager(output='startup%d.out')
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context(startup=tasks.SimpleTask(("foo", "bar")))
c.add_task(tasks.simple_func)
c.add_task(tasks.simple_func)
results = list(c.get_results_unordered())
self.assertEqual(results, [('foo', 'bar'), ('foo', 'bar')])
util.unlink("startup0.out")
开发者ID:apolitis,项目名称:imp,代码行数:10,代码来源:test_startup.py
示例10: release
def release(self):
if self.held > 1:
self.held -= 1
elif self.held == 1:
self.held = 0
if self.releasefn:
self.releasefn()
try:
util.unlink(self.f)
except OSError:
pass
开发者ID:mortonfox,项目名称:cr48,代码行数:11,代码来源:lock.py
示例11: test_simple
def test_simple(self):
"""Test that slave tasks can start up and communicate"""
m = util.Manager(output='simple%d.out')
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context()
for i in range(10):
c.add_task(tasks.SimpleTask(i))
results = list(c.get_results_unordered())
results.sort()
self.assertEqual(results, list(range(10)))
util.unlink("simple0.out")
开发者ID:apolitis,项目名称:imp,代码行数:11,代码来源:test_startup.py
示例12: close
def close(self):
'''commit the transaction'''
self.count -= 1
if self.count != 0:
return
self.file.close()
self.entries = []
if self.after:
self.after()
if os.path.isfile(self.journal):
util.unlink(self.journal)
self.journal = None
开发者ID:32bitfloat,项目名称:intellij-community,代码行数:12,代码来源:transaction.py
示例13: __call__
def __call__(self, path, mode="r", text=False, atomictemp=False,
notindexed=False):
'''Open ``path`` file, which is relative to vfs root.
Newly created directories are marked as "not to be indexed by
the content indexing service", if ``notindexed`` is specified
for "write" mode access.
'''
if self._audit:
r = util.checkosfilename(path)
if r:
raise util.Abort("%s: %r" % (r, path))
self.audit(path)
f = self.join(path)
if not text and "b" not in mode:
mode += "b" # for that other OS
nlink = -1
if mode not in ('r', 'rb'):
dirname, basename = util.split(f)
# If basename is empty, then the path is malformed because it points
# to a directory. Let the posixfile() call below raise IOError.
if basename:
if atomictemp:
util.ensuredirs(dirname, self.createmode, notindexed)
return util.atomictempfile(f, mode, self.createmode)
try:
if 'w' in mode:
util.unlink(f)
nlink = 0
else:
# nlinks() may behave differently for files on Windows
# shares if the file is open.
fd = util.posixfile(f)
nlink = util.nlinks(f)
if nlink < 1:
nlink = 2 # force mktempcopy (issue1922)
fd.close()
except (OSError, IOError) as e:
if e.errno != errno.ENOENT:
raise
nlink = 0
util.ensuredirs(dirname, self.createmode, notindexed)
if nlink > 0:
if self._trustnlink is None:
self._trustnlink = nlink > 1 or util.checknlink(f)
if nlink > 1 or not self._trustnlink:
util.rename(util.mktempcopy(f), f)
fp = util.posixfile(f, mode)
if nlink == 0:
self._fixfilemode(f)
return fp
开发者ID:CSCI-362-02-2015,项目名称:RedTeam,代码行数:53,代码来源:scmutil.py
示例14: test_startup_heartbeat
def test_startup_heartbeat(self):
"""Make sure that startup failures cause a timeout"""
def empty_task():
pass
m = util.Manager(python="/path/does/not/exist")
m.heartbeat_timeout = 0.1
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context()
c.add_task(empty_task)
self.assertRaises(IMP.parallel.NetworkError, list,
c.get_results_unordered())
util.unlink('slave0.output')
开发者ID:drussel,项目名称:imp,代码行数:12,代码来源:test_startup.py
示例15: release
def release(self):
"""release the lock and execute callback function if any
If the lock have been aquired multiple time, the actual release is
delayed to the last relase call."""
if self.held > 1:
self.held -= 1
elif self.held == 1:
self.held = 0
if self.releasefn:
self.releasefn()
try:
util.unlink(self.f)
except OSError:
pass
for callback in self.postrelease:
callback()
开发者ID:agbiotec,项目名称:galaxy-tools-vcr,代码行数:17,代码来源:lock.py
示例16: applyupdates
def applyupdates(repo, action, wctx, mctx):
"apply the merge action list to the working directory"
updated, merged, removed, unresolved = 0, 0, 0, 0
action.sort()
# prescan for copy/renames
for a in action:
f, m = a[:2]
if m == 'm': # merge
f2, fd, flags, move = a[2:]
if f != fd:
repo.ui.debug(_("copying %s to %s\n") % (f, fd))
repo.wwrite(fd, repo.wread(f), flags)
audit_path = util.path_auditor(repo.root)
for a in action:
f, m = a[:2]
if f and f[0] == "/":
continue
if m == "r": # remove
repo.ui.note(_("removing %s\n") % f)
audit_path(f)
try:
util.unlink(repo.wjoin(f))
except OSError, inst:
if inst.errno != errno.ENOENT:
repo.ui.warn(_("update failed to remove %s: %s!\n") %
(f, inst.strerror))
removed += 1
elif m == "m": # merge
f2, fd, flags, move = a[2:]
r = filemerge.filemerge(repo, f, fd, f2, wctx, mctx)
if r > 0:
unresolved += 1
else:
if r is None:
updated += 1
else:
merged += 1
util.set_flags(repo.wjoin(fd), 'l' in flags, 'x' in flags)
if f != fd and move and util.lexists(repo.wjoin(f)):
repo.ui.debug(_("removing %s\n") % f)
os.unlink(repo.wjoin(f))
开发者ID:c0ns0le,项目名称:cygwin,代码行数:44,代码来源:merge.py
示例17: _playback
def _playback(journal, report, opener, entries, unlink=True):
for f, o, ignore in entries:
if o or not unlink:
try:
fp = opener(f, 'a')
fp.truncate(o)
fp.close()
except IOError:
report(_("failed to truncate %s\n") % f)
raise
else:
try:
fp = opener(f)
fn = fp.name
fp.close()
util.unlink(fn)
except (IOError, OSError), inst:
if inst.errno != errno.ENOENT:
raise
开发者ID:32bitfloat,项目名称:intellij-community,代码行数:19,代码来源:transaction.py
示例18: __call__
def __call__(self, path, mode="r", text=False, atomictemp=False):
if self._audit:
r = util.checkosfilename(path)
if r:
raise util.Abort("%s: %r" % (r, path))
self.auditor(path)
f = os.path.join(self.base, path)
if not text and "b" not in mode:
mode += "b" # for that other OS
nlink = -1
dirname, basename = os.path.split(f)
# If basename is empty, then the path is malformed because it points
# to a directory. Let the posixfile() call below raise IOError.
if basename and mode not in ('r', 'rb'):
if atomictemp:
if not os.path.isdir(dirname):
util.makedirs(dirname, self.createmode)
return util.atomictempfile(f, mode, self.createmode)
try:
if 'w' in mode:
util.unlink(f)
nlink = 0
else:
# nlinks() may behave differently for files on Windows
# shares if the file is open.
fd = util.posixfile(f)
nlink = util.nlinks(f)
if nlink < 1:
nlink = 2 # force mktempcopy (issue1922)
fd.close()
except (OSError, IOError), e:
if e.errno != errno.ENOENT:
raise
nlink = 0
if not os.path.isdir(dirname):
util.makedirs(dirname, self.createmode)
if nlink > 0:
if self._trustnlink is None:
self._trustnlink = nlink > 1 or util.checknlink(f)
if nlink > 1 or not self._trustnlink:
util.rename(util.mktempcopy(f), f)
开发者ID:sandeepprasanna,项目名称:ODOO,代码行数:43,代码来源:scmutil.py
示例19: release
def release(self):
"""release the lock and execute callback function if any
If the lock has been acquired multiple times, the actual release is
delayed to the last release call."""
if self.held > 1:
self.held -= 1
elif self.held == 1:
self.held = 0
if os.getpid() != self.pid:
# we forked, and are not the parent
return
if self.releasefn:
self.releasefn()
try:
util.unlink(self.f)
except OSError:
pass
for callback in self.postrelease:
callback()
开发者ID:32bitfloat,项目名称:intellij-community,代码行数:20,代码来源:lock.py
示例20: test_floats
def test_floats(self):
"""Check that NaN and Inf floats are pickled correctly"""
if sys.platform in ('irix6', 'osf1V5'):
self.skipTest("Cannot reliably handle NaN and Inf on Irix or Alpha")
m = util.Manager()
m.add_slave(IMP.parallel.LocalSlave())
c = m.get_context()
try:
inf = float('inf')
nan = float('nan')
except ValueError:
# Python 2.5 on Windows reports 'invalid literal', so use another
# method to get inf and nan:
inf = 1e300 * 1e300
nan = inf - inf
for f in (inf, nan):
c.add_task(tasks.SimpleTask(f))
results = list(c.get_results_unordered())
util.unlink("slave0.output")
开发者ID:andreyto,项目名称:imp-fork-proddl,代码行数:21,代码来源:test_tasks.py
注:本文中的util.unlink函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论