3
Kd                 @   s<   d dl mZmZmZ d dlmZ dd ZG dd deZdS )    )URIRefBNodeLiteral)ResultSerializerc             C   s\   | d krdS |rPt | tr$|j| S t | tr6| j S t | trX| j|jdS n| j S d S )N-)Zqname_callback)
isinstancer   ZnormalizeUrir   Zn3r   Z_literal_n3)tnamespace_manager r
   Z/var/www/html/virt/lib/python3.6/site-packages/rdflib/plugins/sparql/results/txtresults.py_termString   s    



r   c               @   s   e Zd ZdZdddZdS )TXTResultSerializerzC
    A write only QueryResult serializer for text/ascii tables
    Nc                s  dd  | j jdkrtd| j s&dS t| j jdgt fdd| j D }x<|D ]4}x.ttD ]}t| t|| |< qnW q\W |jd	j	 fd
dt
D d  |jdtt  d  x4t|D ](}|jd	j	dd t|D d  qW dS )z6
        return a text table of query results
        c             S   s<   |t | 8 }|d  }}|d r(|d7 }d| |  d|  S )z>
            center the string s in w wide string
                   )len)swh1h2r
   r
   r   c   s
    z(TXTResultSerializer.serialize.<locals>.cZSELECTz%Can only pretty print SELECT results!z(no results)
r   c                s    g | ]  fd dD qS )c                s   g | ]}t |  qS r
   )r   ).0k)r	   rr
   r   
<listcomp>1   s    z<TXTResultSerializer.serialize.<locals>.<listcomp>.<listcomp>r
   )r   )keysr	   )r   r   r   1   s    z1TXTResultSerializer.serialize.<locals>.<listcomp>|c                s   g | ]\}} || qS r
   r
   )r   ir   )r   maxlenr
   r   r   7   s    
r   c             S   s$   g | ]\}}|d |t |   qS )r   )r   )r   r   r   r
   r
   r   r   ;   s    N)resulttype	Exceptionsortedvarsr   rangemaxwritejoin	enumeratesumzip)selfstreamencodingr	   br   r   r
   )r   r   r   r	   r   	serialize   s"    

"$zTXTResultSerializer.serialize)N)__name__
__module____qualname____doc__r0   r
   r
   r
   r   r      s   r   N)Zrdflibr   r   r   Zrdflib.queryr   r   r   r
   r
   r
   r   <module>   s   