(self, x=None, y=None)
Return a context manager for temporarily moving the cursor.

        Move the cursor to a certain position on entry, let you print stuff
        there, then return the cursor to its original position::

            term = Terminal()
            with term.location(2, 5):
                print('Hello, world!')
                for x in xrange(10):
                    print('I can do it %i times!' % x)

        Specify ``x`` to move to a certain column, ``y`` to move to a certain
        row, both, or neither. If you specify neither, only the saving and
        restoration of cursor position will happen. This can be useful if you
        simply want to restore your place after doing some manual cursor
        movement.
Return a context manager for temporarily moving the cursor.
Return a context manager for temporarily moving the cursor .
def location(self, x=None, y=None):
        """Return a context manager for temporarily moving the cursor.

        Move the cursor to a certain position on entry, let you print stuff
        there, then return the cursor to its original position::

            term = Terminal()
            with term.location(2, 5):
                print('Hello, world!')
                for x in xrange(10):
                    print('I can do it %i times!' % x)

        Specify ``x`` to move to a certain column, ``y`` to move to a certain
        row, both, or neither. If you specify neither, only the saving and
        restoration of cursor position will happen. This can be useful if you
        simply want to restore your place after doing some manual cursor
        movement.

        """
        # Save position and move to the requested column, row, or both:
        self.stream.write(self.save)
        if x is not None and y is not None:
            self.stream.write(self.move(y, x))
        elif x is not None:
            self.stream.write(self.move_x(x))
        elif y is not None:
            self.stream.write(self.move_y(y))
        try:
            yield
        finally:
            # Restore original cursor position:
            self.stream.write(self.restore)
def location ( self , x = None , y = None ) : # Save position and move to the requested column, row, or both: self . stream . write ( self . save ) if x is not None and y is not None : self . stream . write ( self . move ( y , x ) ) elif x is not None : self . stream . write ( self . move_x ( x ) ) elif y is not None : self . stream . write ( self . move_y ( y ) ) try : yield finally : # Restore original cursor position: self . stream . write ( self . restore )