Best Python code snippet using fMBT_python
whiteboard.py
Source:whiteboard.py
...24 # dict topics: keys are topics (strings) and values are ClientDialogSystems25 self.topics = dict()26 # dict subscribers: keys are subscribers (ClientDialogSystems) and values are topics (strings)27 self.subscribers = dict()28 def add_elt(self, key, value, d_txt):29 """30 Adds value to a dictionary (given by t_txt) at key31 :param key:32 :param value:33 :param d_txt:34 :return: 1 success / -1 error code35 """36 d = self.subscribers if d_txt == "subscriber" else self.topics37 if key not in d.keys():38 d[key] = list()39 if value in d[key]:40 return -141 d[key].append(value)42 return 143 def remove_elt(self, key, value, d_txt):44 """45 Same as add_elt but to remove the value.46 """47 d = self.subscribers if d_txt == "subscriber" else self.topics48 if key in d.keys():49 if value in d[key]:50 d[key].remove(value)51 if len(d[key]) == 0:52 del d[key]53 return 154 # print("IN remove_elt in whiboard.py, Could not unsubscribe")55 # print(key)56 # print(value)57 # print(d_txt)58 # print(d)59 return -160 def add_subscriber_to_topic(self, subscriber, topic):61 return self.add_elt(topic, subscriber, "topic")62 def add_topic_to_subscriber(self, subscriber, topic):63 return self.add_elt(subscriber, topic, "subscriber")64 def remove_subscriber_from_topic(self, subscriber, topic):65 return self.remove_elt(topic, subscriber, "topic")66 def remove_topic_from_subscriber(self, subscriber, topic):67 return self.remove_elt(subscriber, topic, "subscriber")68 def subscribe(self, subscriber, topic):69 v = self.add_subscriber_to_topic(subscriber, topic) + self.add_topic_to_subscriber(subscriber, topic)70 # if v != 2:71 # log.warning("%s already subscribed to %s." % (subscriber.name, topic))72 def unsubscribe(self, subscriber, topic):73 v = self.remove_subscriber_from_topic(subscriber, topic) + self.remove_topic_from_subscriber(subscriber, topic)74 # if v != 2:75 # log.warning("ERR, %s not subscribed to %s." % (subscriber.name, topic))76 def get_subscribers(self, topic):77 if topic in self.topics.keys():...
fonctions.py
Source:fonctions.py
...93#print(f"reverse {reverse(l.premier)}")94print(f"reverse2 {reverse2(l.premier)}")95print(l)96l2 = Liste()97l2.add_elt(0)98l2.add_elt(1)99l2.add_elt(1)100l2.add_elt(1)101l2.add_elt(3)102l2.add_elt(4)103l2.add_elt(4)104l2.add_elt(7)105l2.add_elt(7)106l2.add_elt(7)107l2.add_elt(8)108print(l2)...
dxfloader.py
Source:dxfloader.py
1import numpy as np2import ezdxf, sys, os3from pathgenerator import *4class DXFLoader():5 def load(filename):6 dwg = ezdxf.readfile(filename)7 msp = dwg.modelspace()8 item_list = list()9 vertex = list()10 for line in msp.query('LINE'):11 item_list.append(Line(line.dxf.start, line.dxf.end))12 vertex += [line.dxf.start, line.dxf.end]13 for arc in msp.query('ARC'):14 item = Arc(arc.dxf.center, arc.dxf.radius, arc.dxf.start_angle * math.pi / 180, arc.dxf.end_angle * math.pi / 180, True)15 vertex += [item.start, item.end]16 item_list.append(item)17 for polyline in msp.query('LWPOLYLINE'):18 # (x, y, [start_width, [end_width, [bulge]]])19 # TODO handle bulge20 points = polyline.get_points()21 prev_p = points[0]22 for p in points[1:]:23 item_list.append(Line(prev_p[:2], p[:2]))24 prev_p = p25 vertex += [points[0][:2], points[-1][:2]]26 if not item_list:27 raise Exception('Path is empty')28 if len(item_list) == 1:29 pass30 else:31 edge_list = np.empty((0,2), int)32 for n in range(len(vertex)):33 for m in range(n+1, len(vertex)):34 if(abs(vertex[n][0] - vertex[m][0]) < epsilon and abs(vertex[n][1] - vertex[m][1]) < epsilon):35 edge_list = np.vstack((edge_list, np.array((n,m))))36 degree = np.bincount(edge_list.flatten()).max()37 if degree > 2:38 raise Exception("Graph is not a path")39 path_gen = PathGenerator(item_list.pop(0))40 add_elt = True41 while add_elt:42 add_elt = False43 for n,i in enumerate(item_list):44 try:45 path_gen.append(i)46 item_list.pop(n)47 add_elt = True48 break49 except Exception:50 pass51 path_gen.reverse()52 add_elt = True53 while add_elt:54 add_elt = False55 for n,i in enumerate(item_list):56 try:57 path_gen.append(i)58 item_list.pop(n)59 add_elt = True60 break61 except Exception:62 pass63 if len(item_list) > 0:64 raise Exception("Non-connected graph")...
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!!