o
    €ÏØ  ã                   @   sb   d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlZddlm	Z	 ddd„Z
d	d
„ ZdS )z-Cloud SDK default keyboard interrupt handler.é    )Úabsolute_import)Údivision)Úunicode_literalsN)Úlogc                 C   sh   ~ ~d}zt j |¡ W n ty   tj |¡ Y nw t tjtj	¡ t
 t
 ¡ tj¡ t d¡ dS )zàHandles keyboard interrupts (aka SIGINT, ^C).

  Disables the stack trace when a command is killed by keyboard interrupt.

  Args:
    signal_number: The interrupt signal number.
    frame: The signal stack frame context.
  z'

Command killed by keyboard interrupt
é   N)r   ÚerrÚPrintÚ	NameErrorÚsysÚstderrÚwriteÚsignalÚSIGINTÚSIG_DFLÚosÚkillÚgetpidÚexit)Úsignal_numberÚframeÚmessage© r   úH/tmp/google-cloud-sdk/lib/googlecloudsdk/core/util/keyboard_interrupt.pyÚHandleInterrupt   s   	ÿr   c                   C   s*   z
t   t jt¡ W dS  ty   Y dS w )z:Installs the default Cloud SDK keyboard interrupt handler.N)r   r   r   Ú
ValueErrorr   r   r   r   ÚInstallHandler4   s
   ür   )NN)Ú__doc__Ú
__future__r   r   r   r   r   r
   Úgooglecloudsdk.corer   r   r   r   r   r   r   Ú<module>   s   
