ó -š°Nc@sºdZddlZejdkr.ddlTnvddlZejdkrVddlTnNejdkrrddlTn2ejdkrŽddlTne dejfƒ‚d gZ d „Z dS( s2.6iÿÿÿÿNtcli(t*tnttposixtjavas;Sorry: no implementation for your platform ('%s') availablesserial.urlhandlerc Osd|kp|d }d|kr-|d=nt}y|jƒ}Wntk rVn•Xd|krå|jddƒd}xotD]K}d||f}yt|ƒ} Wntk r¹q€Xtj|j}Pq€Wt d|fƒ‚nt}|d||Ž} || _ |r| j ƒn| S(s‰ Get an instance of the Serial class, depending on port/url. The port is not opened when the keyword parameter 'do_not_open' is true, by default it is. All other parameters are directly passed to the __init__ method when the port is instantiated. The list of package names that is searched for protocol handlers is kept in ``protocol_handler_packages``. e.g. we want to support a URL ``foobar://``. A module ``my_handlers.protocol_foobar`` is provided by the user. Then ``protocol_handler_packages.append("my_handlers")`` would extend the search path so that ``serial_for_url("foobar://"))`` would work. t do_not_opens://iis%s.protocol_%ss"invalid URL, protocol %r not knownN( tSerialtlowertAttributeErrortsplittprotocol_handler_packagest __import__t ImportErrortsystmodulest ValueErrortNonetporttopen( turltargstkwargstdo_opentklasst url_nocasetprotocolt package_namet module_namethandler_moduletinstance((s3/usr/lib/python2.7/site-packages/serial/__init__.pytserial_for_url s2       ( tVERSIONR tplatformtserial.serialclitostnametserial.serialwin32tserial.serialposixtserial.serialjavaR R R(((s3/usr/lib/python2.7/site-packages/serial/__init__.pyt s