Best Python code snippet using autotest_python
label_commands.py
Source:label_commands.py
1#!/usr/bin/env python2def get_label_command_facts(issuewrapper, meta, module_indexer, core_team=[], valid_labels=[]):3 iw = issuewrapper4 add_labels = []5 del_labels = []6 namespace_labels = [7 u'aci',8 u'avi',9 u'aws',10 u'azure',11 u'cloud',12 u'cloudstack',13 u'digital_ocean',14 u'docker',15 u'f5',16 u'gce',17 u'infoblox',18 u'jboss',19 u'meraki',20 u'netapp',21 u'networking',22 u'nxos',23 u'openstack',24 u'ovirt',25 u'ucs',26 u'vmware',27 u'windows',28 ]29 whitelist = [30 u'docsite_pr',31 u'easyfix',32 u'module',33 u'needs_triage',34 u'needs_verified',35 u'test',36 ]37 whitelist += namespace_labels38 whitelist += [x for x in valid_labels if x.startswith(u'affects_')]39 whitelist += [x for x in valid_labels if x.startswith(u'c:')]40 whitelist += [x for x in valid_labels if x.startswith(u'm:')]41 iw = issuewrapper42 maintainers = [x for x in core_team]43 maintainers += module_indexer.all_maintainers44 maintainers = sorted(set(maintainers))45 # iterate through the description and comments and look for label commands46 for ev in iw.history.history:47 if ev[u'actor'] in maintainers and ev[u'event'] == u'commented':48 if u'+label' in ev[u'body'] or u'-label' in ev[u'body']:49 for line in ev[u'body'].split(u'\n'):50 if u'label' not in line:51 continue52 words = line.split()53 # https://github.com/ansible/ansibullbot/issues/128454 if len(words) < 2:55 continue56 label = words[1]57 if label not in whitelist:58 continue59 action = words[0]60 if action == u'+label':61 add_labels.append(label)62 if label in del_labels:63 del_labels.remove(label)64 elif action == u'-label':65 del_labels.append(label)66 if label in add_labels:67 add_labels.remove(label)68 # prevent waffling on label actions69 # https://github.com/ansible/ansibullbot/issues/67270 managed = sorted(set(add_labels + del_labels))71 for ml in managed:72 if iw.history.label_is_waffling(ml, limit=5):73 if ml in add_labels:74 add_labels.remove(ml)75 if ml in del_labels:76 del_labels.remove(ml)77 fact = {78 u'label_cmds': {79 u'add': add_labels,80 u'del': del_labels81 }82 }83 return fact84def get_waffling_overrides(issuewrapper, meta, module_indexer, core_team=[], valid_labels=[]):85 iw = issuewrapper86 overrides = []87 iw = issuewrapper88 maintainers = [x for x in core_team]89 maintainers += module_indexer.all_maintainers90 maintainers = sorted(set(maintainers))91 for ev in iw.history.history:92 if ev[u'actor'] in maintainers and ev[u'event'] == u'commented':93 if u'!waffling' in ev.get(u'body', u''):94 lines = ev[u'body'].split(u'\n')95 for line in lines:96 if line.strip().startswith(u'!waffling'):97 line = line.strip()98 parts = line.strip().split()99 thislabel = parts[1].strip()100 if thislabel not in overrides:101 overrides.append(thislabel)102 fact = {103 u'label_waffling_overrides': overrides104 }...
viz.py
Source:viz.py
1"""Functions to visualize human poses"""2import matplotlib.pyplot as plt3import data_utils4import numpy as np5import h5py6import os7from mpl_toolkits.mplot3d import Axes3D8def show3Dpose(channels, ax, lcolor="#3498db", rcolor="#e74c3c", add_labels=False): # blue, orange9 """10 Visualize a 3d skeleton11 Args12 channels: 96x1 vector. The pose to plot.13 ax: matplotlib 3d axis to draw on14 lcolor: color for left part of the body15 rcolor: color for right part of the body16 add_labels: whether to add coordinate labels17 Returns18 Nothing. Draws on ax.19 """20 assert channels.size == len(data_utils.H36M_NAMES)*3, "channels should have 96 entries, it has %d instead" % channels.size21 vals = np.reshape( channels, (len(data_utils.H36M_NAMES), -1) )22 I = np.array([1,2,3,1,7,8,1, 13,14,15,14,18,19,14,26,27])-1 # start points23 J = np.array([2,3,4,7,8,9,13,14,15,16,18,19,20,26,27,28])-1 # end points24 LR = np.array([1,1,1,0,0,0,0, 0, 0, 0, 0, 0, 0, 1, 1, 1], dtype=bool)25 # Make connection matrix26 for i in np.arange( len(I) ):27 x, y, z = [np.array( [vals[I[i], j], vals[J[i], j]] ) for j in range(3)]28 #print (x, y, z)29 ax.plot(x, y, z, marker='o', markersize=2, lw=1, c=lcolor if LR[i] else rcolor)30 RADIUS = 750 # space around the subject31 xroot, yroot, zroot = vals[0,0], vals[0,1], vals[0,2]32 ax.set_xlim3d([-RADIUS+xroot, RADIUS+xroot])33 ax.set_zlim3d([-RADIUS+zroot, RADIUS+zroot])34 ax.set_ylim3d([-RADIUS+yroot, RADIUS+yroot])35 if add_labels:36 ax.set_xlabel("x")37 ax.set_ylabel("y")38 ax.set_zlabel("z")39 # Get rid of the ticks and tick labels40 ax.set_xticks([])41 ax.set_yticks([])42 ax.set_zticks([])43 ax.get_xaxis().set_ticklabels([])44 ax.get_yaxis().set_ticklabels([])45 ax.set_zticklabels([])46 ax.set_aspect('equal')47 # Get rid of the panes (actually, make them white)48 white = (1.0, 1.0, 0.1, 0.0)49 ax.w_xaxis.set_pane_color(white)50 ax.w_yaxis.set_pane_color(white)51 # Keep z pane52 # Get rid of the lines in 3d53 ax.w_xaxis.line.set_color(white)54 ax.w_yaxis.line.set_color(white)55 ax.w_zaxis.line.set_color(white)56 57def show2Dpose(channels, ax, lcolor="#3498db", rcolor="#e74c3c", add_labels=False):58 """59 Visualize a 2d skeleton60 Args61 channels: 64x1 vector. The pose to plot.62 ax: matplotlib axis to draw on63 lcolor: color for left part of the body64 rcolor: color for right part of the body65 add_labels: whether to add coordinate labels66 Returns67 Nothing. Draws on ax.68 """69 assert channels.size == len(data_utils.H36M_NAMES)*2, "channels should have 64 entries, it has %d instead" % channels.size70 vals = np.reshape( channels, (len(data_utils.H36M_NAMES), -1) )71 I = np.array([1,2,3,1,7,8,1, 13,14,14,18,19,14,26,27])-1 # start points72 J = np.array([2,3,4,7,8,9,13,14,16,18,19,20,26,27,28])-1 # end points73 LR = np.array([1,1,1,0,0,0,0, 0, 0, 0, 0, 0, 1, 1, 1], dtype=bool)74 # Make connection matrix75 for i in np.arange( len(I) ):76 x, y = [np.array( [vals[I[i], j], vals[J[i], j]] ) for j in range(2)]77 ax.plot(x, y, lw=2, c=lcolor if LR[i] else rcolor)78 # Get rid of the ticks79 ax.set_xticks([])80 ax.set_yticks([])81 # Get rid of tick labels82 ax.get_xaxis().set_ticklabels([])83 ax.get_yaxis().set_ticklabels([])84 RADIUS = 350 # space around the subject85 xroot, yroot = vals[0,0], vals[0,1]86 ax.set_xlim([-RADIUS+xroot, RADIUS+xroot])87 ax.set_ylim([-RADIUS+yroot, RADIUS+yroot])88 if add_labels:89 ax.set_xlabel("x")90 ax.set_ylabel("z")...
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!!