bg#UdZddlmZddlZddlmZddlmZddlm Z ddl m Z ddl m Z dd lmZdd lmZdd lmZdd lmZdd lmZmZddlmZmZmZddlmZdZdZ dddddddddfdddddd dd!d"fd#d$dd%d&dd'd(fd)d*dd+d,d-fd.d/dd0d&dd1d(fd2d3dd+d4d-fd5d6d+d7d8d9fd:d;ddd?fd@dAd+d7dBd9fdCdDdEddFdGddHdI!edJdKfdLdLd+d7dMdNfdOdPddQdRd&dSdTfdUdVde dWddXdTfdYddZd[e j"d\d]fd^d_dd`dadbdcfddd_dedfddgdhdifdjdkdldmdndoffZ#dpe$dq<Gdrdse e Z%e&dtkre%ej'duddSdS)vz:Create UML diagrams for classes and modules in .) annotationsN)Sequence)NoReturn) constants)_ArgumentsManager)_ArgumentsProvider)discover_package_path)augmented_sys_path)writer)DiadefsHandler)Linkerproject_from_files)check_graphviz_availability!check_if_graphviz_supports_formatinsert_default_options)Options)dotvcgpumlplantumlmmdhtml) aliceblue antiquewhite aquamarine burlywood cadetblue chartreuse chocolatecoralcornflowerbluecyan darkgoldenrod darkseagreen dodgerblue forestgreengoldhotpinkmediumspringgreenz filter-modefPUB_ONLYmodestringstorezafilter attributes and functions according to . Correct modes are : 'PUB_ONLY' filter all non public attributes [DEFAULT], equivalent to PRIVATE+SPECIAL_A 'ALL' no filter 'SPECIAL' filter Python special functions except constructor 'OTHER' filter protected and private attributes)shortdefaultdesttypeactionmetavarhelpclasscextendzcsvclasseszbcreate a class diagram with all classes related to ; this uses by default the options -ASmy)r/r3r4r2r1r0r5zshow-ancestorsaz intzAshow generations of ancestor classes not in )r/r3r4r2r0r5z all-ancestorsA store_truez0show all ancestors off all classes in )r/r0r3r5zshow-associatedszzGshow levels of associated classes not in zall-associatedSz:show recursively all associated off all associated classesz show-builtinbFz4include builtin objects in representation of classes)r/r3r0r5z module-namesmynzz0include module name in representation of classes)r/r0r2r4r5zonly-classnameskzMdon't show attributes and methods in the class boxes; this disables -f valuesoutputo output_formatrzzOcreate a *. output file if format is available. Available formats are: z, z{. Any other format will be tried to create by means of the 'dot' command line tool, which requires a graphviz installation.)r/r1r3r0r4r2r5 colorizedzKUse colored output. Classes/modules of the same package get the same color.)r1r3r0r5zmax-color-depthmax_color_depthzz2Use separate colors up to package depth of )r1r3r0r4r2r5z color-palette color_palettezz%Comma separated list of colors to useignorez ignore_listzIFiles or directories to be skipped. They should be base names, not paths.)r2r4r1r0r5projectpzzset the project name.)r0r2r/r4r5zoutput-directorypathdzzset the output directory path.)r0r2r/r3r4r5z source-rootsglob_paths_csvz[,...]zAdd paths to the list of the source roots. Supports globbing patterns. The source root is an absolute path or a path relative to the current working directory used to determine a package namespace for modules located under the source root.)r2r4r0r5rOPTIONSc*eZdZdZeZdZd dZd d Zd S)Runz=Base class providing common behaviour for pyreverse commands. pyreverseargs Sequence[str]returnrc*d|vrzRun.run.. s) R R Rc "3 (@ A A R R Rrk) project_name black_listT)tagNr)r_r5listr rrfrNrMr r get_diadefsr DiagramWriterwrite)rirYextra_packages_pathsrNlinkerhandlerdiadefss` rjrhzRun.runs:  $))++   1# R R R RT R R R   4 5 5 ; ;(![0;2G G...F$T[11G))'6::G ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; T[))//888qsA"B??CCN)rYrZr[r)rYrlr[r<) __name__ __module__ __qualname__rdrUoptionsnamercrhrTrkrjrWrWsLGGG D!!!!0rkrW__main__rn)(rd __future__rracollections.abcrtypingrpylintrpylint.config.arguments_managerr pylint.config.arguments_providerr pylint.lintr pylint.lint.utilsr pylint.pyreverser pylint.pyreverse.diadefslibr pylint.pyreverse.inspectorr rpylint.pyreverse.utilsrrr pylint.typingrrgDEFAULT_COLOR_PALETTEjoinDEFAULT_IGNORE_LISTrU__annotations__rWrargvrTrkrjrsS A@@"""""" $$$$$$======??????------000000######666666AAAAAAAA "!!!!!, !.  *  )   #W     "F    ,]     "P    "J    !F     "c    #!A $ *D E EAAA $ "a    % H     #,,;     )! 4_     '+     +4     $+_    k@@@@@F00000 /000f zC rk