Make test buddy attribute randomization optional

This commit is contained in:
Dan Williams 2007-04-29 18:01:23 -04:00
parent 0148f13ed6
commit e63accc8be
3 changed files with 29 additions and 15 deletions

View File

@ -560,7 +560,7 @@ class TestOwner(GenericOwner):
__gtype_name__ = "TestOwner" __gtype_name__ = "TestOwner"
def __init__(self, ps, bus_name, object_id, test_num): def __init__(self, ps, bus_name, object_id, test_num, randomize):
self._cp = ConfigParser() self._cp = ConfigParser()
self._section = "Info" self._section = "Info"
self._test_activities = [] self._test_activities = []
@ -588,7 +588,9 @@ class TestOwner(GenericOwner):
GenericOwner.__init__(self, ps, bus_name, object_id, key=pubkey, nick=nick, GenericOwner.__init__(self, ps, bus_name, object_id, key=pubkey, nick=nick,
color=color, icon=icon, registered=registered, key_hash=privkey_hash) color=color, icon=icon, registered=registered, key_hash=privkey_hash)
self._ps.connect('connection-status', self._ps_connection_status_cb) # Only do the random stuff if randomize is true
if randomize:
self._ps.connect('connection-status', self._ps_connection_status_cb)
def _share_reply_cb(self, actid, object_path): def _share_reply_cb(self, actid, object_path):
activity = self._ps.internal_get_activity(actid) activity = self._ps.internal_get_activity(actid)

View File

@ -51,7 +51,7 @@ class PresenceService(DBusGObject):
([gobject.TYPE_BOOLEAN])) ([gobject.TYPE_BOOLEAN]))
} }
def __init__(self, test=0): def __init__(self, test_num=0, randomize=False):
self._next_object_id = 0 self._next_object_id = 0
self._connected = False self._connected = False
@ -66,8 +66,8 @@ class PresenceService(DBusGObject):
# Create the Owner object # Create the Owner object
objid = self._get_next_object_id() objid = self._get_next_object_id()
if test > 0: if test_num > 0:
self._owner = TestOwner(self, self._bus_name, objid, test) self._owner = TestOwner(self, self._bus_name, objid, test_num, randomize)
else: else:
self._owner = ShellOwner(self, self._bus_name, objid) self._owner = ShellOwner(self, self._bus_name, objid)
self._buddies[self._owner.props.key] = self._owner self._buddies[self._owner.props.key] = self._owner
@ -357,9 +357,9 @@ class PresenceService(DBusGObject):
return self._activities[actid] return self._activities[actid]
def main(test=False): def main(test_num=0, randomize=False):
loop = gobject.MainLoop() loop = gobject.MainLoop()
ps = PresenceService(test) ps = PresenceService(test_num, randomize)
try: try:
loop.run() loop.run()
except KeyboardInterrupt: except KeyboardInterrupt:

View File

@ -24,24 +24,36 @@ import os
from sugar import logger from sugar import logger
from sugar import env from sugar import env
def usage():
logging.debug("Usage: sugar-presence-service [<test buddy number (1 - 10)>] [randomize]")
sys.path.append(env.get_service_path('presence')) sys.path.append(env.get_service_path('presence'))
test=0 test_num = 0
if len(sys.argv) > 1: randomize = False
if len(sys.argv) in [2, 3]:
try: try:
test = int(sys.argv[1]) test_num = int(sys.argv[1])
except ValueError: except ValueError:
logging.debug("Bad test user number.") logging.debug("Bad test user number.")
if test < 1 or test > 10: if test_num < 1 or test_num > 10:
logging.debug("Bad test user number.") logging.debug("Bad test user number.")
if test > 0: if len(sys.argv) == 3 and sys.argv[2] == "randomize":
logger.start('test-%d-presenceservice' % test) randomize = True
elif len(sys.argv) == 1:
pass
else:
usage()
os._exit(1)
if test_num > 0:
logger.start('test-%d-presenceservice' % test_num)
else: else:
logger.start('presenceservice') logger.start('presenceservice')
import presenceservice import presenceservice
logging.info('Starting presence service') logging.info('Starting presence service...')
presenceservice.main(test) presenceservice.main(test_num, randomize)