Best Python code snippet using slash
Schedule.py
Source:Schedule.py
1# coding=utf-82# Copyright 2019 StrTrek Team Authors.3#4# Licensed under the Apache License, Version 2.0 (the "License");5# you may not use this file except in compliance with the License.6# You may obtain a copy of the License at7#8# http://www.apache.org/licenses/LICENSE-2.09#10# Unless required by applicable law or agreed to in writing, software11# distributed under the License is distributed on an "AS IS" BASIS,12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13# See the License for the specific language governing permissions and14# limitations under the License.15# System Required16from datetime import datetime, timedelta17import time18# Outer Required19# import msgpack20# Inner Required21# Global Parameters22from Babelor.Config import CONFIG23class TASKS:24 def __init__(self, interval: int = CONFIG.TASK_BLOCK_TIME):25 self.tasks = []26 self.interval = interval27 self.active = True28 def run_tasks(self):29 runnable_tasks = [task for task in self.tasks if task.should_run()]30 for task in sorted(runnable_tasks):31 task.run()32 # --------------------33 next_run_tasks_cnt = 034 for task in self.tasks:35 if task.next_should_run():36 next_run_tasks_cnt += 137 if next_run_tasks_cnt == 0:38 self.active = False39 def add(self, start: datetime, delta: timedelta, func: callable,40 expired: int = CONFIG.TASK_MAX_RUN_TIMES, **kwargs):41 task = TASK(start, delta, expired, func, **kwargs)42 self.tasks.append(task)43 def start(self):44 while self.active:45 self.run_tasks()46 time.sleep(self.interval)47 else:48 self.active = True49class TASK:50 def __init__(self, start: datetime, delta: timedelta, expired: int, func: callable, **kwargs):51 self.task_func = func52 self.last_run_datetime = datetime.now() # datetime of the last run53 self.next_run_datetime = start + delta # datetime of the next run54 self.timedelta = delta # timedelta between runs55 self.start_datetime = start # specific datetime to start on56 self.expire_datetime = start + (delta * (expired + 1)) # specific datetime to expired57 self.run_times = 0 # run times58 self.kwargs = kwargs59 def run(self):60 if self.task_func is not None:61 self.task_func(**self.kwargs)62 self.last_run_datetime = datetime.now()63 self.schedule_next_run()64 def next_should_run(self):65 return self.next_run_datetime < self.expire_datetime66 def should_run(self):67 current_datetime = datetime.now()68 is_not_expired = current_datetime < self.expire_datetime69 is_not_run = current_datetime >= self.next_run_datetime70 return is_not_expired and is_not_run71 def schedule_next_run(self):72 self.run_times += 173 self.next_run_datetime = self.start_datetime + (self.timedelta * self.run_times)74 if self.next_run_datetime < datetime.now():...
analysisresult.py
Source:analysisresult.py
...7 VERIFIED = "verified"8 def __init__(self, xml_tag, status):9 self.status = status10 super().__init__(xml_tag)11 def is_not_run(self):12 if self.status == Analysis_Result.NOT_RUN:13 return True14 else:15 return False16 def is_not_available(self):17 if self.status == Analysis_Result.NOT_AVAILABLE:18 return True19 else:20 return False21 @classmethod22 def from_xml_node(cls, xml_node):23 """24 Initialize the object from a XML node.25 :param xml_node: The XML node from which all necessary parameters will be parsed....
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!