• script.cpython-311.pyc
  • �
    
    #6�dJ����ddlZejdkred��ddlmZnddlZddlmZddlZddl	m
    Z
    ddlmZm
    Z
    ddlmZdd	lmZdd
    lmZddlZddlZddlZddlTGd�d
    ��ZdS)�N�ntzKWINDOWS DETECTED! PLEASE DO NOT USE THIS SCRIPT ON WINDOWS! IT'S TOO BUGGY!)�Readline)�sleep)�	webdriver)�WebDriverException�NoSuchWindowException)�Options)�Observer)�FileSystemEventHandler)�*c��eZdZd�Zd�Zd�Zddeded	ed
    edef
    d�Zd
    �Z	Gd�de
    ��Zdd�Zd�Z
    dd�Zd�Zd�ZdS)�
    AutoReloadc��dS)NzTEST WORKS!�r��9/home/pc/Belgeler/AutoReloadScript/AutoReloader/script.py�testzAutoReload.tests���}rc��d|_dS)Nzhttp://127.0.0.1:80/Test/)�_root��selfs r�default_rootzAutoReload.default_roots
    ��0��
    �
    �
    rc��d|_dS)Nz./login.php)�_start_pagers r�
    default_spagezAutoReload.default_spages��(����r�FT�root�
    start_page�print�
    handle_arg�suc�|�|sdS||_||_||_tjd|_d|_d|_g|_tj	��|_
    |r4|j
    �d��|j
    �d��tj
    dkr|j
    �ddg��tj|j
    ���|_t#��|_|jd	kr|���|jd	kr|���|j|_dS)
    NrFz--no-sandboxz
    --headlessr�excludeSwitcheszenable-logging)�optionsr)rrr�sys�argv�	file_name�ignore�	ignoreArrr�
    ChromeOptions�opt�add_argument�os�name�add_experimental_option�Chrome�driverr
    �observerrr�	lastEVENT)rrrrr r!�news       r�__init__zAutoReload.__init__s"���	��F���
    �%�����
    ���!������
    ��������*�,�,���
    �	0��H�!�!�.�1�1�1��H�!�!�,�/�/�/�
    �7�d�?�?��H�,�,�->�AQ�@R�S�S�S��&�t�x�8�8�8��� �
    �
    ��
    ��:������������r�!�!���� � � ��)����rc��d}|d|j�d�z
    }|d|j�d�z
    }|d|j�d�z
    }|dz
    }|d	z
    }|d
    z
    }|dz
    }|dz
    }|S)
    Nz&Default arguments for this script is:
    zroot: z 
    zstart_page: z 
    
    zUsage: 'z$ -r <root_address> -s <start_page>'
    z>-r/--root: sets the url 
    -s/--start_page: sets the start page
    z4-l/--log: prints the file name if a file is changed
    z$-h/--help: prints this help message
    z^--ignore-html: won't load html files if they are changed, instead will reload the current pagezt-i/--ignore "<file(s)/path(s)>" : won't load ignored files if they are changed, instead will reload the current page)rrr')r�strs  r�helpfunczAutoReload.helpfunc8s���7���'��
    �'�'�'�'���5�d�.�5�5�5�5���O�$�.�O�O�O�O���Q�Q���F�F���6�6���o�o���H�	H���
    rc��eZdZd�Zd�ZdS)�AutoReload.Handlerc��||_dS�N)�outer)r�outer_instances  rr5zAutoReload.Handler.__init__Es
    ��'�D�J�J�Jrc	��|jjr=tdtj�tj�dtj�d|j����|jjD]D}||jvr9|jj�	|jj
    |jjz��dS�Ed|jvsd|jvrT|jjdkrD|jj�	|jj
    |jz��|j|j_dSd|jvsd|jvs	d|jvr8|jj�	|jj
    |jjz��dSdS)	N�[�INFOz] File changed: z.phpz.htmFz.cssz.js)
    r=r�bcolors�OKBLUE�BOLD�ENDC�src_pathr)r1�getrr3r()r�event�items   r�on_modifiedzAutoReload.Handler.on_modifiedHsZ���z��
    l��j�'�.�j�'�,�j�j�G�L�j�j�Z_�Zh�j�j�k�k�k��
    �,�
    �
    ���5�>�)�)��J�%�)�)�$�*�*:�T�Z�=Q�*Q�R�R�R��F�F�*����'�'�F�e�n�,D�,D���IZ�^c�Ic�Ic���"�&�&�t�z�'7�%�.�'H�I�I�I�(-����%������'�'�5�E�N�+B�+B�f�PU�P^�F^�F^���"�&�&�t�z�'7�$�*�:N�'N�O�O�O���G_�F^rN)�__name__�
    __module__�__qualname__r5rJrrr�Handlerr:Ds2������	(�	(�	(�
    	�
    	�
    	�
    	�
    	rrNc���|dkrt|��|j���|j���|j���dS)Nr)rr1�closer2�stop�join)r�msgs  rrPzAutoReload.closeWsX���"�9�9��#�J�J�J���������
    �������
    �������rc�0�	|jjdS#YdSxYw)NTF)r1�current_urlrs r�isBrowserAlivezAutoReload.isBrowserAlive^s'��	��K�#�#��4��	��5�5���s��c��|rF|���stdtj�d���d}t	d��|�DdSdS)N�
    z Driver closed!F�)rVr�
    msgHeaders�WARNINGr)r�alives  r�browserCheckzAutoReload.browserCheckesi���	��&�&�(�(�
    ��>�:�-�>�>�>�?�?�?����!�H�H�H�	�	�	�	�	�	rc��|jddkr|xjdz
    c_|j�|�|��dd���	|j���tj|jj|j|j	zf���}|���tj|j
    ���|_|j���	tdtj�d	tj�d
    tj�tj�dtj�tj�dtj����t)tj�d	���}|�d
    ��}|D])}|�|������*��#t2$r+|j���t7��YdSt8pt:$rLt=��t>_ |�tj!�d���t7��YdSwxYw)N����/�.T)�	recursive)�target�args)rcrX� z.Enter the file name to switch pages (or enter �exitz for closing script)z & z.Driver already closed! Nothing to do! Exiting!)"rr2�schedulerN�start�	threading�Threadr1rGr�continuousCheck�checkTrrZ�RELOADERrB�OKCYAN�FAILrDrE�input�INPUT�split�commandHandler�rstrip�KeyboardInterruptrPrfrr�DevNullr%�stderrr[)r�driverT�
    commandinp�commands�commands     r�runCLIzAutoReload.runCLImsd���J�r�N�c�!�!��J�J�#��J�J�	
    ��	�	����T� 2� 2�C�4�	�	H�	H�	H�
    ��M���!�!�!��&�d�k�o�T�Z�RV�Rb�Eb�Dd�e�e�e�G��M�M�O�O�O�#�*�$�2F�G�G�G�D�K��K������
    :��P�:�.�P�P���P�P�ov�o{�P�~E�~J�P�P�PW�P\�P�^e�^l�P�P�BI�BN�P�P�Q�Q�Q�"�j�&6�#9�#9�#9�:�:�
    �%�+�+�E�2�2��'�:�:�G��'�'����(8�(8�9�9�9�9�
    :��"�
    �
    �
    �
    �[�
    �
    �
     �
     �
     �
    �V�V�V�V�V�V�"�;�&;�
    �
    �
    �!�)�)�S�Z�
    �Z�Z�7�?�Z�Z�Z�
    [�
    [�
    [�
    �V�V�V�V�V�V�
    ���s�EF-�-1H=�!AH=�<H=c��dSr<rrrr�runzAutoReload.run�s���rN)rrFFFT)r)T)rKrLrMrrrr7�boolr5r8rrNrPrVr]r|r~rrrrrs���������1�1�1�)�)�)�*�*�C�*�#�*�4�*�]a�*�os�*�*�*�*�6
    �
    �
    ������(����&��������������0����rr)r-r.r�pyreadline3r�readline�timer�asyncio�seleniumr�selenium.common.exceptionsrr�!selenium.webdriver.chrome.optionsr	�watchdog.observersr
    �watchdog.eventsrr%�os.pathri�classesrrrr�<module>r�s+��	�	�	�	��7�d�?�?�	�E�
    W�X�X�X�$�$�$�$�$�$�$��O�O�O�����������������P�P�P�P�P�P�P�P�5�5�5�5�5�5�'�'�'�'�'�'�2�2�2�2�2�2�
    �
    �
    �
    �������������p�p�p�p�p�p�p�p�p�pr