
qV                 @   s   d  d l  Z  d  d l Z d  d l Z y d  d l Z Wn! e k
 rW d  d l j Z Yn Xd d   Z e d k r e	 d  Z
 e e
  d S)    Nc             C   s   t  j |   } | j d k r7 t j d | j f   d } y\ xU t  j | j d  j   D]8 \ } } | d k r | d } q\ t d | f   q\ WWn8 t k
 r } z t j d |   WYd	 d	 } ~ Xn Xd
 j	 | j
 | j g  t t |  f S)z(extract host and port from an URL stringZaltzkexpected a string in the form "alt://port[?option[=value][&option[=value]]]": not starting with alt:// (%r)ZSerialTclassr   zunknown option: %rzPexpected a string in the form "alt://port[?option[=value][&option[=value]]]": %sN )urlparseZurlsplitschemeserialZSerialExceptionZparse_qsZqueryitems
ValueErrorjoinZnetlocpathgetattr)ZurlpartsZ
class_nameZoptionvaluese r   @/usr/lib/python3/dist-packages/serial/urlhandler/protocol_alt.pyserial_class_for_url   s    (&r   __main__z&alt:///dev/ttyS0?class=PosixPollSerial)sysZtimer   r   ImportErrorZurllib.parseparser   __name__Zserial_for_urlsprintr   r   r   r   <module>   s   