
    01i                        S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	  SSK
r
SSK
Jr  SSKJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SrSr  SS jrS rS rS rS r\S:X  a  \" 5         gg)zq
A commandline tool for parsing RDF in different formats and serializing the
resulting graph to a chosen format.
    )annotationsN)OptionParser)BinaryIOOptional)plugin)ConjunctiveGraph)Parser)
Serializer)Store)guess_formatxmln3c                ~   U(       a=  [         R                  " U[        5      " 5       nUR                  U5        [	        U5      n	OS n[	        5       n	UR                  5        H  u  pU	R                  R                  XSS9  M!     U  Hb  n[        U5      u  pUS:X  a  [        R                  nO&U(       d  U(       a  [        U5      =(       d    [        nU	R                  " U4SU0UD6  Md     U(       a3  [        U5      u  pNUR                  SS 5        U	R                  " SX4S.UD6  U(       a  UR!                  5         g g )NF)override-formatbase)destinationr    )r   getr   openr   itemsnamespace_managerbind_format_and_kwssysstdinr   DEFAULT_INPUT_FORMATparse
setdefault	serializerollback)input_filesinput_formatguessoutfileoutput_formatns_bindings
store_conn
store_typestoregraphprefixurifpath
use_formatkwss                  N/home/james-whalen/.local/lib/python3.13/site-packages/rdflib/tools/rdfpipe.pyparse_and_serializer3      s    

:u-/

: ' ""((*$$V5$A + ),7
C<IIE%%e,D0DJE4*44  ,];vt$IGISI     c                B   U 0 pU (       a  SU ;   a  U R                  SS5      u  pUR                  S5       Hd  nSU;   a  UR                  S5      u  pEXQU'   M"  UR                  S5      (       a	  SXSS '   MA  UR                  S5      (       a	  S	XSS '   M`  S	X'   Mf     X4$ )
aX  
```python
>>> _format_and_kws("fmt")
('fmt', {})
>>> _format_and_kws("fmt:+a")
('fmt', {'a': True})
>>> _format_and_kws("fmt:a")
('fmt', {'a': True})
>>> _format_and_kws("fmt:+a,-b") #doctest: +SKIP
('fmt', {'a': True, 'b': False})
>>> _format_and_kws("fmt:c=d")
('fmt', {'c': 'd'})
>>> _format_and_kws("fmt:a=b:c")
('fmt', {'a': 'b:c'})

```
:   ,=r   FN+T)split
startswith)fmtr1   kwreprkwkvs         r2   r   r   @   s    $ B
scziiQ',,s#Bbyxx}As###qrFs##"qrF $ 8Or4   c            	        [        [        5      n [        [        5      nSn[        S[        R                  5       S-   SS[        R                  -  -   S9nUR                  SS[        S	U -  S
-   S-   SU-  -   SS9  UR                  SS[        [        SU-  S-   SU-  -   SS9  UR                  SS[        SSS9  UR                  SSSSSS 9  UR                  S!S"S#S$S%9  UR                  S&S'S"S#S(S%9  U$ ))NzFORMAT:(+)KW1,-KW2,KW3=VALUEzP%prog [-h] [-i INPUT_FORMAT] [-o OUTPUT_FORMAT] [--ns=PFX=NS ...] [-] [FILE ...]za Reads file system paths, URLs or from stdin if '-' is given. The result is serialized to stdout.z%prog z(using rdflib %s))descriptionversionz-iz--input-formatzAFormat of the input document(s). Available input formats are: %s.z# If no format is given, it will be z%guessed from the file name extension.z7 Keywords to parser can be given after format like: %s.INPUT_FORMAT)typehelpmetavarz-oz--output-formatzDFormat of the graph serialization. Available output formats are: %s.z Default format is: '%default'.z; Keywords to serializer can be given after format like: %s.OUTPUT_FORMAT)rF   defaultrG   rH   z--nsappendz[Register a namespace binding (QName prefix to a base URI). This can be used more than once.zPREFIX=NAMESPACE)actionrF   rG   rH   z
--no-guessr%   store_falseTz(Don't guess format based on file suffix.)destrL   rJ   rG   z--no-out
store_trueFzIDon't output the resulting graph (useful for checking validity of input).)rL   rJ   rG   z-wz--warnz<Output warnings to stderr (by default only critical errors).)_get_plugin_namesr	   r
   r   __doc__striprdflib__version__
add_optionstrDEFAULT_OUTPUT_FORMAT)parser_namesserializer_names
kw_exampleoparsers       r2   make_option_parserr\   b   s   $V,L(4/J	-MMO3

 .1C1CCC	G ,.:;
/0 22 Dj
P	Q
   
 %-/?@
+, H*
TU    
 +"   7   5	   K   Nr4   c                V    SR                  S [        R                  " U S9 5       5      $ )Nz, c              3  8   #    U  H  oR                   v   M     g 7f)N)name).0ps     r2   	<genexpr>$_get_plugin_names.<locals>.<genexpr>   s     ?%>VV%>s   kind)joinr   pluginsrd   s    r2   rP   rP      s     99?V^^%>???r4   c                 R   [        5       n U R                  5       u  p[        U5      S:  a   U R                  5         U R	                  5         UR
                  (       a  [        R                  nO[        R                  n[        R                  " US9  0 nUR                  (       a*  UR                   H  nUR                  S5      u  pgXtU'   M     [        R                  R                  nUR                  (       a  S n[!        X!R"                  UR$                  XR&                  U5        g )Nr7   )levelr9   )r\   
parse_argslenprint_usageexitwarnloggingWARNINGCRITICALbasicConfignsr;   r   stdoutbufferno_outr3   r$   r%   r'   )	r[   optsargsloglevelr(   ns_kwpfxr.   r&   s	            r2   mainr|      s     "G##%JD
4y1}yy??##h'KwwWWE{{3'HC"  #&**"3"3G{{W6H6H+r4   __main__) N)rQ   
__future__r   ro   r   optparser   typingr   r   rS   r   rdflib.graphr   rdflib.parserr	   rdflib.serializerr
   rdflib.storer   rdflib.utilr   r   rW   r3   r   r\   rP   r|   __name__r   r4   r2   <module>r      sv    #  
 ! %   )   (  $   #LDIX@: zF r4   