示例#1
0
 def load(self):
     main_words.register_statement(OnEventHandler)
     OnEventHandler.register_statement(OnPrio)
     main_words.register_statement(OnSkip)
     OnEventHandler.register_statement(OnName)
     OnEventHandler.register_statement(OnDoc)
     register_condition(OnHandlers.exists)
示例#2
0
文件: timeslot.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(TimeslotHandler)
		main_words.register_statement(TimeslotUpdate)
		main_words.register_statement(TimeslotStart)
		main_words.register_statement(TimeslotStop)
		main_words.register_statement(VarTimeslotHandler)
		register_condition(RunningTimeslotCheck)
		register_condition(DuringTimeslotCheck)
示例#3
0
文件: pwm.py 项目: smurfix/HomEvenT
	def load(self):
		main_words.register_statement(PWMHandler)
		main_words.register_statement(PWMUpdate)
		main_words.register_statement(PWMSet)
		main_words.register_statement(VarPWMHandler)
		register_condition(PWMs.exists)
		register_condition(OnPWMCheck)
示例#4
0
文件: net.py 项目: smurfix/HomEvenT
	def load(self):
		main_words.register_statement(NETlisten)
		main_words.register_statement(NETconnect)
		main_words.register_statement(NETsend)
		register_condition(Nets.exists)
		register_condition(NetListens.exists)
		register_condition(NETconnected)
示例#5
0
文件: rrdc.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(RRDconnect)
		main_words.register_statement(RRDsetfile)
		main_words.register_statement(RRDset)
		register_condition(RRDconnected)
		register_condition(RRDchannels.exists)
		register_condition(RRDservers.exists)
		register_condition(RRDfiles.exists)
示例#6
0
文件: avg.py 项目: smurfix/HomEvenT
	def load(self):
		mlen=0
		for v in globals().itervalues():
			m = getattr(v,"mode",None)
			if m is None: continue
			modes[m] = v
			if mlen < len(m): mlen = len(m)
		for v in modes.itervalues():
			AvgHandler.long_doc += v.mode+" "*(mlen-len(v.mode)+1)+v.doc+"\n"

		main_words.register_statement(AvgHandler)
		main_words.register_statement(AvgSet)
		main_words.register_statement(AvgReset)
		main_words.register_statement(VarAvgHandler)
		register_condition(Avgs.exists)
示例#7
0
文件: syslog.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(SyslogHandler)
示例#8
0
文件: wait.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(WaitHandler)
		main_words.register_statement(VarWaitHandler)
		register_condition(Waiters.exists)
示例#9
0
文件: tests.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(TestMonitor)
		register_input(FakeInput)
		register_output(FakeOutput)
示例#10
0
 def load(self):
     main_words.register_statement(FS20switches)
     main_words.register_statement(FS20send)
     register_condition(SwitchGroups.exists)
     register_condition(Switches.exists)
示例#11
0
文件: __init__.py 项目: pombreda/MoaT
			self.buf=""
	def flush(self):
		if self.buf:
			l = self.buf
			self.buf = ""
			self.log(None,l)

class ctxdump(Statement):
	name="dump context"
	doc="dump the variable context"
	def run(self,ctx,**k):
		event = self.params(ctx)
		print >>sys.stderr,"CTX:",Name(event)
		for s in ctx._report():
			print >>sys.stderr,"   :",s
main_words.register_statement(ctxdump)

ht = None
def run(name,input, interpreter=Interpreter, logger=None):
	global ht
	if logger is None:
		ht = run_logger(name,dot=False)
		logger = ht.log
	if isinstance(input,unicode):
		input = input.encode("utf-8")
	input = StringIO(input)

	def _main():
		global ht
		parse_ctx = Context(filename=name)
		#parse_ctx.logger=parse_logger
示例#12
0
文件: data.py 项目: smurfix/HomEvenT
	def load(self):
		main_words.register_statement(List)
		main_words.register_statement(Del)
示例#13
0
文件: errors.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(TryStatement)
		main_words.register_statement(CatchStatement)
		main_words.register_statement(ReportStatement)
		main_words.register_statement(TriggerStatement)
示例#14
0
文件: ssh.py 项目: smurfix/HomEvenT
	def load(self):
		main_words.register_statement(SSHlisten)
		main_words.register_statement(SSHauth)
		main_words.register_statement(SSHdir)
		register_condition(AuthKeys.exists)
示例#15
0
from homevent.context import Context
from homevent.parser import parse
from homevent.run import process_failure
from homevent.twist import track_errors, fix_exception
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")
示例#16
0
文件: onewire.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(OWFSconnect)
		main_words.register_statement(OWFSdisconnect)
		main_words.register_statement(OWFSdir)
		main_words.register_statement(OWFSscan)
		main_words.register_statement(OWFSset)
		main_words.register_statement(OWFSmonitor)
		register_input(OWFSinput)
		register_output(OWFSoutput)
		register_condition(OWFSconnected)
		register_condition(OWFSconnectedbus)
示例#17
0
文件: amqp.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(AMQPconn)
		main_words.register_statement(AMQPstart)
		main_words.register_statement(AMQPstop)
		main_words.register_statement(AMQPlog)
		main_words.register_statement(AMQPtell)
		main_words.register_statement(AMQPlisten)
		register_condition(AMQPclients.exists)
示例#18
0
文件: block.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(Block)
		main_words.register_statement(Async)
		main_words.register_statement(SkipThis)
示例#19
0
文件: monitor.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(MonitorMaker)
		main_words.register_statement(MonitorHandler)
		main_words.register_statement(MonitorUpdate)
		main_words.register_statement(MonitorSet)
		main_words.register_statement(MonitorStart)
		main_words.register_statement(MonitorStop)
		main_words.register_statement(VarMonitorHandler)
		register_condition(RunningMonitorCheck)
		register_condition(WaitingMonitorCheck)
示例#20
0
文件: rrd.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(RRDHandler)
		main_words.register_statement(RRDset)
		main_words.register_statement(VarRRDHandler)
		register_condition(RRDs.exists)
示例#21
0
文件: ifelse.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(IfStatement)
		main_words.register_statement(ElseStatement)
		main_words.register_statement(ElseIfStatement)
示例#22
0
	def load(self):
		main_words.register_statement(AVRconnect)
		main_words.register_statement(AVRsend)
		register_condition(AVRs.exists)
		register_condition(AVRconnected)
示例#23
0
	def load(self):
		PREFIX[PREFIX_TX] = tx_handler()
		main_words.register_statement(FS20tx)
		main_words.register_statement(FS20txVal)
		register_condition(TXs.exists)
示例#24
0
	def load(self):
		main_words.register_statement(TriggerHandler)
示例#25
0
	def load(self):
		PREFIX[PREFIX_ENERGY] = en_handler()
		main_words.register_statement(FS20en)
		main_words.register_statement(FS20enVal)
		register_condition(ENs.exists)
示例#26
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)

示例#27
0
文件: fs20em.py 项目: pombreda/MoaT
	def load(self):
		PREFIX[PREFIX_EM] = em_handler()
		PREFIX[PREFIX_EM2] = em2_handler()
		main_words.register_statement(FS20em)
		main_words.register_statement(FS20emVal)
		register_condition(EMs.exists)
示例#28
0
文件: rpc.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(RPClisten)
		register_condition(RPCconns.exists)
		register_condition(RPCservers.exists)
示例#29
0
文件: file.py 项目: pombreda/MoaT
	def load(self):
		main_words.register_statement(Include)
示例#30
0
 def load(self):
     main_words.register_statement(FS20receive)
     main_words.register_statement(FS20delreceive)
     main_words.register_statement(FS20transmit)
     main_words.register_statement(FS20deltransmit)
     register_worker(FS20tr_shutdown)