Team Ai
Apppublic

CintraAI/code-chunker

sourceHugging Facemitupdated 1y agoView on Hugging Face
5likes
Chunker.cpython-312.pyc35 linesDownload Raw Back to __pycache__
1�

2���f���X�ddlmZmZddlmZddlmZGd�de�ZGd�de�Zy)	�)�ABC�abstractmethod)�3CodeParser)�count_tokensc�d�eZdZdd�Zed��Zed��Zed��Zed��Z	ed��Z4y)	�Chunkerc��||_y�N)�
encoding_name)�selfrs  �.c:\Users\joesh\.vscode\code-chunker\Chunker.py�__init__zChunker.__init__s5��*���c��yr6�)r�content�token_limits   r
�chunkz
Chunker.chunk7���rc��yr8r)r�chunked_content�chunk_numbers   r
�	get_chunkzChunker.get_chunkrrc��|j�D]5\}}td|�d��td�t|�td��7y)NzChunk �:z(========================================)�items�print)�chunksr�9chunk_codes   r
�print_chunkszChunker.print_chunkssC��(.����	�$�L�*��F�<�.��*�+��(�O��*���(�O�		rc�@�dj|j��S�N�10)�join�values)rs r
�consolidate_chunks_into_filez$Chunker.consolidate_chunks_into_files���y�y�����)�)rc�:�|jd�}t|�Sr")�split�len)�consolidated_chunks�liness  r
�count_lineszChunker.count_liness��#�)�)�$�/���5�z�rN�zgpt-4)�__name__�11__module__�__qualname__rrrr�staticmethodr r&r,rrr
rrsk��+��
��
��
��
������*��*����rrc�2��eZdZd�fd�	Zdefd�Zd�Z�xZS)�CodeChunkerc�2��t�|�|�||_yr12)�superr�file_extension)rr6r�	__class__s   �r
rzCodeChunker.__init__%s���
����'�,��r�returnc	�F�t|j�}i}d}d}|jd�}d}d}	d}13t|j	||j��}t|j||j��}g}
|D]>}|dz14}d}||vr|}|dz}||vr�|r|
j
|��.|
j
|��@tt|
��}|t|�k�r||}t||j�}||z|kDr�||vr|}n+tt|D�cgc]15}||ks�	|��c}|16��|17�}||18k(r||vr||z
}|dz
}n�||19k(r||k(r||z
}|dz
}n�||20k(r<||vr8dj||21|�}|j�r22|||	<|	dz
}	d}|}23|dz
}n?dj||24|�}|j�r25|||	<|	dz
}	|}d}|}26n27||z
}|dz
}|t|�kr��dj||28d�}|j�r|||	<|Scc}w)N�rr#�)�default)rr6r(�sorted� get_lines_for_points_of_interest�get_lines_for_comments�append�setr)rr�maxr$�strip)r�coder�code_parserr�
current_chunk�token_countr+�ir�29start_line�breakpoints�comments�adjusted_breakpoints�bp�current_line�highest_comment_line�line�new_token_count�	stop_line�x�current_chunk_codes                      r
rzCodeChunker.chunk)s��� ��!4�!4�5�����
����30�31�4� ��
�����32��[�I�I�$�PT�Pc�Pc�d�e���+�<�<�T�4�CV�CV�W�X��!���	�B���6�L�#'� ��(�*�'3�$���!���(�*�$�$�+�+�,@�A�$�+�+���	��S�!5�6�7���#�e�*�n���8�D�*�4��1C�1C�D�O��_�,�{�:���#� !�I� #�C�K�(I�q�1�q�5��(I�S]�$^�`j� k�I��33�*�q��/C��?�2�K���F�A��*�,��i���?�2�K���F�A��*�,��k�1A�$(�I�I�e�J�y�.I�$J�M�$�*�*�,�/<��|�,�$��)��"#�K�!"�J���F�A�%)�I�I�e�J�y�.I�$J�M�$�*�*�,�/<��|�,�$��)��!�A�"#�K�!*�J���.���Q���]�#�e�*�n�b"�Y�Y�u�Z�[�'9�:���#�#�%�#5�F�<� ��
��Y)Js�34H�(Hc��||Sr35r)r�chunked_codebasers   r
rzCodeChunker.get_chunk{s
����-�-rr-)r.r/r0r�dictrr�
__classcell__)r7s@r
r3r3$s���-�P�$�P�d.rr3N)�abcrrr�utilsrrr3rrr
�<module>r[s(��#�!���c��<X.�'�X.r