import os
import Pyro.core
class Opel(Pyro.core.ObjBase):
def name(s): return "Opel Astra coupe"
def pid(s): return os.getpid()
class Honda(Pyro.core.ObjBase):
def name(s): return "Honda S2000"
def pid(s): return os.getpid()
class Ford(Pyro.core.ObjBase):
def name(s): return "Ford Mustang"
def pid(s): return os.getpid()
class CarFactory(Pyro.core.ObjBase):
def pid(s): return os.getpid()
def create(s, brand):
if brand=='Ford':
car = Ford()
elif brand=='Honda':
car = Honda()
elif brand=='Opel':
car = Opel()
else:
raise ValueError('unknown brand')
s.getDaemon().connect(car)
return car.getProxy()
|