def adjust_angles(self, start_node, start_angle, end_node, end_angle):
start_group = self.find_node_group_membership(start_node)<EOL>end_group = self.find_node_group_membership(end_node)<EOL>if start_group == <NUM_LIT:0> and end_group == len(self.nodes.keys())-<NUM_LIT:1>:<EOL><INDENT>if self.has_edge_within_group(start_group):<EOL><INDENT>start_angle = correct_negative_angle(start_angle -<EOL>self.minor_angle)<EOL><DEDENT>if self.has_edge_within_group(end_group):<EOL><INDENT>end_angle = correct_negative_angle(end_angle +<EOL>self.minor_angle)<EOL><DEDENT><DEDENT>elif start_group == len(self.nodes.keys())-<NUM_LIT:1> and end_group == <NUM_LIT:0>:<EOL><INDENT>if self.has_edge_within_group(start_group):<EOL><INDENT>start_angle = correct_negative_angle(start_angle +<EOL>self.minor_angle)<EOL><DEDENT>if self.has_edge_within_group(end_group):<EOL><INDENT>end_angle = correct_negative_angle(end_angle -<EOL>self.minor_angle)<EOL><DEDENT><DEDENT>elif start_group < end_group:<EOL><INDENT>if self.has_edge_within_group(end_group):<EOL><INDENT>end_angle = correct_negative_angle(end_angle -<EOL>self.minor_angle)<EOL><DEDENT>if self.has_edge_within_group(start_group):<EOL><INDENT>start_angle = correct_negative_angle(start_angle +<EOL>self.minor_angle)<EOL><DEDENT><DEDENT>elif end_group < start_group:<EOL><INDENT>if self.has_edge_within_group(start_group):<EOL><INDENT>start_angle = correct_negative_angle(start_angle -<EOL>self.minor_angle)<EOL><DEDENT>if self.has_edge_within_group(end_group):<EOL><INDENT>end_angle = correct_negative_angle(end_angle +<EOL>self.minor_angle)<EOL><DEDENT><DEDENT>return start_angle, end_angle<EOL>
This function adjusts the start and end angles to correct for
duplicated axes.