def __init__(self, worker_name, beanstalk_host, beanstalk_port, src_store, plugin):
     super().__init__(beanstalk_host, beanstalk_port)
     self.logger = logging.getLogger(__name__)
     self.worker_name = worker_name
     self.beanstalk = Connection(host=beanstalk_host, port=beanstalk_port)
     self.src_store = src_store
     self.sample_api = API()
     self.plugin = PluginFactory.instance(plugin)
예제 #2
0
from plugin_factory import PluginFactory
from i_plugin import IPlugin

class PluginB(IPlugin):
  def __init__(self):
    pass

  @classmethod
  def name(cls):
    return "PluginB"

  def do_something(self):
    print "I am PluginB doing something"

PluginFactory().register_plugin(PluginB().name(), PluginB())
예제 #3
0
    q.put({"status": "DONE", "device": device_ip})


if __name__ == "__main__":
    if len(sys.argv) < 3:
        print "Config file location needed! use -f 'configfile' commandline argument."
        exit()
    elif sys.argv[1] != "-f":
        print "Config file location needed! use -f 'configfile' commandline argument."
        exit()

    f = open(sys.argv[2], 'r')
    config = yaml.load(f)
    f.close()

    factory = PluginFactory(config["plugins_dir"])
    processes = {}
    output_data = Queue()
    print time.time()
    for dev, options in config["devices"].items():
        processes[dev] = Process(target=runProcess,
                                 args=(output_data, options["device"],
                                       options["output"], options["layers"],
                                       dev, options["community"]))
        processes[dev].start()
    while True:
        try:
            if len(processes) == 0:
                break
            data = output_data.get()
            if "status" in data:
예제 #4
0
from plugin_factory import PluginFactory
from plugins import *

pf = PluginFactory()
loaded_plugins = pf.get_registered_plugins()
for loaded_plugin in loaded_plugins:
  loaded_plugins[loaded_plugin].do_something()
예제 #5
0
 def __init__(self):
     PluginFactory.__init__(self, "source_")
예제 #6
0
# standalone plugin demo
from plugin_factory import PluginFactory

if __name__ == '__main__':
    import sys

    if len(sys.argv) != 3:
        print(sys.argv[0] + " <Plugin> <image file>")
        sys.exit(0)

    plugin = PluginFactory.instance(sys.argv[1])
    veg = plugin.vegetation_from_file(sys.argv[2])
    print("{:.2f}".format(veg))
예제 #7
0
 def __init__(self):
     PluginFactory.__init__(self, "player_")
예제 #8
0
파일: main.py 프로젝트: geuben/reuben.guru
from plugin_factory import PluginFactory
from plugins import *

pf = PluginFactory()

some_parms = [ "1", "8", "6" , "10" ]
registered_plugins = pf.get_registered_plugins()
plugin_instances = []

count = 0
for x in range(0, 2):
  for p in registered_plugins:
    plugin_instances.append(pf.create_plugin(p, some_parms[count]))
    count +=1

for pi in plugin_instances:
  pi.do_something()
예제 #9
0
  q.put({"status":"DONE", "device":device_ip})

if __name__ == "__main__":
  if len(sys.argv) < 3:
    print "Config file location needed! use -f 'configfile' commandline argument."
    exit()
  elif sys.argv[1] != "-f":
    print "Config file location needed! use -f 'configfile' commandline argument."
    exit()

  f = open(sys.argv[2], 'r')
  config = yaml.load(f)
  f.close()


  factory = PluginFactory(config["plugins_dir"])
  processes = {}
  output_data = Queue()
  print time.time()
  for dev, options in config["devices"].items():
    processes[dev] = Process(target=runProcess, args=(output_data, options["device"], options["output"], options["layers"], dev, options["community"]))
    processes[dev].start()
  while True:
    try:
      if len(processes) == 0:
        break
      data = output_data.get()
      if "status" in data:
        processes[data["device"]].join()
        del processes[data["device"]]
      else:
예제 #10
0
from plugin_factory import PluginFactory
from plugins import *

pf = PluginFactory()

some_parms = ["1", "8", "6", "10"]
registered_plugins = pf.get_registered_plugins()
plugin_instances = []

count = 0
for x in range(0, 2):
    for p in registered_plugins:
        plugin_instances.append(pf.create_plugin(p, some_parms[count]))
        count += 1

for pi in plugin_instances:
    pi.do_something()
예제 #11
0
 def __init__(self):
     PluginFactory.__init__(self, "event_")
예제 #12
0
 def __init__(self):
     PluginFactory.__init__(self, "cntrl_")