Exemplo n.º 1
0
    def manager(self, rule, ruledef):
        from MatchManager import Matching
        from SearchManager import SearchManager
        from Trigger import Trigger
        from FileManager import FileManager

        Matching = Matching(rule, ruledef)
        Trigger = Trigger()
        FileManager = FileManager()

        log_location = self.log_check(rule)
        log = FileManager.read_logfile(log_location)
        logfile = log
        endPoint = len(logfile)

        while True:
            if endPoint > self.startAt:
                Searching = SearchManager(Matching.matchlist, rule, logfile)
                Trigger.perform_action(Searching.action, rule)

            print 'start at begin: ', self.startAt
            self.startAt = endPoint
            print 'startat = ', self.startAt
            print 'endpoint = ', endPoint
            interval = self.interval_check(rule)
            print 'Sleeping for ' + str(interval) + ' seconds'
            time.sleep(interval)
            print 'Searching in the new rule file'

            log_location = self.log_check(rule)
            log = FileManager.read_logfile(log_location)
            del logfile[:]
            for line in range(self.startAt, len(log)):
                logfile.append(log[line])
            endPoint = len(log)
Exemplo n.º 2
0
 def buildTriggers(self, level, triggerNPs):
     for np in triggerNPs:
         callbackName = np.getTag("callback")
         onlyOnce = np.getTag("onlyOnce") == "True"
         active = np.getTag("active") == "True"
         trigger = Trigger(callbackName, np, onlyOnce, active)
         self.triggers.append(trigger)
Exemplo n.º 3
0
 def setupTrigger(name: str,
                  num: int,
                  led_name: str,
                  on_what: str = "event"):
     trg = Trigger(name, arduino)
     trg.add_listener(on_what, to_main(num, led_name, trg))
     return trg
Exemplo n.º 4
0
 def create_trigger(cls, name):
     trigger = Trigger()
     cls.__triggers.append(trigger)
     id = len(cls.__triggers) - 1
     if name != None:
         cls.__trigger_name_dict[name] = id
     return id
Exemplo n.º 5
0
 def __init__(self, effects, zone="battlefield", txt='', keyword=''):
     super(CardStaticAbility, self).__init__(effects,
                                             zone=zone,
                                             txt=txt,
                                             keyword=keyword)
     # XXX The zone is not quite right, for attached static abilities that can
     # attach to something out of the battlefield
     self.control_changed = Trigger(
         ControllerChanged(),
         sender="source")  # card with ability changed controller
Exemplo n.º 6
0
def bushido(value):
    if isinstance(value, int): txt = "Bushido %d" % value
    else: txt = "Bushido X"

    def effects(controller, source):
        yield NoTarget()
        value = int(value)
        until_end_of_turn(source.augment_power_toughness(value, value))
        yield

    ability = TriggeredAbility([
        Trigger(BlockerDeclaredEvent(), sender_match),
        Trigger(AttackerBlockedEvent(), sender_match)
    ],
                               effects,
                               txt=txt,
                               keyword='bushido')
    ability.bushido_value = value
    return ability
Exemplo n.º 7
0
 def create_trigger(self,
                    name,
                    accelerator="",
                    description="",
                    category="",
                    error=True,
                    removable=True):
     from Trigger import Trigger
     trigger = Trigger(self, name, accelerator, description, category,
                       error, removable)
     return trigger
Exemplo n.º 8
0
def main():
    while True:
        #retrieve data

        Trigger(db)

        # The alarm class, basically it checks in the database if the alarm is true or false,
        # based on that it either turns on or off the leds/buzzing
        Alarm(db)

        # makes it so it runs every second
        time.sleep(1)
Exemplo n.º 9
0
 def __init__(self,
              effects,
              condition,
              events=[],
              tracking="battlefield",
              zone="battlefield",
              txt=''):
     super(CardTrackingAbility, self).__init__(effects, zone, txt)
     self.enter_trigger = EnterTrigger(tracking, condition, player="any")
     self.leave_trigger = LeaveTrigger(tracking, player="any")
     self.control_changed = Trigger(
         ControllerChanged(),
         sender="source")  # card with ability changed controller
     if isinstance(events, tuple): events = list(events)
     elif not isinstance(events, list): events = [events]
     self.other_triggers = [
         Trigger(event) for event in [ControllerChanged()] + events
     ]  # triggers for tracked cards
     if not condition: condition = all_match
     self.condition = condition
     self.tracking = tracking
     self.events = events
Exemplo n.º 10
0
def exalted():
    def condition(source, sender, attackers):
        return sender.active_player == source.controller and len(
            attackers) == 1

    def effects(controller, source, attackers):
        yield NoTarget()
        until_end_of_turn(attackers[0].augment_power_toughness(1, 1))
        yield

    return TriggeredAbility(Trigger(DeclareAttackersEvent(), condition),
                            effects,
                            zone="battlefield",
                            keyword='exalted')
def Preprocess(data):
               
    if (args.events_number != -1): data = data.head(args.events_number)
       
    print('Data successfully acquired!')
    print('Total hits acquired: ' + str(data.shape[0]))

    # Triggers avaiable: 139 (mean-time), 0 (triggerless)
    events = Trigger(args.trigger).Get_Final_Dataframe(data)

    if args.events_file: 
        print('Creating csv output file...')
        events.to_csv('events_dataframe_' + args.events_file + '.csv')
        print('Creating events output file (txt)...')
        Write_Events_tofile(events,args.events_file + '.txt')
Exemplo n.º 12
0
 def __init__(self):
     self.controller = maestro.Controller('COM3')
     self.yaw_motor = Motor(self.controller,
                            self.YAW_CHANNEL,
                            name='yaw',
                            offset_angle=10)
     self.pitch_motor = Motor(self.controller,
                              self.PITCH_CHANNEL,
                              name='pitch',
                              max_angle=20,
                              offset_angle=0)
     self.trigger = Trigger(self.controller,
                            self.TRIGGER_CHANNEL,
                            name='trigger',
                            neutral_pulse=1880 * 4,
                            pulse_travel=2080 * 4)
Exemplo n.º 13
0
    def change_setup(self, setup):

        # Reset run configuration to its default values
        self.set_default_config()

        # Read new setup
        self.setup = setup
        if (self.read_setup() == "error"): return "error"

        # Create new set of ADC board processes (DAQ and ZSUP) handlers
        self.daq_nodes_id_list = []
        for b in self.boardid_list:
            print "Run - Configuring ADC board %d" % b
            adcboard = ADCBoard(b)
            self.configure_adcboard(adcboard)
            self.adcboard_list.append(adcboard)
            self.daq_nodes_id_list.append(adcboard.node_id)

        # Get unique list of DAQ nodes (needed to create start/stop files)
        self.daq_nodes_id_list = list(set(self.daq_nodes_id_list))

        # Store ip addresses of DAQ nodes in a dictionary
        self.daq_nodes_ip_list = {}
        for node_id in self.daq_nodes_id_list:
            self.daq_nodes_ip_list[node_id] = self.db.get_node_daq_ip(node_id)

        # Create new Trigger process handler
        self.trigger = Trigger()
        self.configure_trigger(self.trigger)

        # Create new Merger process handler
        self.merger = Merger()
        self.configure_merger(self.merger)

        # Create new set of Level1 process handlers
        for l in range(self.level1_nproc):
            print "Run - Configuring Level1 process %d" % l
            lvl1_proc = Level1(l)
            self.configure_level1(lvl1_proc)
            self.level1_list.append(lvl1_proc)

        return setup
Exemplo n.º 14
0
def make_test_data():
    #### ADDING USER AND TRIGGERS FOR EoD
    Users.add_user('hari')
    # create a symbol
    reliance = Symbol(name='Reliance',
                      y_symbol='RELIANCE.BO',
                      g_symbol='NSE:RELIANCE')
    # create a trigger
    trigger_list = []
    trigger_list.append(
        Trigger(
            # s_symbol='RELIANCE.BO',
            symbol_obj=reliance,
            s_attribute='RSI_period_1_param_10',
            s_value='10',
            s_bias='+',
        ))
    trigger_list.append(
        Trigger(
            symbol_obj=reliance,
            s_attribute='RSI_period_1_param_20',
            s_value='10',
            s_bias='+',
        ))
    trigger_list.append(
        Trigger(
            symbol_obj=reliance,
            s_attribute='Price_',
            s_value='10',
            s_bias='+',
        ))
    # useing trigger, create a reminder
    reminder = Reminder(trigger_list)
    Users.get_by_name('hari').add_reminder(reminder)

    #### ADDING USER AND TRIGGERS FOR intraday
    Users.add_user('hari_intraday')
    # create a symbol
    asianpaint = Symbol(name='Asianpaint',
                        y_symbol='ASIANPAINT.BO',
                        g_symbol='NSE:ASIANPAINT')
    # create a trigger
    trigger_list = []
    trigger_list.append(
        Trigger(
            symbol_obj=asianpaint,
            s_attribute='RSI_period_1_param_10_symbolmode_intraday',
            s_value='10',
            s_bias='+',
        ))
    trigger_list.append(
        Trigger(
            symbol_obj=asianpaint,
            s_attribute='RSI_period_1_param_20_symbolmode_intraday',
            s_value='10',
            s_bias='+',
        ))
    trigger_list.append(
        Trigger(
            symbol_obj=asianpaint,
            s_attribute='Price_symbolmode_intraday',
            s_value='10',
            s_bias='+',
        ))
    # useing trigger, create a reminder
    reminder = Reminder(trigger_list)
    Users.get_by_name('hari_intraday').add_reminder(reminder)