Disallow realname = username in GUI
[mspang/pyceo.git] / ceo / remote.py
1 import os
2 import subprocess
3
4 class RemoteException(Exception):
5     """Exception class for bad argument values."""
6     def __init__(self, status, stdout, stderr):
7         self.status, self.stdout, self.stderr = status, stdout, stderr
8     def __str__(self):
9         return 'Error executing ceoc (%d)\n\n%s' % (self.status, self.stderr)
10
11 def run_remote(op, data):
12     ceoc = '%s/ceoc' % os.environ.get('CEO_LIB_DIR', '/usr/lib/ceod')
13     addmember = subprocess.Popen([ceoc, op], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
14     out, err = addmember.communicate(data)
15     status = addmember.wait()
16     if status:
17         raise RemoteException(status, out, err)
18     return out