a DOg@s|ddlZddlZddlZdgZGdddZddZz ddlZWneyVdZYn"0e ej e ddd ZdS) N Completerc@s6eZdZd ddZddZddZdd Zd d ZdS) rNcCs6|rt|tstd|dur&d|_n d|_||_dS)Nznamespace must be a dictionaryr) isinstancedict TypeError use_main_ns namespace)selfrr 0/opt/alt/python39/lib64/python3.9/rlcompleter.py__init__'s zCompleter.__init__cCs|jrtj|_|sB|dkr>tr8tdtdSdSndS|dkrld|vr`| ||_ n | ||_ z |j |WSt yYdS0dS)Nr .) r__main____dict__rstrip_readline_availablereadlineZ insert_textZ redisplay attr_matchesmatchesglobal_matches IndexError)r textstater r r completeBs$    zCompleter.completecCst|r|d}|S)N()callable)r valwordr r r _callable_postfixaszCompleter._callable_postfixc Csddl}g}dh}t|}|jD]J}|d||kr |||dvrP|d}n|dvr`|d}||q |jtjfD]J}|D]<\}}|d||kr||vr|||| ||qqx|S)Nr __builtins__>finallytry:>FalseTruepasselsebreakNonecontinue ) keywordlenkwlistaddappendrbuiltinsritemsr ) r rr-rseennrZnspacerr r r rfs$     zCompleter.global_matchescCsddl}|d|}|sgS|dd\}}zt||j}WntyRgYS0tt|}|dt |dr| d| t |j g}t|} |dkrd} n|dkrd } nd} |D]} | d| |kr| r| d| d| ksd || f} ttt|| dtr|| qt|| d} durD||| | q|| q|sv| s`qv| dkrpd } qd} q||S) Nrz(\w+(\.\w+)*)\.(\w*)rr! __class__r___z%s.%s)rematchgroupevalr Exceptionsetdirdiscardhasattrr0updateget_class_membersr7r.rgetattrtypepropertyr1r sort)r rr:mexprattrZ thisobjectZwordsrr5Znoprefixrr;valuer r r rsV             zCompleter.attr_matches)N)__name__ __module__ __qualname__r rr rrr r r r r&s  cCs.t|}t|dr*|jD]}|t|}q|S)N __bases__)r@rBrPrD)klassZretbaser r r rDs   rDFcCs tdS)N)r set_completerr r r r rTT) atexitr2r__all__rrDr ImportErrorrrSrregisterr r r r  s