gh]dZdZddlZddlmZddlZddlmZmZm Z m Z ddl m Z ddl mZddl mZdd lmZdd lmZd ZGd d eZGddeZGddeZGddeZdS)z Directives for table elements. reStructuredTextN)Path)ionodes statemachineutils)SystemMessagePropagation) Directive) directives)urlopen)URLErrorc,tj|dS)N)leftcenterright)r choice)arguments /builddir/build/BUILD/imunify360-venv-2.6.0/opt/imunify360/venv/lib/python3.11/site-packages/docutils/parsers/rst/directives/tables.pyalignrs  X'B C CCceZdZdZdZdZejeje ej ej dej dZ dZdZdZdZd Zed Zd Zd Zd S)Tablez# Generic table base class. T)autogrid)classnamerwidthwidthsc|jrp|jd}|j||j\}}t j|dg|R}|j|j\|_|_ nd}g}||fS)Nr) argumentsstate inline_textlinenortitle state_machineget_source_and_linesourceline)self title_text text_nodesmessagesr&s r make_titlezTable.make_title,s > *J#':#9#9*:>+$G$G JK B<<<)))VVV-M'II,&&/u555JJ  2-61JJM''(M#DOT_EE[(""E+511 1rc |D]G}|D]B}t||kr-|dddgfg|t|z zCHdS)Nr)rDr<)r+columnspartspartrKs r"extend_short_rows_with_empty_cellsz(Table.extend_short_rows_with_empty_cellsst G GD G Gs88g%%JJAq" 'CHH2DEFFF G G GrN)__name__ __module__ __qualname____doc__optional_argumentsfinal_argument_whitespacer class_option unchangedr length_or_percentage_or_unitlessvalue_orpositive_int_list option_spec has_contentr/rArLrQpropertyrr[r`rrrrs $&3%/!&G0Z01A1;1MOO PPK K   +++& 6 6 6D<<<..X.&GGGGGrrceZdZdZdZdS)RSTTablez Class for the `"table" directive`__ for formal tables using rST syntax. __ https://docutils.sourceforge.io/docs/ref/rst/directives.html c|jsJ|jd|jzt j|j|j|j}|gS|\}}t j }|j |j|j |t|dks t|dtjsJ|jd|jzt j|j|j|j}|gS|d}|dxx|jdgz cc<||d|jvr|jd|d<t|jt*rv|d} ||d }n%#t.$r} | jdgcYd} ~ Sd} ~ wwxYwd |jD} t5| |D] \} } | | d < |jd kr|dxxd gz cc<n|jr|dxxdgz cc<|||r|d||g|zS)Nz:Content block expected for the "%s" directive; none found.rCrrzOError parsing content block for the "%s" directive: exactly one table expected.classesrrcolsc(g|]}|jdk |S)colspec)tagname).0childs r z RSTTable.run..s.777% =I55555rcolwidthrcolwidths-autocolwidths-given)contentrEwarningrrrGrHr%r/Elementr# nested_parsecontent_offsetrDrWtablerFr5rOrQrrXr[r argschildrenzipadd_nameinsert) r+rr&r.noderFrPtgrouprZdetailcolspecsrv col_widths rrunz RSTTable.runs| m++-68< -B#DOT_EE[,""G9 //++x}  d.A4HHH t99>>DGU[!A!A>M'')>@D )J#DOT_EE[(""E7N!W 9!1!1'2!>!>> Z((( dl " ""&,"2"27";";Jw  dk4 ( ( 0]F (!33F6NCC + ( ( ( A''''''' (776?777H&)(J&?&? 0 0"&/ ## ;& y ! ! !&6%7 7 ! ! ! ! [ 9 y ! ! !&7%8 8 ! ! ! j!!!  (   a ' ' '|h&&s.G G, G'!G,'G,N)rarbrcrdrrorrrqrqs- &'&'&'&'&'rrqc|eZdZejejejejejdejej ej ej ej eje ejejejejdZGddejZGddejZedZdZd Zed Zed Zd Zd S)CSVTabler) header-rows stub-columnsr1rrfileurlencodingrrrdelim keepspacequoteescapecHeZdZdZdZdZdZdZdZdZ e j Z fdZ xZS)CSVTable.DocutilsDialectz&CSV dialect for `csv_table` directive.,rTTr3cd|vr |d|_d|vrd|_d|vr |d|_d|vrd|_|d|_t dS)NrrFrr) delimiterskipinitialspace quotechar doublequote escapecharsuper__init__)r+r5 __class__s rrz!CSVTable.DocutilsDialect.__init__s'!!!(!1g%%(-%'!!!(!17""#( ")("3 GG       r)rarbrcrdrrrrstrictlineterminatorcsv QUOTE_MINIMALquotingr __classcell__rs@rDocutilsDialectrse44   #         rrcLeZdZdZdZdZdZdZdZdZ dZ e j Z fdZxZS) CSVTable.HeaderDialectzw CSV dialect used for the "header" option data. Deprecated. Will be removed in Docutils 0.22. rrT\FTr3ctjdtdtdS)Nz8CSVTable.HeaderDialect will be removed in Docutils 0.22. stacklevel)r6warnPendingDeprecationWarningrr)r+rs rrzCSVTable.HeaderDialect.__init__ sH M.3 C C C C GG       r)rarbrcrdrrrrrrrrrrrrrs@rr9rsp  &    #         rr9c>tjdtddS)NzaCSVTable.check_requirements() is not required with Python 3 and will be removed in Docutils 0.22.rrr6rDeprecationWarningrorrcheck_requirementszCSVTable.check_requirementss1 ?)Q 8 8 8 8 8 8rc |jjjjs\d|jvs d|jvrJ|jd|jztj |j |j |j }|gS| \}}| \}}|\}}||||j|\}} t#| |} |jdd} |jdd} ||| | ||d| || d} || } || || fn#t.$r}|jdgcYd}~Sd}~wt2j$rf}t7|}|jd|jd |tj |j |j |j }|gcYd}~Sd}~wwxYw| || f}|j||j| |j }|d xx|jd gz cc<d |jvr|jd |d <| ||!||r|"d||g|zS)Nrrz9File and URL access deactivated; ignoring "%s" directive.rCrrrzError with CSV data in "z " directive: )rrsrr)#r#documentsettingsfile_insertion_enabledr5rErrrrGrHr%r/ get_csv_datarAr:rmaxrOrLr<r[r`r rrErrorstrrF build_tablerrrQrr)r+rr&r.csv_datar)r=r>r@max_colsrIrJ table_bodyrZrmessagerFrrPs rrz CSVTable.runsP J'0G !t|++---//1<>Bi1H'II0&& y "oo//OE8#0022 Hf*.*D*D*F*F 'J!::$..t|<>L  ' 'k< H H H   d!>> dl " ""&,"2"27";";Jw  Z((( j!!!  (   a ' ' '|h&&s8A1F4D(F H2' F:4H2:H2 AH-'H2-H2c |jd|jjjj}|jjjj}|jrd|jvs d|jvrV|j d|j ztj |j |j |j}t||jd}|j}n d|jvr|d|jvrV|j d|j ztj |j |j |j}t||jd}t#|jjjj}t)jd||z } t-j||| }|}|jjjj|n#t8$r_}|jd |j d |d tj |j |j |j}t|d}~wwxYwd|jvr$|jd} t=|5} | } dddn #1swxYwYn#t>t8t@f$rm}|jd |j d |jdd|d tj |j |j |j}t|d}~wwxYwt-j!| |||jjjj}|}nV|j"d|j ztj |j |j |j}t|||fS)zr Get CSV data from the directive content, from an external file, or from a URL reference. rrrzF"%s" directive may not both specify an external file and have content.rCrzXThe "file" and "url" options may not be simultaneously specified for the "%s" directive.N) source_pathr error_handlerzProblems with "z" directive path: .z" directive URL "z": )r)rrrz3The "%s" directive requires content; none supplied.)#r5rOr#rrinput_encodinginput_encoding_error_handlerr~rErFrrrGrHr%r r)rcurrent_sourceparentr relative_pathr FileInputread splitlinesrecord_dependenciesaddOSErrorseverer r ValueError StringInputr) r+rrrFr)r_basecsv_filerresponsecsv_texts rrzCSVTable.get_csv_dataFs& <##  +4CEE +4Q << 2%%$,)>)> ++-ACG9-M'II,&&/u555\((++F|HH t| # # $$ ++-.04 -:'II ,&& /u555\&)F,;<<CE(uV|<>>H }}1133HHM))E)#DOT_EE[ *""E +511 1sV =G22 Itjdtd|S)NzgCSVTable.decode_from_csv() is not required with Python 3 and will be removed in Docutils 0.21 or later.rrrss rdecode_from_csvzCSVTable.decode_from_csv/ D% 4 4 4 4rc>tjdtd|S)NzgCSVTable.encode_from_csv() is not required with Python 3 and will be removed in Docutils 0.21 or later.rrrrs rencode_for_csvzCSVTable.encode_for_csvrrc Ptjd|D|}g}d}|D]|}g}|D]C} dddtj| |f} || D||t |t|}}||fS)Nc3 K|] }|dzV dS)r3Nro)rxr*s r z4CSVTable.parse_csv_data_into_rows..s& B B B B B B B Br)dialectr)r))rreaderr StringListrappendrrD) r+rrr) csv_readerr@rrKrow_datacell cell_datas rr:z!CSVTable.parse_csv_data_into_rowssZ B B B B B(/111  / /CH + +1l&=OO%%f'6'6'67  **** KK ! ! !8SXX..HHX~rN)rarbrcr nonnegative_intrhrirjrkpathurirrgr$single_char_or_whitespace_or_unicodeflagsingle_char_or_unicoderlrDialectrr9 staticmethodrrrrrr:rorrrrsh","<#-#='1&G0Z01;1MOO%?$.)2&3%/!&K *&='>'@@K*#+0!!!!! !!!F88\8 +'+'+'ZE E E N\\     rrceZdZdZejejejejdejej ej e dZ dZ dZdZdS) ListTablez Implement tables whose data is encoded as a uniform two-level bullet list. For further ideas, see https://docutils.sourceforge.io/docs/dev/rst/alternatives.html#list-driven-tables r)rrrrrrrc|jsJ|jd|jzt j|j|j|j}|gS|\}}t j }|j |j|j | | |\}}d|dD}|jdd}|jdd} |||| n%#t"$r} | jdgcYd} ~ Sd} ~ wwxYw||||| } d|jvr|jd| d<| dxx|jd gz cc<|| || |r| d|| g|zS) Nz.The "%s" directive is empty; content required.rCc2g|]}d|dDS)cg|] }|j Sro)r)rxitems rrzz,ListTable.run...sAAAT4=AAArrro)rxrow_lists rrzz!ListTable.run..s;333&BAXa[AAA333rrrrrrsr)r~rErFrrrGrHr%r/rr#rrcheck_list_contentr5rOrLr rbuild_table_from_listrQrr) r+rFr&r.rnum_colsrZ table_datarIrJrrPs rrz ListTable.runs!| M'')$&*i)0#DOT_EE[(""E7N//++x}  d.A4HHH $#'#:#:4#@#@ Hj33*.q'333J,**=!<>L  ' ' K N N N N' $ $ $KN# # # # # # # $// J0;\KK dl " ""&,"2"27";";Jw 9!1!1'2!>!>> Z((( j!!!  (   a ' ' '|h&&s#A7D D=% D82D=8D=c t|dks t|dtjsV|jd|jztj|j|j|j }t||d}d}tt|D]C}||}t|dks t|dtjs]|jd|jd|dzdtj|j|j|j }t||rt|d|krv|jd|jd|dzd t|dd |d tj|j|j|j }t|.t|d}E| |}||fS) NrrzUError parsing content block for the "%s" directive: exactly one bullet list expected.rCz%Error parsing content block for the "z5" directive: two-level bullet list expected, but row z- does not contain a second-level bullet list.z=" directive: uniform two-level bullet list expected, but row z5 does not contain the same number of items as row 1 (z vs rU) rDrWr bullet_listrErFrrGrHr%r ranger[)r+rrF list_noder item_indexrrZs rrzListTable.check_list_contents t99>>DGU5F!G!G>M''46:i@#DOT_EE[ (""E +511 1G I// ( (JZ(D4yyA~~ZQ9J%K%K~ +++yyy*q...2'II ,&&/u555 (tAw<<8++ M///  999j1nnnc$q'llllHHH N +DOT_MM![0**E35999,tAw<<++H55 ##rctj}|jdkr|dxxdgz cc<n|jr|dxxdgz cc<tjt |}||z }|D]7}tj}| ||jd<|rd|jd<|dz}||z }8g} |D]L} tj} | D]} tj} | | z } | | z } | | M|r5tj }| | d|||z }tj }| | |d||z }|S) Nrrsr|r})rtr{rstub) rrrrrDrv attributesrKentryrtheadr<tbody)r+rrZrIrJrrrrvr@rKrow_noderr r rs rrzListTable.build_table_from_lists  ;& )   !1 2 2     [ 4 )   !2 3 3   3z??333 #  ImooG$1:":. "-."6*! g FF " "Cy{{H " "  E! KK ! ! ! !  KMME LLl{l+ , , , eOF  T+,,'(((% rN)rarbrcrdr rrirjrkrgrhrrlrrrrorrrrs #-"<#-#=&G0Z01;1MOO&3%/!##K'''<$$$$$$L     rr)rd __docformat__rpathlibrr6docutilsrrrrdocutils.utilsr docutils.parsers.rstr r urllib.requestr urllib.errorr rrrqrrrorrrs #  333333333333333333******++++++""""""!!!!!!DDDqGqGqGqGqGIqGqGqGh-'-'-'-'-'u-'-'-'`jjjjjujjjZuuuuuuuuuur