Ejemplo n.º 1
0
def test_timer(repeat = 0, timer_start = 3600, timer_length = 1000, sim_length = 86400 * 7):

	import NavigationInstance
	
	at = time.time()
	
	t = NavigationInstance.instance.RecordTimer
	print t
	print "old mwt:", t.MaxWaitTime
	t.MaxWaitTime = 86400 * 1000
	
	# hack:
	NavigationInstance.instance.SleepTimer.MaxWaitTime = 86400 * 1000

	t.processed_timers = [ ]
	t.timer_list = [ ]


	# generate a timer to test
	import xml.etree.cElementTree
	import RecordTimer

	timer = RecordTimer.createTimer(xml.etree.cElementTree.fromstring(
	"""
		<timer 
			begin="%d" 
			end="%d"
			serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:" 
			repeated="%d" 
			name="Test Event Name" 
			description="Test Event Description" 
			afterevent="nothing" 
			eit="56422" 
			disabled="0" 
			justplay="0">
	</timer>""" % (at + timer_start, at + timer_start + timer_length, repeat)
	))

	t.record(timer)

	# run virtual environment
	enigma.run(sim_length)
	
	print "done."
	
	timers = t.processed_timers  + t.timer_list
	
	print "start: %s" % (time.ctime(at + 10))
	
	assert len(timers) == 1
	
	for t in timers:
		print "begin=%d, end=%d, repeated=%d, state=%d" % (t.begin - at, t.end - at, t.repeated, t.state)
		print "begin: %s" % (time.ctime(t.begin))
		print "end: %s" % (time.ctime(t.end))

	# if repeat, check if the calculated repeated time of day matches the initial time of day
	if repeat:
		t_initial = time.localtime(at + timer_start)
		t_repeated = time.localtime(timers[0].begin)
		print t_initial
		print t_repeated
		
	if t_initial[3:6] != t_repeated[3:6]:
		raise tests.TestError("repeated timer time of day does not match")
Ejemplo n.º 2
0
def test_timer(repeat=0,
               timer_start=3600,
               timer_length=1000,
               sim_length=86400 * 7):

    import NavigationInstance

    at = time.time()

    t = NavigationInstance.instance.RecordTimer
    print t
    print "old mwt:", t.MaxWaitTime
    t.MaxWaitTime = 86400 * 1000

    t.processed_timers = []
    t.timer_list = []

    # generate a timer to test
    import xml.etree.cElementTree
    import RecordTimer

    timer = RecordTimer.createTimer(
        xml.etree.cElementTree.fromstring("""
		<timer 
			begin="%d" 
			end="%d"
			serviceref="1:0:1:6DD2:44D:1:C00000:0:0:0:" 
			repeated="%d" 
			name="Test Event Name" 
			description="Test Event Description" 
			afterevent="nothing" 
			eit="56422" 
			disabled="0" 
			justplay="0">
	</timer>""" % (at + timer_start, at + timer_start + timer_length, repeat)))

    t.record(timer)

    # run virtual environment
    enigma.run(sim_length)

    print "done."

    timers = t.processed_timers + t.timer_list

    print "start: %s" % (time.ctime(at + 10))

    assert len(timers) == 1

    for t in timers:
        print "begin=%d, end=%d, repeated=%d, state=%d" % (
            t.begin - at, t.end - at, t.repeated, t.state)
        print "begin: %s" % (time.ctime(t.begin))
        print "end: %s" % (time.ctime(t.end))

    # if repeat, check if the calculated repeated time of day matches the initial time of day
    if repeat:
        t_initial = time.localtime(at + timer_start)
        t_repeated = time.localtime(timers[0].begin)
        print t_initial
        print t_repeated

    if t_initial[3:6] != t_repeated[3:6]:
        raise tests.TestError("repeated timer time of day does not match")
Ejemplo n.º 3
0
if sys.argv[1] == '--help' or len(sys.argv) > 1:
    letters = sys.argv[1]
else:
    raiseError()
wheels = []
if len(sys.argv) > 2:
    i = 0
    wheelStrings = sys.argv[2].split('|')
    for wheel in wheelStrings:
        wheelParts = wheel.split(',')
        seed = int(wheelParts[0])
        location =  int(wheelParts[1]) if len(wheelParts) > 1 else (0 if i < len(wheelStrings) - 1 else None)
        if location is None:
            reflector = enigma.Reflector(letters, seed)
        else:
            wheels.append(enigma.Wheel(letters, seed, location))
        i += 1

    if len(sys.argv) > 3:
        strInput = sys.argv[3]

        plugboard =  enigma.Plugboard(letters, sys.argv[4]) if len(sys.argv) > 4 else None

        enigma = enigma.Enigma(letters, reflector, wheels, plugboard)
        print enigma.run(strInput)
    else:
        raiseError()
else:
    raiseError()