
    >/i
                     ^    S r SSKrSSKrSSKJr  SSKJr  \R                  " \	5      r
SS jrg)a  
=============
XML Formatter
=============

This formatter outputs the issues as XML.

:Example:

.. code-block:: xml

    <?xml version='1.0' encoding='utf-8'?>
    <testsuite name="bandit" tests="1"><testcase
    classname="examples/yaml_load.py" name="blacklist_calls"><error
    message="Use of unsafe yaml load. Allows instantiation of arbitrary
    objects. Consider yaml.safe_load().&#10;" type="MEDIUM"
    more_info="https://bandit.readthedocs.io/en/latest/">Test ID: B301
    Severity: MEDIUM Confidence: HIGH
    CWE: CWE-20 (https://cwe.mitre.org/data/definitions/20.html) Use of unsafe
    yaml load.
    Allows instantiation of arbitrary objects. Consider yaml.safe_load().

    Location examples/yaml_load.py:5</error></testcase></testsuite>

.. versionadded:: 0.12.0

.. versionchanged:: 1.5.0
    New field `more_info` added to output

.. versionchanged:: 1.7.3
    New field `CWE` added to output

    N)ElementTree)
docs_utilsc           
      .   U R                  X#S9n[        R                  " SS[        [	        U5      5      S9nU H  nUR
                  n[        R                  " USUR                  US9n	Sn
U
UR                  UR                  UR                  UR                  UR                  UR                  UR                  4-  n
U
[        R                  " U	S[        R                  " UR                  5      UR                  UR                  S	9l        M     [        R                   " U5      nUR"                  [$        R&                  R"                  :X  a  [$        R&                  R(                  nO6UR*                  S
:X  a&  UR-                  5         [/        UR"                  S5      nU   UR1                  USSS9  SSS5        UR"                  [$        R&                  R"                  :w  a!  [2        R5                  SUR"                  5        gg! , (       d  f       NX= f)a  Prints issues in XML format

:param manager: the bandit manager object
:param fileobj: The output file object, which may be sys.stdout
:param sev_level: Filtering severity level
:param conf_level: Filtering confidence level
:param lines: Number of lines to report, -1 for all
)	sev_level
conf_level	testsuitebandit)nameteststestcase)	classnamer
   zATest ID: %s Severity: %s Confidence: %s
CWE: %s
%s
Location %s:%serror)	more_infotypemessagewwbzutf-8T)encodingxml_declarationNzXML output written to file: %s)get_issue_listETElementstrlentest
SubElementfnametest_idseverity
confidencecwetextlinenor   get_urlr   r
   sysstdoutbuffermodecloseopenwriteLOGinfo)managerfileobjr   r   linesissuesrootissuer   r   r"   trees               O/home/james-whalen/.local/lib/python3.13/site-packages/bandit/formatters/xml.pyreportr6   -   s    ##i#OF::kCK8HIDzz==*$

 	 	MMNNIIJJKKLL
 	
  	 ((7JJ	
 3 6 >>$D||szz&**##		w||T*	

7Wd
C 
 ||szz&17<<@ ' 
s   "H
H))__doc__loggingr%   	xml.etreer   r   bandit.corer   	getLogger__name__r,   r6        r5   <module>r@      s/    B  
 ' "!4Ar?   