
    Pi@                        d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZ ddZ G d de          ZdS )    )annotations)StringIO)IOListOptionalUnion)NamespaceManager)ResultSerializer)BNodeLiteralURIRefVariablet'Optional[Union[URIRef, Literal, BNode]]namespace_managerOptional[NamespaceManager]returnstrc                @   | dS |rt          | t                    r|                    |           S t          | t                    r|                                 S t          | t
                    r|                     |j                  S d S |                                 S )N-)qname_callback)
isinstancer   normalizeUrir   n3r   _literal_n3)r   r   s     |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/rdflib/plugins/sparql/results/txtresults.py_termStringr      s     	ys a   	P$11!4445!! 	P4466M7## 	P==0A0N=OOO	P 	P ttvv    c                  $    e Zd ZdZ	 dddddZdS )TXTResultSerializerzC
    A write-only QueryResult serializer for text/ascii tables
    utf-8N)r   streamr   encodingr   r   r   r   Nonec          
     (  
 d 
| j         j        dk    rt          d          t                      }| j         s|                    d           nU| j         j        dgt                    z  fd| j         D             }|D ]M}t          t                              D ].}t          |         t          ||                             |<   /N|                    d	                    
fdt                    D                       d	z              |                    d
t                    t                    z   z  d	z              t          |          D ]E}|                    d	                    d t          |          D                       d	z              F|                                }		 |                    |	                    |                     dS # t           t"          f$ r |                    |	           Y dS w xY w)z6
        return a text table of query results
        c                d    |t          |           z  }|dz  x}}|dz  r|dz  }d|z  | z   d|z  z   S )z>
            center the string s in w wide string
                   len)swh1h2s       r   cz(TXTResultSerializer.serialize.<locals>.c-   sM     QKA1fB1u a8a<#(**r   SELECTz%Can only pretty print SELECT results!z(no results)
r   c                0    g | ]fd D             S )c                <    g | ]}t          |                   S  )r   ).0kr   rs     r   
<listcomp>z<TXTResultSerializer.serialize.<locals>.<listcomp>.<listcomp>D   s(    DDD!QqT#455DDDr   r4   )r5   r7   keysr   s    @r   r8   z1TXTResultSerializer.serialize.<locals>.<listcomp>?   sD         EDDDDtDDD  r   |c                :    g | ]\  }} ||                   S r4   r4   )r5   ir6   r0   maxlens      r   r8   z1TXTResultSerializer.serialize.<locals>.<listcomp>K   s+    FFFda!!Avay//FFFr   
r   c                D    g | ]\  }}|d |t          |          z
  z  z   S )r)   r*   )r5   r<   r   s      r   r8   z1TXTResultSerializer.serialize.<locals>.<listcomp>P   s0    PPPAa#SVV"44PPPr   N)resulttype	Exceptionr   writevarsr+   rangemaxjoin	enumeratesumsortedzipgetvalueencode	TypeError
ValueError)selfr"   r#   r   kwargsstring_streambr7   r<   text_valr0   r9   r=   s      `      @@@r   	serializezTXTResultSerializer.serialize!   sS   	+ 	+ 	+ ;x''CDDD 

{ 	 01111#';#3DS3t99_F       A  : :s4yy)) : :A #F1Is1Q4yy 9 9F1II:FFFFFiooFFFGG$N   s6{{S[['@ AD HIIIAYY  ##HHPPVQPPPQQTXX    !))++	#LL2233333:& 	# 	# 	#LL""""""	#s   =(G' '&HH)r!   )r"   r   r#   r   r   r   r   r$   )__name__
__module____qualname____doc__rU   r4   r   r   r    r       sK           5#
 9=5# 5# 5# 5# 5# 5# 5# 5#r   r    N)r   r   r   r   r   r   )
__future__r   ior   typingr   r   r   r   rdflib.namespacer	   rdflib.queryr
   rdflib.termr   r   r   r   r   r    r4   r   r   <module>r`      s    " " " " " "       , , , , , , , , , , , , - - - - - - ) ) ) ) ) ) 8 8 8 8 8 8 8 8 8 8 8 8   ":# :# :# :# :#* :# :# :# :# :#r   