Mercurial > hg > silvermirror
view silvermirror/unison.py @ 50:4b2c3be35225 default tip
version bump
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Fri, 13 Aug 2021 15:16:54 -0700 |
parents | 952a1c2e9cc1 |
children |
line wrap: on
line source
""" unison backend for silvermirror """ import pexpect import subprocess from .interface import Reflector class unison(Reflector): def sync(self, host, resource, ignore=(), password=None, test=False): command = ['unison', '-auto', '-batch', resource, 'ssh://%s/%s' % (host, resource)] for i in ignore: command.extend(('-ignore', "'Name %s'" % i)) command = ' '.join(command) print(command) if not test: if password: child = pexpect.spawn(command, timeout=36000, maxread=1) child.expect('password: ') child.sendline(password) print(child.read()) else: # XXX should not use shell=True subprocess.call(command, shell=True)