zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
U
Þ=®d×3ã@sòddlmZddlZddlZddlZddlZddlZddlZddlZddl    Z
ddl m Z ddl mZddlmZdZd    Zed
ed Zed eZd ZdZd!dddœddddddœdd„ZGdd„dƒZGdd„dejƒZddddœdd „ZdS)"é)Ú annotationsN)Úescapeé)Úcached_propertyé)ÚConsoleaa<!doctype html>
<html lang=en>
  <head>
    <title>%(title)s // Werkzeug Debugger</title>
    <link rel="stylesheet" href="?__debugger__=yes&amp;cmd=resource&amp;f=style.css">
    <link rel="shortcut icon"
        href="?__debugger__=yes&amp;cmd=resource&amp;f=console.png">
    <script src="?__debugger__=yes&amp;cmd=resource&amp;f=debugger.js"></script>
    <script>
      var CONSOLE_MODE = %(console)s,
          EVALEX = %(evalex)s,
          EVALEX_TRUSTED = %(evalex_trusted)s,
          SECRET = "%(secret)s";
    </script>
  </head>
  <body style="background-color: #fff">
    <div class="debugger">
a¡      <div class="footer">
        Brought to you by <strong class="arthur">DON'T PANIC</strong>, your
        friendly Werkzeug powered traceback interpreter.
      </div>
    </div>
 
    <div class="pin-prompt">
      <div class="inner">
        <h3>Console Locked</h3>
        <p>
          The console is locked and needs to be unlocked by entering the PIN.
          You can find the PIN printed out on the standard output of your
          shell that runs the server.
        <form>
          <p>PIN:
            <input type=text name=pin size=14>
            <input type=submit name=btn value="Confirm Pin">
        </form>
      </div>
    </div>
  </body>
</html>
aß<h1>%(exception_type)s</h1>
<div class="detail">
  <p class="errormsg">%(exception)s</p>
</div>
<h2 class="traceback">Traceback <em>(most recent call last)</em></h2>
%(summary)s
<div class="plain">
    <p>
      This is the Copy/Paste friendly version of the traceback.
    </p>
    <textarea cols="50" rows="10" name="code" readonly>%(plaintext)s</textarea>
</div>
<div class="explanation">
  The debugger caught an exception in your WSGI application.  You can now
  look at the traceback which led to the error.  <span class="nojavascript">
  If you enable JavaScript you can also use additional features such as code
  execution (if the evalex feature is enabled), automatic pasting of the
  exceptions and much more.</span>
</div>
z
<!--
 
%(plaintext_cs)s
 
-->
a+<h1>Interactive Console</h1>
<div class="explanation">
In this console you can execute Python expressions in the context of the
application.  The initial namespace was created by the debugger automatically.
</div>
<div class="console"><div class="inner">The Console requires JavaScript.</div></div>
zU<div class="%(classes)s">
  %(title)s
  <ul>%(frames)s</ul>
  %(description)s
</div>
a<div class="frame" id="frame-%(id)d">
  <h4>File <cite class="filename">"%(filename)s"</cite>,
      line <em class="line">%(lineno)s</em>,
      in <code class="function">%(function_name)s</code></h4>
  <div class="source %(library)s">%(lines)s</div>
</div>
T©ÚskipÚhideÚ BaseExceptionú#traceback.TracebackException | NoneÚintÚboolztraceback.TracebackException©ÚexcÚter    r
ÚreturncCsî|dkrtjj|dd}t |j¡}ttddƒ}|dk    rP|dkrDd}t ||¡}|rnt ||d¡}|j    d|…=g}d}t
||j    ƒD]¾\\}}    }
|rö|j   dd¡} | dkr¼g}d}| dkröq‚n:| dkrÔd}| d    kröq‚n"| d
krìd }| d kröq‚n
| s‚|röq‚|
j |
j|
j|j |jd œ} t|
dƒr0|
j| d<|
j| d<| tf| Ž¡q‚|rŒ|dj  d¡} | dkrr|dj  d¡} | dkrŒ|d=nqŒqB||j    dd…<|jrÂt t|j¡}t||j|d|_|jrêt t|j¡}t||j|d|_|S)NF)Ú lookup_linesÚtracebacklimitrZ__traceback_hide__>ÚbeforeÚbefore_and_thisr>Úreset_and_thisÚresetr>ÚafterÚafter_and_thisTr)ÚfilenameÚlinenoÚnameÚlocalsÚglobalsÚcolnoÚ    end_colnoÚ__name__Zcodeop)r
)Ú    tracebackÚTracebackExceptionÚfrom_exceptionÚwalk_tbÚ __traceback__ÚgetattrÚsysÚ    itertoolsÚisliceÚstackÚzipÚf_localsÚgetrrrÚ    f_globalsÚhasattrr r!ÚappendÚDebugFrameSummaryÚ    global_nsÚlocal_nsÚ __context__ÚtÚcastr Ú_process_tracebackÚ    __cause__)rrr    r
Ú    frame_genÚlimitÚ    new_stackÚhiddenÚfÚ_ÚfsÚ
hide_valueZ
frame_argsÚmoduleZ context_excZ    cause_exc©rDúMd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\werkzeug/debug/tbtools.pyr9~sp    û 
 
 
 
r9c@s–eZdZdZd dddœdddd    d
d œd d „Zddœdd„Zeddœdd„ƒZeddœdd„ƒZddœdd„Z    d!d    ddœdd„Z
d    dd    ddœdd„Z dS)"ÚDebugTraceback)Ú_teZ_cache_all_tracebacksZ_cache_all_framesNrTrr r r rÚNonercCst||||d|_dS)Nr)r9rG)Úselfrrr    r
rDrDrEÚ__init__ßszDebugTraceback.__init__Ústr©rcCsdt|ƒj›d|j›dS)Nú<ú ú>)Útyper"rG©rIrDrDrEÚ__str__észDebugTraceback.__str__z5list[tuple[str | None, traceback.TracebackException]]cCsdg}|j}|dk    r`|jdk    r(d}|j}n$|jdk    rD|jsDd}|j}nd}d}| ||f¡|}q
|S)NzCThe above exception was the direct cause of the following exceptionzBDuring handling of the above exception, another exception occurred)rGr:r6Ú__suppress_context__r2)rIÚoutÚcurrentZ chained_msgZ chained_excrDrDrEÚall_tracebacksìs 
ÿÿzDebugTraceback.all_tracebackszlist[DebugFrameSummary]cCsdd„|jDƒS)NcSs g|]\}}|jD]}|‘qqSrD)r,)Ú.0r@rr?rDrDrEÚ
<listcomp> sz-DebugTraceback.all_frames.<locals>.<listcomp>)rVrQrDrDrEÚ
all_frames    sÿzDebugTraceback.all_framescCsd |j ¡¡S)NÚ)ÚjoinrGÚformatrQrDrDrEÚrender_traceback_textsz$DebugTraceback.render_traceback_text)Ú include_titlerc
CsNdd„|jDƒ}dt|ƒko*t|ƒkn}g}|s>d}n–d}t|jƒD]†\}}g}|dk    rr| d|›d¡|jD]H}    t t    |    ¡}    |    j
r dt |    j
ƒ›d    nd
}
| d |
›d |      |¡›¡qx| d   |¡¡qLt|jjtƒ} |rö| rðd} qúd} nd
} t d
  |j ¡¡ƒ} | r"d| ›d}n d| ›d}t|d| ›dd   |¡|dœS)NcSsg|]
}|j‘qSrD)Ú
is_library)rWr?rDrDrErXsz8DebugTraceback.render_traceback_html.<locals>.<listcomp>rztraceback noframe-tracebackr#z<li><div class="exc-divider">z:</div>z title="ú"rZz<lirOÚ
z Syntax Errorz+Traceback <em>(most recent call last)</em>:z<pre class=syntaxerror>ú</pre>z <blockquote>z </blockquote>z<h3>z</h3>)ÚclassesÚtitleÚframesÚ description)rYÚsumÚlenÚreversedrVr2r,r7r8r3ÚinforÚ render_htmlr[Ú
issubclassrGÚexc_typeÚ SyntaxErrorÚformat_exception_onlyÚ SUMMARY_HTML)rIr^Zlibrary_framesÚ mark_libraryÚrowsrcÚmsgrUZ    row_partsÚframerjZis_syntax_errorrdZexc_fullrfrDrDrEÚrender_traceback_htmls> 
 
üz$DebugTraceback.render_traceback_html)ÚevalexÚsecretÚevalex_trustedrcCs~t|j ¡ƒ}d |j ¡¡}t|r(dnd|r2dnddt|dƒtd |¡ƒt|jjjƒ|j    ddt|ƒt
  dd|¡|d    œ
S)
NrZÚtrueÚfalserF)r^z-{2,}ú-)
rvrxÚconsolerdÚ    exceptionZexception_typeÚsummaryÚ    plaintextZ plaintext_csrw) ÚlistrGror[r\Ú    PAGE_HTMLrrmr"ruÚreÚsub)rIrvrwrxZ    exc_linesrrDrDrEÚrender_debugger_htmlAs
 
 
 
 öz#DebugTraceback.render_debugger_html)N)T) r"Ú
__module__Ú __qualname__Ú    __slots__rJrRrrVrYr]rur„rDrDrDrErFÜsýú
/rFcs†eZdZdZdZdddddœ‡fdd„ Zed    d
œd d „ƒZed d
œdd„ƒZedd
œdd„ƒZ    dddœdd„Z
d ddœdd„Z ‡Z S)r3z[A :class:`traceback.FrameSummary` that can evaluate code in the
    frame's namespace.
    )r5r4Z _cache_infoZ_cache_is_libraryZ_cache_consolezdict[str, t.Any]zt.AnyrH)rrÚkwargsrc s&tƒjfddi|—Ž||_||_dS)Nr)ÚsuperrJr5r4)rIrrrˆ©Ú    __class__rDrErJaszDebugFrameSummary.__init__z
str | NonerLcCs |j d¡S)NZ__traceback_info__)r5r/rQrDrDrErjlszDebugFrameSummary.inforcst‡fdd„t ¡ ¡DƒƒS)Nc3s&|]}ˆj |tj |¡f¡VqdS©N)rÚ
startswithÚosÚpathÚrealpath)rWrrQrDrEÚ    <genexpr>rsÿz/DebugFrameSummary.is_library.<locals>.<genexpr>)ÚanyÚ    sysconfigÚ    get_pathsÚvaluesrQrDrQrEr_ps 
þzDebugFrameSummary.is_libraryrcCst|j|jƒSrŒ)rr4r5rQrDrDrEr|wszDebugFrameSummary.consolerK)ÚcodercCs |j |¡SrŒ)r|Úeval)rIr–rDrDrEr—{szDebugFrameSummary.eval)rqrc    säd}t ˆj¡}ˆjd}td||ƒ}tt|ƒ||dƒ}g‰ddddœ‡‡fdd„ }|r¨|||…D]}||d    ƒqj|||d
ƒ||d|…D]}||d ƒq˜ttˆƒt    ˆjƒˆjt    ˆj
ƒd   ˆ¡|rڈj rÚd nddœS)NérrrKrH)ÚlineÚclsrc
s¸| ¡ ¡}| ¡}t|ƒt|ƒ}tˆddƒ}tˆddƒ}|dkrv|rv|rvdd|›dd||›d||›}nd    }ˆ d
|›d d|›d|rœt|ƒnd›|r¨|nd    ›d ¡dS) Nr rr!rUz
<span class="ws">rNz</span>ú^rZz<pre class="line z"><span class="ws">rb)Ú
expandtabsÚrstripÚstriprhr(r2r)r™ršZ stripped_lineÚprefixr r!Zarrow©Zrendered_linesrIrDrEÚ render_line†s   &ÿ2ÿz2DebugFrameSummary.render_html.<locals>.render_linerrUrraÚlibraryrZ)ÚidrrZ function_nameÚlinesr¢) Ú    linecacheÚgetlinesrrÚmaxÚminrhÚ
FRAME_HTMLr£rrr[r_)    rIrqÚcontextr¤Zline_idxZ    start_idxZstop_idxr¡r™rDr rErk~s* 
  úzDebugFrameSummary.render_html) r"r…r†Ú__doc__r‡rJrrjr_r|r—rkÚ __classcell__rDrDrŠrEr3Ts r3rK)rwrxrcCstd|r dnddd|dœS)Nryrzr)rvrxr|rdrw)Ú CONSOLE_HTML)rwrxrDrDrEÚrender_console_html®s
ûr®)N)Ú
__future__rr*r¥rŽr‚r)r“r#Útypingr7Z
markupsaferÚutilsrr|rÚHEADERZFOOTERrr­rpr©r9rFÚ FrameSummaryr3r®rDrDrDrEÚ<module>sJ    ÿêéÿ"ÿ    ÷ÿ  þû^xZ