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)
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)
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
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
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
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
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
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)
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
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')
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)
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
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)