B >R @ s d Z ddlZddlZddlZeeds.eddddgZdadadd Z d d Z G dd deZd d Z G dd dZdd Zdd Zedkre dS )6 NNLz4tokenize.NL doesn't exist -- tokenize module too oldcheckNannyNagprocess_tokensc G s: d}x$| D ]}t j|t| d}q W t jd d S )N )sysstderrwritestr)argsseparg r -/opt/alt/python37/lib64/python3.7/tabnanny.pyerrprint" s r c C s dd l } y| tjdd d\}}W n, | jk rR } zt| d S d }~X Y nX x0|D ](\}}|dkrrtd a|dkrZtd aqZW |stdtjd d d S x|D ]}t| qW d S )Nr Zqvz-qz-vzUsage:z[-v] file_or_directory ...)getoptr argverrorr filename_onlyverboser )r Zoptsr msgoar r r r main) s r c @ s, e Zd Zdd Zdd Zdd Zdd Zd S ) r c C s ||| | _ | _| _d S )N)linenor line)selfr r r r r r __init__B s zNannyNag.__init__c C s | j S )N)r )r r r r get_linenoD s zNannyNag.get_linenoc C s | j S )N)r )r r r r get_msgF s zNannyNag.get_msgc C s | j S )N)r )r r r r get_lineH s zNannyNag.get_lineN)__name__ __module____qualname__r! r" r# r$ r r r r r = s c C s& t j| rt j| str*td| f t | }xR|D ]J}t j| |}t j|rdt j|r|t j|dd dkr:t | q:W d S yt | }W n2 tk r } zt d| |f d S d }~X Y nX tdkrtd| zytt |j W n t jk r2 } zt d| |f d S d }~X Y n tk rd } zt d| |f d S d }~X Y n tk r } z|| }| }trtd | |f td |f t| n6d| krd| d } trt| nt| |t| d S d }~X Y nX W d | X tr"td | f d S )Nz%r: listing directoryz.pyz%r: I/O Error: %sr zchecking %r ...z%r: Token Error: %sz%r: Indentation Error: %sz)%r: *** Line %d: trouble in tab city! ***zoffending line: %rr "z%r: Clean bill of health.)ospathisdirislinkr printlistdirjoinnormcaser tokenizeopenOSErrorr r generate_tokensreadline TokenErrorIndentationErrorr r" r$ r# r reprclose) filenamesnamefullnamefr Znagbadliner r r r r K sT c @ sL e Zd Zd\ZZdd Zdd Zdd Zdd Zd d Z dd Z dd ZdS ) Whitespacez c C s || _ tjtj }}g }d } }}x~| j D ]t}||krJ|d }|d }q,||kr|d }|d }|t|kr|dg|t| d }|| d ||<