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

This formatter outputs the issues in a yaml format.

:Example:

.. code-block:: none

    errors: []
    generated_at: '2017-03-09T22:29:30Z'
    metrics:
      _totals:
        CONFIDENCE.HIGH: 1
        CONFIDENCE.LOW: 0
        CONFIDENCE.MEDIUM: 0
        CONFIDENCE.UNDEFINED: 0
        SEVERITY.HIGH: 0
        SEVERITY.LOW: 0
        SEVERITY.MEDIUM: 1
        SEVERITY.UNDEFINED: 0
        loc: 9
        nosec: 0
      examples/yaml_load.py:
        CONFIDENCE.HIGH: 1
        CONFIDENCE.LOW: 0
        CONFIDENCE.MEDIUM: 0
        CONFIDENCE.UNDEFINED: 0
        SEVERITY.HIGH: 0
        SEVERITY.LOW: 0
        SEVERITY.MEDIUM: 1
        SEVERITY.UNDEFINED: 0
        loc: 9
        nosec: 0
    results:
    - code: '5     ystr = yaml.dump({''a'' : 1, ''b'' : 2, ''c'' : 3})\n
             6     y = yaml.load(ystr)\n7     yaml.dump(y)\n'
      filename: examples/yaml_load.py
      issue_confidence: HIGH
      issue_severity: MEDIUM
      issue_text: Use of unsafe yaml load. Allows instantiation of arbitrary
                  objects.
        Consider yaml.safe_load().
      line_number: 6
      line_range:
      - 6
      more_info: https://bandit.readthedocs.io/en/latest/
      test_id: B506
      test_name: yaml_load

.. versionadded:: 1.5.0

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

    N)
docs_utilsc                    / / S.nU R                  5        H  u  pgUS   R                  XgS.5        M     U R                  X#S9nU V	s/ s H  oR                  US9PM     n
n	U
 H  n[        R
                  " US   5      US'   M!     [        R                  nU R                  S:X  a  [        X" S	5      S
9US'   O[        X" S5      S
9US'   U R                  R                  US'   US    H$  nSU;   d  M  US   R                  SS5      nXS'   M&     Sn[        R                  R                  [        R                  R                   5      R#                  U5      nUUS'   [$        R&                  " XQSS9  UR(                  [*        R,                  R(                  :w  a!  [.        R1                  SUR(                  5        ggs  sn	f )a  Prints issues in YAML 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
)resultserrorsr   )filenamereason)	sev_level
conf_level)	max_linestest_id	more_infovuln	test_name)keyr   r   metricscode
z\nz%Y-%m-%dT%H:%M:%SZgenerated_atF)default_flow_stylezYAML output written to file: %sN)get_skippedappendget_issue_listas_dictr   get_urloperator
itemgetteragg_typesortedr   datareplacedatetimenowtimezoneutcstrftimeyaml	safe_dumpnamesysstdoutLOGinfo)managerfileobjr	   r
   linesmachine_outputfnamer   r   r	collectorelemr   resultr   	TS_FORMATtime_strings                    P/home/james-whalen/.local/lib/python3.13/site-packages/bandit/formatters/yaml.pyreportr9   L   s    "$r2N ,,.x ''U(MN / $$ % G 6==WU+WI=&..tI?[  $$J6!$*:k2%
y! %+:j1%
y! !( 4 4N9 +V&>))$6D!6N , %I##''(9(9(=(=>GGK &1N>"NN>uE||szz&2GLLA '? >s   F>))__doc__r!   loggingr   r)   r&   bandit.corer   	getLogger__name__r+   r9        r8   <module>rB      s5   9x    
  "!2BrA   