Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def line(self,points,opened):
self.line_arcs = [];
n = len(points)
current_arc = Strut()
k = 0
p=False
t=False
if not opened:
points.pop()
n-=1
while k < n:
t = self.arcs.peak(points[k])
if opened:
break
if p and not mysterious_line_test(p, t):
tInP = all(map(lambda line:line in p,t))
pInT = all(map(lambda line:line in t,p))
if tInP and not pInT:
k-=1
break
p = t
k+=1
# If no shared starting point is found for closed lines, rotate to minimum.
if k == n and isinstance(p,list) and len(p) > 1:
point0 = points[0]
i = 2
k=0
while i 0:
point0 = point
while i 0:
point0 = point
k = i
i+=1
i = -1
if opened:
m = n-1
else:
m = n
while i < m:
i+=1
point = points[(i + k) % n]
p = self.arcs.peak(point)
if not mysterious_line_test(p, t):
tInP = all(map(lambda line: line in p,t))
pInT = all(map(lambda line: line in t,p))
if tInP:
current_arc.append(point);
self.arc(current_arc)
if not tInP and not pInT and len(current_arc):
self.arc(Strut([current_arc[-1], point]))
if pInT and len(current_arc):
current_arc = Strut([current_arc[-1]])
else:
current_arc = Strut();
if not len(current_arc) or point_compare(current_arc[-1], point):
current_arc.append(point) # skip duplicate points
t = p
self.arc(current_arc, True)
return self.line_arcs