Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/django/utils/__pycache__/datastructures.cpython-312.pyc

142 lines
17 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
j<> i(<00><00><><00>ddlZddlmZGd<03>d<04>ZGd<05>de<04>ZGd<07>de<06>ZGd <09>d
e<08>Z Gd <0B>d e<06>Z
Gd <0A>de<02>Z y)<0F>N)<01>Mappingc<00>N<00>eZdZdZd d<03>Zd<04>Zd<05>Zd<06>Zd<07>Zd<08>Z d <09>Z
d
<EFBFBD>Z d <0B>Z d <0C>Z y)<0E>
OrderedSetz?
A set which keeps the ordering of the inserted items.
Nc<00>@<00>tj|xsd<01>|_y)N<>)<02>dict<63>fromkeys)<02>self<6C>iterables <20>JE:\Project\pygoedge\.venv\Lib\site-packages\django/utils/datastructures.py<70>__init__zOrderedSet.__init__
s<00><00><18>M<EFBFBD>M<EFBFBD>(<28>.<2E>b<EFBFBD>1<><04> <09>c<00>"<00>d|j|<y<00>N<>r<00>r
<00>items r <00>addzOrderedSet.add s<00><00><1E><04> <09> <09>$<24>rc<00><00>|j|=yrrrs r <00>removezOrderedSet.removes <00><00> <10>I<EFBFBD>I<EFBFBD>d<EFBFBD>Orc<00>F<00> |j|<01>y#t$rYywxYwr)r<00>KeyErrorrs r <00>discardzOrderedSet.discards%<00><00> <11> <10>K<EFBFBD>K<EFBFBD><04> <1D><><17> <11> <10> <11>s <00><00> <03> c<00>,<00>t|j<00>Sr)<02>iterr<00>r
s r <00>__iter__zOrderedSet.__iter__<00><00><00><13>D<EFBFBD>I<EFBFBD>I<EFBFBD><EFBFBD>rc<00>,<00>t|j<00>Sr)<02>reversedrrs r <00> __reversed__zOrderedSet.__reversed__s<00><00><17><04> <09> <09>"<22>"rc<00><00>||jvSrrrs r <00> __contains__zOrderedSet.__contains__s<00><00><13>t<EFBFBD>y<EFBFBD>y<EFBFBD> <20> rc<00>,<00>t|j<00>Sr)<02>boolrrs r <00>__bool__zOrderedSet.__bool__"rrc<00>,<00>t|j<00>Sr)<02>lenrrs r <00>__len__zOrderedSet.__len__%s<00><00><12>4<EFBFBD>9<EFBFBD>9<EFBFBD>~<7E>rc<00><><00>|jrtt|j<00><00>nd}|jj<00>d|<01>d<03>S)N<><00>(<28>))r<00>repr<70>list<73> __class__<5F> __qualname__)r
<00>datas r <00>__repr__zOrderedSet.__repr__(s:<00><00>(,<2C> <09> <09>t<EFBFBD>D<EFBFBD><14><19><19>O<EFBFBD>$<24>r<EFBFBD><04><16>.<2E>.<2E>-<2D>-<2D>.<2E>a<EFBFBD><04>v<EFBFBD>Q<EFBFBD>7<>7rr)<0E>__name__<5F>
__module__r1<00>__doc__r rrrrr!r#r&r)r3rrr rrs9<00><00><08>2<><1F><1C><11> <1F>#<23>!<21><1F><1E>8rrc<00> <00>eZdZy)<02>MultiValueDictKeyErrorN)r4r5r1rrr r8r8-s<00><00>rr8c<00><><00><00>eZdZdZd<17>fd<02> Z<04>fd<03>Z<05>fd<04>Z<06>fd<05>Zd<06>Zd<07>Z d<08>Z
d <09>Z dd
<EFBFBD>Z d<19>fd <0B> Z dd <0C>Z<0E>fd <0A>Zdd<0E>Zdd<0F>Zd<10>Zd<11>Z<13>fd<12>Zd<13>Zd<14>Zd<15>Zd<16>Z<18>xZS)<1A>MultiValueDicta<74>
A subclass of dictionary customized to handle multiple values for the
same key.
>>> d = MultiValueDict({'name': ['Adrian', 'Simon'], 'position': ['Developer']})
>>> d['name']
'Simon'
>>> d.getlist('name')
['Adrian', 'Simon']
>>> d.getlist('doesnotexist')
[]
>>> d.getlist('doesnotexist', ['Adrian', 'Simon'])
['Adrian', 'Simon']
>>> d.get('lastname', 'nonexistent')
'nonexistent'
>>> d.setlist('lastname', ['Holovaty', 'Willison'])
This class exists to solve the irritating problem raised by cgi.parse_qs,
which returns a list for every key, even though most web forms submit
single name-value pairs.
c<00>$<00><01>t<00>|<00>|<01>yr)<02>superr )r
<00>key_to_list_mappingr0s <20>r r zMultiValueDict.__init__Hs<00><><00> <0A><07><18>,<2C>-rc<00>V<00><01>d|jj<00>dt<00>|<00> <00><00>d<03>S)N<><z: <20>>)r0r4r<r3<00>r
r0s <20>r r3zMultiValueDict.__repr__Ks <00><><00>!<21>^<5E>^<5E>4<>4<>e<EFBFBD>g<EFBFBD>6F<36>6H<36>I<>Irc<00><><00><01> t<00>|<00>|<01>} |dS#t$r t|<01><00>wxYw#t$rgcYSwxYw)z|
Return the last data value for this key, or [] if it's an empty list;
raise KeyError if not found.
<20><><EFBFBD><EFBFBD><EFBFBD>)r<<00> __getitem__rr8<00>
IndexError<EFBFBD>r
<00>key<65>list_r0s <20>r rDzMultiValueDict.__getitem__NsW<00><><00>
 .<2E><19>G<EFBFBD>'<27><03>,<2C>E<EFBFBD> <16><18><12>9<EFBFBD> <1C><><18> .<2E>(<28><13>-<2D> -<2D> .<2E><><1A> <16><15>I<EFBFBD> <16>s<00><00>0<00>-<03> ><03>>c<00>(<00><01>t<00>|<00>||g<01>yr<00>r<<00> __setitem__)r
rG<00>valuer0s <20>r rKzMultiValueDict.__setitem__\s<00><><00> <0A><07><1B>C<EFBFBD>%<25><17>)rc
<00>|<00>|j|j<00>D<00><01>cgc] \}}||ddf<02><02>c}}<01>Scc}}wr)r0<00>lists)r
<00>k<>vs r <00>__copy__zMultiValueDict.__copy___s5<00><00><13>~<7E>~<7E>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>\<5C>B<>\<5C>T<EFBFBD>Q<EFBFBD><01><01>1<EFBFBD>Q<EFBFBD>4<EFBFBD>y<EFBFBD>\<5C>B<>C<>C<><43>Bs<00>8
c <00><><00>|j<00>}||t|<00><tj|<00>D]D\}}tj |t j ||<01>t j ||<01><00><00>F|Sr)r0<00>idr<00>itemsrK<00>copy<70>deepcopy)r
<00>memo<6D>resultrGrLs r <00> __deepcopy__zMultiValueDict.__deepcopy__bsd<00><00><15><1E><1E>!<21><06><1F><04>R<EFBFBD><04>X<EFBFBD><0E><1E>*<2A>*<2A>T<EFBFBD>*<2A>J<EFBFBD>C<EFBFBD><15> <10> <1C> <1C><16><04> <0A> <0A>c<EFBFBD>4<EFBFBD>0<>$<24>-<2D>-<2D><05>t<EFBFBD>2L<32> <0E>+<2B><16> rc <00>l<00>i|j<00>d|D<00>cic]}||j|<01><00><02>c}i<01>Scc}w<00>N<>_data)<02>__dict__<5F>_getlist)r
rOs r <00> __getstate__zMultiValueDict.__getstate__ks8<00><00>N<>$<24>-<2D>-<2D>N<><17><04>*M<><04>1<EFBFBD>1<EFBFBD>d<EFBFBD>m<EFBFBD>m<EFBFBD>A<EFBFBD>.><3E>+><3E><04>*M<>N<>N<><4E>*Ms<00>1c<00><><00>|jdi<00>}|j<00>D]\}}|j||<04><00>|jj |<01>yr[)<05>poprT<00>setlistr]<00>update)r
<00>obj_dictr2rOrPs r <00> __setstate__zMultiValueDict.__setstate__nsF<00><00><17>|<7C>|<7C>G<EFBFBD>R<EFBFBD>(<28><04><18>J<EFBFBD>J<EFBFBD>L<EFBFBD>D<EFBFBD>A<EFBFBD>q<EFBFBD> <10>L<EFBFBD>L<EFBFBD><11>A<EFBFBD> <1E>!<21> <0C> <0A> <0A><1C><1C>X<EFBFBD>&rc<00>B<00> ||}|gk(r|S|S#t$r|cYSwxYw)z<>
Return the last data value for the passed key. If key doesn't exist
or value is an empty list, return `default`.
)r)r
rG<00>default<6C>vals r <00>getzMultiValueDict.getts9<00><00>
 <1B><16>s<EFBFBD>)<29>C<EFBFBD> <0F>"<22>9<EFBFBD><1A>N<EFBFBD><12>
<EFBFBD><EFBFBD> <18> <1B><1A>N<EFBFBD> <1B>s <00><00> <03>c<00>x<00><01> t<00>|<00>|<01>}|r|<04> t|<04>nd}|S#t$r |<02>gcYS|cYSwxYw)z<>
Return a list of values for the key.
Used internally to manipulate values list. If force_list is True,
return a new copy of values.
N)r<rDr/r)r
rGrg<00>
force_list<EFBFBD>valuesr0s <20>r r^zMultiValueDict._getlist<73>sQ<00><><00> <1A><1A>W<EFBFBD>(<28><13>-<2D>F<EFBFBD> <1A>)/<2F>);<3B><14>f<EFBFBD><1C><14><06><19>M<EFBFBD><4D><18> <1B><16><EFBFBD><19> <09><1A>N<EFBFBD> <1B>s<00>%<00> 9<03>9<03>9c<00>*<00>|j||d<01><02>S)zn
Return the list of values for the key. If key doesn't exist, return a
default value.
T)rk)r^<00>r
rGrgs r <00>getlistzMultiValueDict.getlist<73>s<00><00>
<14>}<7D>}<7D>S<EFBFBD>'<27>d<EFBFBD>}<7D>;<3B>;rc<00>&<00><01>t<00>|<00>||<02>yrrJrFs <20>r rbzMultiValueDict.setlist<73>s<00><><00> <0A><07><1B>C<EFBFBD><15>'rc<00><00>||vr|||<||Srrrns r <00>
setdefaultzMultiValueDict.setdefault<6C>s<00><00> <0E>d<EFBFBD>?<3F><1F>D<EFBFBD><13>I<EFBFBD><14>C<EFBFBD>y<EFBFBD>rc<00>X<00>||vr|<02>g}|j||<02>|j|<01>Sr)rbr^)r
rG<00> default_lists r <00>setlistdefaultzMultiValueDict.setlistdefault<6C>s3<00><00> <0E>d<EFBFBD>?<3F><1B>#<23>!<21> <0C> <10>L<EFBFBD>L<EFBFBD><13>l<EFBFBD> +<2B><14>}<7D>}<7D>S<EFBFBD>!<21>!rc<00>D<00>|j|<01>j|<02>y)z8Append an item to the internal list associated with key.N)ru<00>append<6E>r
rGrLs r <00>
appendlistzMultiValueDict.appendlist<73>s<00><00> <0C><1B><1B>C<EFBFBD> <20>'<27>'<27><05>.rc#<00>,K<00>|D] }|||f<02><01><00> y<01>w)zu
Yield (key, value) pairs, where value is the last item in the list
associated with the key.
Nr<00>r
rGs r rTzMultiValueDict.items<6D>s <00><00><><00>
<18>C<EFBFBD><15>t<EFBFBD>C<EFBFBD>y<EFBFBD>.<2E> <20><18>s<00>c<00>2<00><01>tt<00>|<00> <00><00>S)zYield (key, list) pairs.)rr<rTrAs <20>r rNzMultiValueDict.lists<74>s<00><><00><13>E<EFBFBD>G<EFBFBD>M<EFBFBD>O<EFBFBD>$<24>$rc#<00>(K<00>|D] }||<00><01><00> y<01>w)z'Yield the last value on every key list.Nrr{s r rlzMultiValueDict.values<65>s<00><00><><00><17>C<EFBFBD><16>s<EFBFBD>)<29>O<EFBFBD><18>s<00>c<00>,<00>tj|<00>S)z%Return a shallow copy of this object.)rUrs r rUzMultiValueDict.copy<70>s<00><00><13>y<EFBFBD>y<EFBFBD><14><EFBFBD>rc<00><><00>t|<01>dkDrtdt|<01>z<00><00>|r<>|d}t|t<00>r9|j <00>D]%\}}|j |<04>j |<05><00>'nJt|t<00>r|j<00>}|D]%\}}|j |<04>j|<06><00>'|j<00>D]%\}}|j |<04>j|<06><00>'y)z.Extend rather than replace existing key lists.<2E>z*update expected at most 1 argument, got %drN)
r(<00> TypeError<6F>
isinstancer:rNru<00>extendrrTrw)r
<00>args<67>kwargs<67>argrG<00>
value_listrLs r rczMultiValueDict.update<74>s<><00><00> <0E>t<EFBFBD>9<EFBFBD>q<EFBFBD>=<3D><1B>H<>3<EFBFBD>t<EFBFBD>9<EFBFBD>T<>U<> U<> <0F><16>q<EFBFBD>'<27>C<EFBFBD><19>#<23>~<7E>.<2E>'*<2A>y<EFBFBD>y<EFBFBD>{<7B>O<EFBFBD>C<EFBFBD><1A><18>'<27>'<27><03>,<2C>3<>3<>J<EFBFBD>?<3F>(3<><1E>c<EFBFBD>7<EFBFBD>+<2B><1D>)<29>)<29>+<2B>C<EFBFBD>"%<25>J<EFBFBD>C<EFBFBD><15><18>'<27>'<27><03>,<2C>3<>3<>E<EFBFBD>:<3A>#&<26> <20>,<2C>,<2C>.<2E>J<EFBFBD>C<EFBFBD><15> <10> <1F> <1F><03> $<24> +<2B> +<2B>E<EFBFBD> 2<>)rc<00>4<00>|D<00>cic]}|||<00><02>
c}Scc}w)z5Return current object as a dict with singular values.rr{s r rzMultiValueDict.dict<63>s"<00><00>*.<2E>/<2F>$<24>3<EFBFBD><03>T<EFBFBD>#<23>Y<EFBFBD><0E>$<24>/<2F>/<2F><>/s<00> )rr)NF)r4r5r1r6r r3rDrKrQrYr_rerir^rorbrrruryrTrNrlrUrcr<00> __classcell__<5F>r0s@r r:r:1st<00><><00><08>,.<2E>J<01> <16>*<2A>D<01><16>O<01>'<27> <13><1A>$<<3C>(<28><19>"<22>/<2F>!<21>%<25><1C>
<1F>3<>"0rr:c<00>V<00>eZdZdZdd<03>d<04>Zd<05>ZeZeZeZeZ eZ
eZ eZ eZ eZeZeZeZeZy)<07> ImmutableLista0
A tuple-like object that raises useful errors when it is asked to mutate.
Example::
>>> a = ImmutableList(range(5), warning="You cannot mutate this.")
>>> a[3] = '4'
Traceback (most recent call last):
...
AttributeError: You cannot mutate this.
z"ImmutableList object is immutable.)<01>warningc<00>F<00>tj|g|<02><01>i|<03><01>}||_|Sr)<03>tuple<6C>__new__r<5F>)<05>clsr<73>r<>r<>r
s r r<>zImmutableList.__new__<5F>s&<00><00><14>}<7D>}<7D>S<EFBFBD>2<>4<EFBFBD>2<>6<EFBFBD>2<><04><1E><04> <0C><13> rc<00>,<00>t|j<00><00>r)<02>AttributeErrorr<72>)r
r<>r<>s r <00>complainzImmutableList.complain<69>s<00><00><1C>T<EFBFBD>\<5C>\<5C>*<2A>*rN)r4r5r1r6r<>r<><00> __delitem__<5F> __delslice__<5F>__iadd__<5F>__imul__rK<00> __setslice__rwr<><00>insertrar<00>sort<72>reverserrr r<>r<><00>sZ<00><00>
<08>%I<01><14>
+<2B><1B>K<EFBFBD><1B>L<EFBFBD><17>H<EFBFBD><17>H<EFBFBD><1A>K<EFBFBD><1B>L<EFBFBD> <15>F<EFBFBD> <15>F<EFBFBD> <15>F<EFBFBD>
<12>C<EFBFBD> <15>F<EFBFBD> <13>D<EFBFBD><16>Grr<>c<00>,<00><00>eZdZdZ<03>fd<02>Z<04>fd<03>Z<05>xZS)<04> DictWrapperaG
Wrap accesses to a dictionary so that certain values (those starting with
the specified prefix) are passed through a function before being returned.
The prefix is removed before looking up the real value.
Used by the SQL construction code to ensure that values are correctly
quoted before being used.
c<00>@<00><01>t<00>|<00>|<01>||_||_yr)r<r <00>func<6E>prefix)r
r2r<>r<>r0s <20>r r zDictWrapper.__init__ s<00><><00> <0A><07><18><14><1E><18><04> <09><1C><04> rc<00><><00><01>|j|j<00>}|j|j<00>}t<00>|<00>|<01>}|r|j |<03>S|S)z<>
Retrieve the real value after stripping the prefix string (if
present). If the prefix is present, pass the value through self.func
before returning, otherwise return the raw value.
)<06>
startswithr<EFBFBD><00> removeprefixr<rDr<>)r
rG<00>use_funcrLr0s <20>r rDzDictWrapper.__getitem__sQ<00><><00> <17>><3E>><3E>$<24>+<2B>+<2B>.<2E><08><11><1E><1E>t<EFBFBD>{<7B>{<7B>+<2B><03><15><07>#<23>C<EFBFBD>(<28><05> <13><17>9<EFBFBD>9<EFBFBD>U<EFBFBD>#<23> #<23><14> r)r4r5r1r6r rDr<>r<>s@r r<>r<>s<00><><00><08><1D>
<15> rr<>c<00>J<00>eZdZdZd<02>Zd<03>Zd<04>Zd<05>Zd<06>Zd<07>Z d<08>Z
e d <09><00>Z y
) <0B>CaseInsensitiveMappinga<67>
Mapping allowing case-insensitive key lookups. Original case of keys is
preserved for iteration and string representation.
Example::
>>> ci_map = CaseInsensitiveMapping({'name': 'Jane'})
>>> ci_map['Name']
Jane
>>> ci_map['NAME']
Jane
>>> ci_map['name']
Jane
>>> ci_map # original case preserved
{'name': 'Jane'}
c<00><><00>|j|<01>D<00><02>cic]\}}|j<00>||f<02><02>c}}|_ycc}}wr)<03> _unpack_items<6D>lower<65>_store)r
r2rOrPs r r zCaseInsensitiveMapping.__init__0s;<00><00>59<35>5G<35>5G<35><04>5M<35>N<>5M<35>T<EFBFBD>Q<EFBFBD><01>q<EFBFBD>w<EFBFBD>w<EFBFBD>y<EFBFBD>1<EFBFBD>a<EFBFBD>&<26>(<28>5M<35>N<><04> <0B><>Ns<00><c<00>B<00>|j|j<00>dS)Nr<4E>)r<>r<>r{s r rDz"CaseInsensitiveMapping.__getitem__3s<00><00><13>{<7B>{<7B>3<EFBFBD>9<EFBFBD>9<EFBFBD>;<3B>'<27><01>*<2A>*rc<00>,<00>t|j<00>Sr)r(r<>rs r r)zCaseInsensitiveMapping.__len__6s<00><00><12>4<EFBFBD>;<3B>;<3B><1F>rc<00><00>t|t<00>xre|j<00>D<00><02>cic]\}}|j<00>|<03><02>c}}|j<00>D<00><02>cic]\}}|j<00>|<03><02>c}}k(Scc}}wcc}}wr)r<>rrTr<>)r
<00>otherrOrPs r <00>__eq__zCaseInsensitiveMapping.__eq__9st<00><00><19>%<25><17>)<29>6<>%)<29>Z<EFBFBD>Z<EFBFBD>\<5C>/
<EFBFBD>%1<>T<EFBFBD>Q<EFBFBD><01>A<EFBFBD>G<EFBFBD>G<EFBFBD>I<EFBFBD>q<EFBFBD>L<EFBFBD>\<5C>/
<EFBFBD>',<2C>{<7B>{<7B>}<7D> 5<>}<7D>t<EFBFBD>q<EFBFBD>!<21>a<EFBFBD>g<EFBFBD>g<EFBFBD>i<EFBFBD><11>l<EFBFBD>}<7D> 5<>/6<> 6<><36>/
<EFBFBD><EFBFBD> 5s <00>A8<06>A>c<00>D<00>d<01>|jj<00>D<00>S)Nc3<00>&K<00>|] \}}|<01><01><00> y<00>wrr)<03>.0<EFBFBD> original_keyrLs r <00> <genexpr>z2CaseInsensitiveMapping.__iter__.<locals>.<genexpr>?s<00><00><><00>M<>8L<38>!4<><1C>u<EFBFBD> <0C>8L<38>s<00>)r<>rlrs r rzCaseInsensitiveMapping.__iter__>s<00><00>M<><04> <0B> <0B>8J<38>8J<38>8L<38>M<>Mrc<00>|<00>t|jj<00>D<00><01>cic]\}}||<02><02>
c}}<01>Scc}}wr)r.r<>rlrxs r r3zCaseInsensitiveMapping.__repr__As6<00><00><13>$<24>+<2B>+<2B>2D<32>2D<32>2F<32>G<>2F<32>J<EFBFBD>C<EFBFBD><15>S<EFBFBD>%<25>Z<EFBFBD>2F<32>G<>H<>H<><48>Gs<00> 8
c<00><00>|Srrrs r rUzCaseInsensitiveMapping.copyDs<00><00><13> rc #<00>HK<00>t|ttf<02>r|j<00>Ed{<00><02><02>yt |<00>D]_\}}t |<02>dk7r$t dj|t |<02><00><00><00>t|dt<00>st d|dz<00><00>|<02><01><00>ay7<00>s<EFBFBD>w)N<>zDdictionary update sequence element #{} has length {}; 2 is required.rz0Element key %r invalid, only strings are allowed) r<>rrrT<00> enumerater(<00>
ValueError<EFBFBD>format<61>str)r2<00>i<>elems r r<>z$CaseInsensitiveMapping._unpack_itemsGs<><00><00><><00>
<16>d<EFBFBD>T<EFBFBD>7<EFBFBD>O<EFBFBD> ,<2C><1B>z<EFBFBD>z<EFBFBD>|<7C> #<23> #<23> <12> <20><14><EFBFBD>G<EFBFBD>A<EFBFBD>t<EFBFBD><12>4<EFBFBD>y<EFBFBD>A<EFBFBD>~<7E> <20>%<25>%+<2B>V<EFBFBD>A<EFBFBD>s<EFBFBD>4<EFBFBD>y<EFBFBD>%9<><12><12><1E>d<EFBFBD>1<EFBFBD>g<EFBFBD>s<EFBFBD>+<2B> <20>F<><14>a<EFBFBD><17>P<><12><12><17>J<EFBFBD>'<27> $<24>s<00>*B"<01>B <04>A4B"N) r4r5r1r6r rDr)r<>rr3rU<00> staticmethodr<64>rrr r<>r<>sA<00><00><08>"O<01>+<2B> <20>6<>
N<01>I<01><14><12><17><12>rr<>) rU<00>collections.abcrrrr8rr:r<>r<>r<>r<>rrr <00><module>r<>sV<00><01> <0B>#<23>%8<>%8<>P <09>X<EFBFBD> <09>h0<>T<EFBFBD>h0<>V"<17>E<EFBFBD>"<17>J<15>$<24><15>:;<17>W<EFBFBD>;r