
    hf                     Z    S SK r S SKrS SKrS SKJrJr  S rS rS r\S:X  a  \" 5         gg)    N)FileStrc                  P   [         R                  " SS9n U R                  SSSSS9  U R                  SSS	S
S9  U R                  SS[        SSS9  U R                  SSSSS9  U R                  SS[        S SS9  U R                  SS[        R
                  S9  U R                  5       $ )NzhOutput pieces of FILE to PREFIXaa, PREFIXab, ...; default size is 1000 lines, and default PREFIX is 'x'.)descriptionfile?-z'File to process, "-" for standard input)nargsdefaulthelpprefixXz"Output file prefix, default is "x"z-lz--linesi  z0Number of lines per output file, default is 1000)typer   r   z-tz--separator
z[Use SEP instead of newline as the record separator; '\0' (zero) specifies the NUL character)r   r   z-nz--numberz.Generate N output files based on size of inputz	--versionversion)actionr   )argparseArgumentParseradd_argumentintstringzilla__version__
parse_args)parsers    C/var/www/fran/franai/venv/lib/python3.13/site-packages/cli/split.pyparse_argumentsr   	   s    $$~F c3-V   S/S   ?   k	   =   I{?V?VW    c                 2    US:X  a  SnU S:X  a(  [        [        R                  R                  5       5      nO[	        U 5      n[        U5      nUbO  [        U5      nXt-  n[        U5       H0  n	X-  n
XS-
  :  a  X-   OUnXZU nU U	 3nUR                  U5        M2     g SnSn	SnU[        U5      :  a  [        U5       H  nUR                  X?S-   5      nUS:X  d  M    O   US:X  a  U[        U5      :  a  [        U5      nUS:w  a  X-
  OSnUS:  a(  X^US-    nU U	 3nUR                  U5        U	S-  n	US-   nU[        U5      :  a  M  g g ! [         a    [        SU  35         g [         a#  n[        SU 35        [        S	5         S nAg S nAff = f)
Nz\0 r	      r   zNo such file: zAn error occurred: z2Usage example: split.py [-l LINES] [file] [prefix])r   sysstdinreadr   lenrangewrite_tofindFileNotFoundErrorprint	Exception)	file_pathlines_per_fileoutput_prefix	separatornumber_of_filesfile_contentsfile_mappedtotal_length
chunk_size	file_partstartendcurrent_sliceoutput_pathcurrent_positionnewline_position_section_lengthes                      r   
split_filer?   +   s   4DI		 01My/K,M&}-L%8J"?3	!. !Q#66 &% 
 !.C 8!.	{;&&{3 4 	]!33>*#0#5#5iTUAU#V #r) +
  2%*:S=O*O#&}#5  8H27M 3ST  ! -AQTUAU V!.	{;&&{3Q	#3a#7 ' ]!33*  ,yk*+ D#A3'(BCCDs+   BE  ;E A-E F*	F3FFc                      [        5       n [        U R                  U R                  U R                  U R
                  U R                  5        g )N)r   r?   r   linesr   r/   number)argss    r   mainrD   c   s.    Dtyy$**dkk4>>4;;Or   __main__)	r   r"   r   r   r   r   r?   rD   __name__ r   r   <module>rH      s:     
  !D5DpP
 zF r   