Best Python code snippet using playwright-python
helper.py
Source:helper.py  
...50        def decorator(f):51            self.add_handler(event, f, *args, **kwargs)52            return f53        return decorator54    def _on_event(self, event, *event_args, **event_kwargs):55        if event in self._event_handlers:56            for handler, args, kwargs in self._event_handlers[event]:57                handler(self, *args, *event_args, **kwargs, **event_kwargs)58    59    def set_train_routine(self, routine):60        self._train_routine = routine61    def set_test_routine(self, routine):62        self._test_routine = routine63    @property64    def train_routine(self):65        def decorator(f):66            self.set_train_routine(f)67            return f68        return decorator69    70    @property71    def test_routine(self):72        def decorator(f):73            self.set_test_routine(f)74            return f75        return decorator76    def train(self, dataloader, epochs=200):77        ''' helps the training process 78        Args: 79            dataloader (DataLoader): dataloader to use 80            epochs (int): number of epochs81        ''' 82        try:83            logger.info('[*] training started with max epochs of {}'.format(epochs))84            start = time.time()85            self._on_event(Events.STARTED)86            for epoch in range(epochs):87                self._on_event(Events.EPOCH_STARTED)88                train_loss = 089                for i, (data, label) in enumerate(dataloader): 90                    self._on_event(Events.ITR_STARTED)91                    train_loss += self._train_routine(self, data, label)92                    self._on_event(Events.ITR_COMPLETED)93                    progressbar(i, len(dataloader), 'epoch: {}/{} train loss:{:.4f} '.format(epoch+1, epochs, train_loss/(i+1)), '(time: {})'.format(str(timedelta(seconds=time.time()-start))))94                logger.debug('epoch: {}/{} train loss:{:.4f} '.format(epoch+1, epochs, train_loss/len(dataloader)))95                self._on_event(Events.EPOCH_COMPLETED, epoch=epoch)96            self._on_event(Events.COMPLETED)97        except BaseException as e:98            logger.error('[*] training terminated due to exception: {}'.format(str(e)))99            self._on_event(Events.EXCEPTION_RAISED, e)        100    def test(self, dataloader, weights=None):101        ''' helps the testing process102        Args: 103            dataloader (DataLoader): dataloader to use 104            weights (str): path to pretrained weights105        ''' 106        self.model.eval()107        if weights is not None:108            if os.path.exists(filename):109                self.model.load(filename)110            else:111                logger.error('[*] file not found: {}'.format(weights))112                raise FileNotFoundError113        try:114            logger.info('[*] testing started.')115            start = time.time()116            self._on_event(Events.STARTED)117            for i, (data, label) in enumerate(dataloader): 118                self._on_event(Events.ITR_STARTED)119                self._test_routine(self, data, label)120                self._on_event(Events.ITR_COMPLETED)121                progressbar(i, len(dataloader), )122            self._on_event(Events.COMPLETED)123        except BaseException as e:124            logger.error('[*] training terminated due to exception: {}'.format(str(e)))125            self._on_event(Events.EXCEPTION_RAISED, e)    126    def get_accuracy(self, data, label):127        output = self.model(data) 128        out = np.argmax(output.data, axis=1) 129        ans = np.argmax(label.data, axis=1)130        return sum(out == ans)/label.shape[0]131    def plot(self, losses, filename=None):132        plt.plot([i for i in range(len(losses))], losses)133        plt.title('training losses of {} in {}'.format(self.model_name, self.data_name))134        plt.ylabel('training loss')135        plt.xlabel('epochs')136        if filename is not None:137            plt.savefig(filename)138        else: 139            plt.show()led.py
Source:led.py  
...18    def on_loaded(self):19        self._led_file = "/sys/class/leds/led%d/brightness" % self.options['led']20        self._delay = int(self.options['delay'])21        logging.info("[led] plugin loaded for %s" % self._led_file)22        self._on_event('loaded')23        _thread.start_new_thread(self._worker, ())24    def _on_event(self, event):25        if not self._is_busy:26            self._event_name = event27            self._event.set()28            logging.debug("[led] event '%s' set", event)29        else:30            logging.debug("[led] skipping event '%s' because the worker is busy", event)31    def _led(self, on):32        with open(self._led_file, 'wt') as fp:33            fp.write(str(on))34    def _blink(self, pattern):35        logging.debug("[led] using pattern '%s' ..." % pattern)36        for c in pattern:37            if c == ' ':38                self._led(1)39            else:40                self._led(0)41            time.sleep(self._delay / 1000.0)42        # reset43        self._led(0)44    def _worker(self):45        while True:46            self._event.wait()47            self._event.clear()48            self._is_busy = True49            try:50                if self._event_name in self.options['patterns']:51                    pattern = self.options['patterns'][self._event_name]52                    self._blink(pattern)53                else:54                    logging.debug("[led] no pattern defined for %s" % self._event_name)55            except Exception as e:56                logging.exception("[led] error while blinking")57            finally:58                self._is_busy = False59    # called when the unit is updating its software60    def on_updating(self):61        self._on_event('updating')62    # called when there's one or more unread pwnmail messages63    def on_unread_inbox(self, num_unread):64        self._on_event('unread_inbox')65    # called when there's internet connectivity66    def on_internet_available(self, agent):67        self._on_event('internet_available')68    # called when everything is ready and the main loop is about to start69    def on_ready(self, agent):70        self._on_event('ready')71    # called when the AI finished loading72    def on_ai_ready(self, agent):73        self._on_event('ai_ready')74    # called when the AI starts training for a given number of epochs75    def on_ai_training_start(self, agent, epochs):76        self._on_event('ai_training_start')77    # called when the AI got the best reward so far78    def on_ai_best_reward(self, agent, reward):79        self._on_event('ai_best_reward')80    # called when the AI got the worst reward so far81    def on_ai_worst_reward(self, agent, reward):82        self._on_event('ai_worst_reward')83    # called when the status is set to bored84    def on_bored(self, agent):85        self._on_event('bored')86    # called when the status is set to sad87    def on_sad(self, agent):88        self._on_event('sad')89    # called when the status is set to excited90    def on_excited(self, agent):91        self._on_event('excited')92    # called when the status is set to lonely93    def on_lonely(self, agent):94        self._on_event('lonely')95    # called when the agent is rebooting the board96    def on_rebooting(self, agent):97        self._on_event('rebooting')98    # called when the agent is waiting for t seconds99    def on_wait(self, agent, t):100        self._on_event('wait')101    # called when the agent is sleeping for t seconds102    def on_sleep(self, agent, t):103        self._on_event('sleep')104    # called when the agent refreshed its access points list105    def on_wifi_update(self, agent, access_points):106        self._on_event('wifi_update')107    # called when the agent is sending an association frame108    def on_association(self, agent, access_point):109        self._on_event('association')110    # called when the agent is deauthenticating a client station from an AP111    def on_deauthentication(self, agent, access_point, client_station):112        self._on_event('deauthentication')113    # called when a new handshake is captured, access_point and client_station are json objects114    # if the agent could match the BSSIDs to the current list, otherwise they are just the strings of the BSSIDs115    def on_handshake(self, agent, filename, access_point, client_station):116        self._on_event('handshake')117    # called when an epoch is over (where an epoch is a single loop of the main algorithm)118    def on_epoch(self, agent, epoch, epoch_data):119        self._on_event('epoch')120    # called when a new peer is detected121    def on_peer_detected(self, agent, peer):122        self._on_event('peer_detected')123    # called when a known peer is lost124    def on_peer_lost(self, agent, peer):...updatewindow.py
Source:updatewindow.py  
...40    def _disconnect_events(self):41        gdb.events.stop.disconnect(self._on_event)42        gui.event.frame_changed.disconnect(self._on_event)43    @in_gdb_thread44    def _on_event(self, *args):45        self.on_event()46    @in_gtk_thread47    def deleted(self, *args):48        gdb.post_event(self._disconnect_events)...events.py
Source:events.py  
...24        index = handlers.index(handler_fn)25        handlers.pop(index)26    except ValueError:27        pass28def _on_event(typ, target, **kw):29    _check_type(typ)30    ref = target31    for handler in _event_handlers[typ]:32        result = handler(ref, **kw)33        if result is False:34            return False35        ref = result36    return ref37# Add/remove event handlers38def add_exception_info_handler(handler_fn, pos=None):39    _add_handler(EXCEPTION_INFO, handler_fn, pos)40def remove_exception_info_handler(handler_fn):41    _remove_handler(EXCEPTION_INFO, handler_fn)42def add_message_handler(handler_fn, pos=None):43    _add_handler(MESSAGE, handler_fn, pos)44def remove_message_handler(handler_fn):45    _remove_handler(MESSAGE, handler_fn)46def add_payload_handler(handler_fn, pos=None):47    _add_handler(PAYLOAD, handler_fn, pos)48def remove_payload_handler(handler_fn):49    _remove_handler(PAYLOAD, handler_fn)50# Event handler processing51def on_exception_info(exc_info, **kw):52    return _on_event(EXCEPTION_INFO, exc_info, **kw)53def on_message(message, **kw):54    return _on_event(MESSAGE, message, **kw)55def on_payload(payload, **kw):56    return _on_event(PAYLOAD, payload, **kw)57# Misc58def reset():59    for handlers in _event_handlers.values():...LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
