def turn_z(self, index, direction):
     for r in xrange(self.fps):
         rate(self.rate)
         for x in xrange(self._dimension):
             for y in xrange(self._dimension):
                 if index >= 0:
                     self._array[x][y][index].rotate(self.degrees90/self.fps,
                                                     vector(0, 0, direction*-1),
                                                     self._pos)
                 else:
                     for rows in range(self._dimension):
                         self._array[x][y][rows].rotate(self.degrees90/self.fps,
                                                         vector(0, 0, direction*-1),
                                                         self._pos)
     if index >= 0:
         RubiksCube.turn_z(self, index, direction)
     else:
         for rows in range(self._dimension):
             RubiksCube.turn_z(self, rows, direction)
            for x in range(self.cube_size):
                for y in range(self.cube_size):
                    if current_side[x][y] is not None:
                        current_side[x][y] = (current_side[x][y] + set_num) % 6

            local_cube.set_side(side, current_side)

        return local_cube

myXml = XmlParser()

myObject = myXml.read_file("2.1.xml", True)
myObject2 = myXml.read_file("xxx_cube.xml", True)

x = RubiksCube(3)
x2 = RubiksCube(3)
x2.turn_z(-1,1)

#RubiksCubeConverter.to_visual_cube(myObject._start_cube)
#RubiksCubeConverter.to_visual_cube(myObject2._start_cube)


main = PatternFinder(3)
#print main.find_pattern(x, x2)
print main.find_pattern(myObject2._start_cube, myObject._start_cube)


#print main.find_pattern(x, x2)
#print main.find_pattern(myObject._start_cube, myObject2._start_cube)
#for cube in mycubes: