Ejemplo n.º 1
0
list fs20 tx
list fs20 tx tempix
list fs20 tx hygrix
async:
	wait:
		for 0.1
		debug force
	del fs20 receiver foobar
	wait:
		for 0.1
		debug force
	del fs20 sender bar foo
wait:
	for 0.7
	debug force
list fs20 receiver
list fs20 sender
shutdown
"""

main_words.register_statement(ShutdownHandler)
main_words.register_statement(Load)

load_module("block")
load_module("file")
load_module("data")
load_module("ifelse")
load_module("path")

run("fs20", input)
Ejemplo n.º 2
0
	if exists path "...":
		log ERROR No2
	else:
		log TRACE Yes
	if exists directory "..":
		log TRACE Yes
	else:
		log ERROR No3
	if exists directory "README":
		log ERROR No4
	else:
		log TRACE Yes
	if exists file "README":
		log TRACE Yes
	else:
		log ERROR No5
	if exists file "..":
		log ERROR No6
	else:
		log TRACE Yes
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("logging")
load_module("ifelse")
load_module("path")
load_module("block")

run("path",input)
Ejemplo n.º 3
0
log TRACE ending
list net connection
block:
	if exists net connection foo:
		list net connection foo
		del net connection foo
		log DEBUG No2
	else:
		log DEBUG Yes
wait END:
	for 0.2
shutdown
"""

main_words.register_statement(ShutdownHandler)
main_words.register_statement(Load)

load_module("wait")
load_module("logging")
load_module("on_event")
load_module("net")
load_module("data")
load_module("block")
load_module("ifelse")

run("net",input)


import sys
sys.exit(0)
Ejemplo n.º 4
0
	name="for"
	doc="for you!"
	
class WhatHandler(sbr,ComplexStatement):
	name="what"
	doc="What is this?"

class FoiledHandler(sbr,Statement):
	name="foiled"
	doc="not clingfilm"

BarHandler.register_statement(WhatHandler)
BarHandler.register_statement(ForHandler)
ForHandler.register_statement(FoiledHandler)
main_words.register_statement(FooHandler)
main_words.register_statement(BarHandler)
main_words.register_statement(ShutdownHandler)
load_module("help")

class TestInterpreter(Interpreter):
	def complex_statement(self,args):
		fn = self.ctx.words.lookup(args)
		fn = fn(self.ctx)
		fn.called(args)
		fn.start_block()
		return TestInterpreter(ctx=self.ctx(words=fn))
	def done(self):
		log(None,"... moving up")

run("parser", input, interpreter=TestInterpreter, logger=log)
Ejemplo n.º 5
0
		log ERROR No 82
	catch Foo Bar Baz:
		log ERROR No 83
	catch Foo Bar:
		log TRACE Yes O
	catch:
		log ERROR No 84
		
	try:
		trigger error Foo Bar
		log ERROR No 91
	catch *a:
		log ERROR No 92
	catch *a *b *c:
		log ERROR No 93
	catch *a *b:
		log TRACE Yes P $a $b
	catch:
		log ERROR No 94
		
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("logging")
load_module("errors")
load_module("bool")
load_module("block")

run("errors",input)
Ejemplo n.º 6
0
trigger foo1
trigger bar1
wait A: for 0.1
trigger foo2 :sync
trigger bar2 :sync
wait B: for 0.1
skip this:
	trigger never the same
block:
	trigger foo3
	trigger bar3
wait C: for 0.1
block:
	if exists file "misc2":
		include "misc2"
	else:
		include "test/misc2"
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("trigger")
load_module("wait")
load_module("block")
load_module("path")
load_module("file")
load_module("ifelse")

run("misc",input)

Ejemplo n.º 7
0
		set output four foo bar
		log ERROR No four
	catch:
		log TRACE Yes

set output GRMPF foo bar
block:
	var input bla foo bar
	if equal $bla "TEST":
		log ERROR No $bla
	else:
		log TRACE Yes

list input foo bar
list output foo bar

shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("ifelse")
load_module("data")
load_module("block")
load_module("bool")
load_module("logging")
load_module("tests")
load_module("errors")

run("io",input)

Ejemplo n.º 8
0
	name moni test
wait :for 0.1
set output 2 monitest
wait :for 0.2
set output 3 monitest
wait :for 0.2
set output 4 monitest
wait :for 0.2
set output 5 monitest
list monitor
list monitor moni test
del monitor moni test

shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("trigger")
load_module("monitor")
load_module("block")
load_module("data")
load_module("logging")
load_module("wait")
load_module("tests")
load_module("ifelse")
load_module("bool")
load_module("on_event")

run("monitor",input)

Ejemplo n.º 9
0
	if false:
		log ERROR No9
	else if false:
		log ERROR No10
	else:
		log TRACE Yes

block:
	if equal 2 2.0:
		log TRACE Yes
	else:
		log ERROR No11
	if equal 1 2:
		log ERROR No12
	else:
		log TRACE Yes
	if equal 0 Foo:
		log ERROR No13
	else:
		log TRACE Yes
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("logging")
load_module("ifelse")
load_module("bool")
load_module("block")

run("ifelse",input)
Ejemplo n.º 10
0
from homevent.reactor import ShutdownHandler,mainloop,shut_down,\
	stop_mainloop
from homevent.logging import TRACE,DEBUG,INFO,WARN,ERROR,PANIC,\
	Logger,LogNames, log_level
from signal import signal,SIGINT,SIGHUP,SIGQUIT
import sys
import os
import gevent

from twisted.internet import reactor

main_words.register_statement(Load)
main_words.register_statement(LoadDir)
main_words.register_statement(ShutdownHandler)
main_words.register_statement(DoNothingHandler)
load_module("ifelse")

from optparse import OptionParser
parser = OptionParser(conflict_handler="resolve")
parser.add_option("-h","--help","-?", action="help",
	help="print this help text")
parser.add_option("-t", "--trace", dest="debuglevel", action="store",
	help="trace level (TRACE,DEBUG,INFO,WARN,ERROR,PANIC,NONE)", default="PANIC")
parser.add_option("-s", "--stack", dest="stack", action="store_true",
	help="HomEvenT errors are logged with Python stack traces")
parser.add_option("-p", "--pidfile", dest="pidfile", action="store",
	help="file to write our PID to")

(opts, args) = parser.parse_args()
if not args:
	print >>sys.stderr,"You need at least one config file!"
Ejemplo n.º 11
0
from homevent import patch;patch()
from homevent.reactor import ShutdownHandler
from homevent.module import load_module
from homevent.statement import main_words
from test import run

input = """\
async:
	wait Foo Bar: for 1.9
wait BEFORE: for 0.2
block:
	log DEBUG Start
	while exists wait Foo Bar:
		log DEBUG waiting
		wait DURING: for 0.7
		log DEBUG testing
	log DEBUG Done

wait AFTER: for 0.1
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("loop")
load_module("wait")
load_module("block")
load_module("logging")

run("loop",input)

Ejemplo n.º 12
0
##
##  This program is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##  GNU General Public License (included; see the file LICENSE)
##  for more details.
##

from homevent import patch;patch()
from homevent.reactor import ShutdownHandler
from homevent.module import load_module
from homevent.statement import main_words
from test import run

input = """\
trigger foo :sync
wait: for 1m -90s 0.5min +.5s
trigger bar :sync
trigger baz notlogged :
	log NONE
	sync
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("trigger")
load_module("wait")

run("trigger",input)

Ejemplo n.º 13
0
##

from homevent import patch;patch()
from homevent.reactor import ShutdownHandler
from homevent.module import load_module
from homevent.statement import main_words
from test import run

input = """\
log limit parser NONE
log limit token NONE
log DEBUG
log TRACE "This is not logged"
log DEBUG "This is logged"
log WARN "This is logged too"
log
log PANIC
log WARN "This is not logged either"
log limit event TRACE
log TRACE
trigger Logged :sync
log limit event ERROR
trigger Not Logged :sync
"""

main_words.register_statement(ShutdownHandler)
load_module("logging")
load_module("trigger")

run("logging",input)
Ejemplo n.º 14
0
on send logger:
	log DEBUG hello This is a test
try:
	wait shutdown:
		for 5
		debug force
wait foo b:
	for 1
	debug force
shutdown
"""

main_words.register_statement(ShutdownHandler)
main_words.register_statement(Load)

load_module("wait")
load_module("logging")
load_module("on_event")
load_module("net")
load_module("data")
load_module("block")
load_module("rpc")
load_module("state")
load_module("errors")
load_module("trigger")

run("rpc", input)


import sys
Ejemplo n.º 15
0
from homevent.reactor import ShutdownHandler,mainloop,shut_down
from homevent.context import Context
from homevent.twist import callLater,fix_exception
from homevent.geventreactor import waitForDeferred

from twisted.internet import reactor,interfaces,fdesc
from twisted.internet._posixstdio import StandardIO ## XXX unstable interface!
from twisted.internet.error import ConnectionDone,ConnectionLost
from tokenize import tok_name
import os,sys

main_words.register_statement(Load)
main_words.register_statement(LoadDir)
main_words.register_statement(ShutdownHandler)

load_module("help")
load_module("data")
load_module("file")
load_module("path")
load_module("ifelse")

syms = {}
def parse_logger(t,*x):
	x=list(x)
	try:
		x[1] = tok_name[x[1]]
	except KeyError:
		pass
	print t+":"+" ".join(str(d) for d in x)

class StdIO(StandardIO):
Ejemplo n.º 16
0
wait: for 1.1
set rrd 10 t tt ttt
wait: for 1.1
set rrd 11 t tt ttt
wait: for 1.1
set rrd 12 t tt ttt
list rrd t tt ttt
block:
	var rrd x last_ds t tt ttt
	trigger last $x
del rrd t tt ttt
block:
	if exists rrd t tt ttt:
		log ERROR No3
	else:
		log TRACE Yes

"""

main_words.register_statement(ShutdownHandler)
load_module("trigger")
load_module("ifelse")
load_module("data")
load_module("rrd")
load_module("logging")
load_module("block")
load_module("wait")

run("rrd",input)

Ejemplo n.º 17
0
input = """\
list module
list module on_event
list worker
list event
list

on foo:
	block:
		wait foo waiter:
			for 0.3
wait vorher: for 0.1
trigger foo
wait nachher: for 0.1
list event
list event 5
wait ende: for 0.3

shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("trigger")
load_module("wait")
load_module("block")
load_module("data")
load_module("on_event")

run("data",input)

Ejemplo n.º 18
0
block:
	if last state two foo bar:
		log TRACE "Yes!"
	else:
		log TRACE "No‽ 6"
on whatever:
	var state x foo bar
	log TRACE We got $x
log DEBUG End1
trigger whatever :sync
log DEBUG End2
list state
log DEBUG End3
shutdown
log DEBUG End4
"""

main_words.register_statement(ShutdownHandler)
load_module("state")
load_module("block")
load_module("data")
load_module("on_event")
load_module("logging")
load_module("ifelse")
load_module("bool")
load_module("trigger")
load_module("errors")

run("persist1",input)

Ejemplo n.º 19
0
	for 0.2
	debug force
list log
#syslog local1 trace localhost 55514
#log DEBUG "One Debug"
#del log local1 localhost 55514
## commented out because the next syslog call opens a new socket
## and netcat (used as a test listener) binds to the first one,
## which causes the second syslog line to not get received

syslog local5 info localhost 55514
log DEBUG "Five Debug"
log WARN "Five Warn"
list log
list log local5 localhost 55514
del log local5 localhost 55514
list log
wait:
	for 0.8
	debug force
shutdown
"""

main_words.register_statement(ShutdownHandler)
load_module("logging")
load_module("syslog")
load_module("wait")
load_module("data")

run("syslog",input)