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")...
Check out the latest blogs from LambdaTest on this topic:
Collecting and examining data from multiple sources can be a tedious process. The digital world is constantly evolving. To stay competitive in this fast-paced environment, businesses must frequently test their products and services. While it’s easy to collect raw data from multiple sources, it’s far more complex to interpret it properly.
Hola Testers! Hope you all had a great Thanksgiving weekend! To make this time more memorable, we at LambdaTest have something to offer you as a token of appreciation.
When I started writing tests with Cypress, I was always going to use the user interface to interact and change the application’s state when running tests.
So, now that the first installment of this two fold article has been published (hence you might have an idea of what Agile Testing is not in my opinion), I’ve started feeling the pressure to explain what Agile Testing actually means to me.
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!!