hyb
2025-11-18 7539e6f48c75dcaeb808359cccfd1c0d0d182ce8
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
Ë
 
çúh,+ãó—ddlmZmZmZmZmZmZddlmZm    Z    ddl
m Z erddl m Z Gd„d«ZGd„de«ZGd    „d
e«Zy ) é)Ú TYPE_CHECKINGÚAnyÚDictÚOptionalÚTupleÚUnion)Ú
RedisErrorÚ ResponseError)Ú str_if_bytes)Ú ClusterNodecó—eZdZd„Zd„Zy)ÚAbstractCommandsParsercó
—t|«dkry|Dcgc] }t|«‘Œ}}|dj«}d}|dk(r|dj«}|dvr|dd}|S|dvrt|dd«}|S|dvr|dg}|Scc}w)    zé
        Get the keys from pubsub command.
        Although PubSub commands have predetermined key locations, they are not
        supported in the 'COMMAND's output, so the key positions are hardcoded
        in this method
        éNrÚPUBSUBé)ÚCHANNELSÚNUMSUBÚ SHARDCHANNELSÚ SHARDNUMSUB)Ú    SUBSCRIBEÚ
PSUBSCRIBEÚ UNSUBSCRIBEÚ PUNSUBSCRIBE)ÚPUBLISHÚSPUBLISH)Úlenr ÚupperÚlist)ÚselfÚargsÚargÚcommandÚkeysÚ pubsub_types      õjH:\项目\archive\测试组\脚本\Change_password\venv_build\Lib\site-packages\redis/_parsers/commands.pyÚ_get_pubsub_keysz'AbstractCommandsParser._get_pubsub_keys s·€ô ˆt‹9qŠ=àØ-1Ö2 c” ˜SÕ!Ð2ˆÐ2ؐq‘'—-‘-“/ˆØˆØ hÒ ð˜q™'Ÿ-™-›/ˆKØÐTÑTؘA˜Bxðˆ ðÐRÑ Rô˜˜Q˜R˜“>ˆDð
ˆ ð    Ð/Ñ /ð˜‘G9ˆD؈ ùò#3s”Bc ó—i}t|d«}||d<t|d«|d<|dDcgc] }t|«‘Œc}|d<|d|d<|d    |d
<|d |d <t|«d kDr|d |d<|d|d<|d|d<|Scc}w)NrÚnamerÚarityrÚflagséÚ first_key_poséÚ last_key_poséÚ
step_countéÚtipséÚkey_specificationsé    Ú subcommands)r Úintr)r r#ÚoptionsÚcmd_dictÚcmd_nameÚflags      r&Úparse_subcommandz'AbstractCommandsParser.parse_subcommand(s»€ØˆÜ ¨¡
Ó+ˆØ#ˆÑÜ ¨¡
›OˆÑØ<CÀA¹JÖG°Dœ\¨$Õ/ÒGˆÑØ$+¨A¡JˆÑ!Ø#*¨1¡:ˆÑ Ø!(¨¡ˆÑÜ ˆw‹<˜!Ò Ø& q™zˆHVÑ Ø-4°Q©ZˆHÐ)Ñ *Ø&-¨a¡jˆH]Ñ #؈ùòHs®BN)Ú__name__Ú
__module__Ú __qualname__r'r=©ór&rr
s „òó: rBrcó(—eZdZdZd„Zd„Zd„Zd„Zy)ÚCommandsParsera
    Parses Redis commands to get command keys.
    COMMAND output is used to determine key locations.
    Commands that do not have a predefined key location are flagged with
    'movablekeys', and these commands' keys are determined by the command
    'COMMAND GETKEYS'.
    có4—i|_|j|«y©N)ÚcommandsÚ
initialize)r Úredis_connections  r&Ú__init__zCommandsParser.__init__As€ØˆŒ Ø ‰Ð(Õ)rBcóޗ|j«}g}|D]&}td„|D««sŒ|j|«Œ(|D]$}|j|«||j    «<Œ&||_y)Nc3ó<K—|]}|j«–—Œy­wrF)Úisupper)Ú.0Úxs  r&ú    <genexpr>z,CommandsParser.initialize.<locals>.<genexpr>Isèø€Ò, 11—9‘9—;Ñ,ùs‚)r#ÚanyÚappendÚpopÚlowerrG)r ÚrrGÚuppercase_commandsÚcmds     r&rHzCommandsParser.initializeEso€Ø—9‘9“;ˆØÐØò    /ˆCÜÑ,¨Ô,Õ,Ø"×)Ñ)¨#Õ.ð    /ð&ò    6ˆCØ$,§L¡L°Ó$5ˆHS—Y‘Y“[Ò !ð    6à ˆ rBcór—t|«dkry|dj«}||jvrp|j«}|d}||jvr|t    |dd«z}n;|j |«||jvrt |j«›d«‚|jj|«}d|dvr|j|g|¢­Ž}|Sd|dvs|d    dk(r|j|Ž}|S|d
dk(r`|d dk(rX|d dk(rPd }d|vrG|›d|dj«›}|dD]'}    t|    d«|k(sŒ|j|    «}d}Œ)|sy|d }
|
dkrt|«t|
«z
}
t    t|d |
dz|d
««} | D cgc]} || ‘Œ    }} |Scc} w©ap
        Get the keys from the passed command.
 
        NOTE: Due to a bug in redis<7.0, this function does not work properly
        for EVAL or EVALSHA when the `numkeys` arg is 0.
         - issue: https://github.com/redis/redis/issues/9493
         - fix: https://github.com/redis/redis/pull/9733
 
        So, don't use this function with EVAL or EVALSHA.
        rNrrz( command doesn't exist in Redis commandsÚ movablekeysr+Úpubsubr)r1r-r/Fr7ú|T©rrTrGÚsplitrrHr    rÚgetÚ_get_moveable_keysr'r r=ÚabsÚrange) r Ú
redis_connr!r;Úcmd_name_splitr#r$Ú    is_subcmdÚ subcmd_nameÚsubcmdr/Úkeys_posÚposs              r&Úget_keyszCommandsParser.get_keysRs€ô ˆt‹9qŠ=àà˜‘7—=‘=“?ˆØ ˜4Ÿ=™=Ñ (ð&Ÿ^™^Ó-ˆNØ% aÑ(ˆHؘ4Ÿ=™=Ñ(à%¬¨T°!°"¨X«Ñ6‘ð—‘ 
Ô+Ø 4§=¡=Ñ0Ü$Ø#Ÿ>™>Ó+Ð,Ð,TÐUóðð—-‘-×#Ñ# HÓ-ˆØ ˜G GÑ,Ñ ,Ø*4×*Ñ*¨:Ð=¸Ò=ˆDð8ˆ ð7˜ Ñ)Ñ )¨W°V©_ÀÒ-HØ(4×(Ñ(¨$Ð/ˆDð4ˆ ð/˜ Ñ%¨Ò*ؘOÑ,°Ò1ؘNÑ+¨qÒ0à!    Ø  GÑ+Ø%- J¨a°°Q±· ± ³Ð/@Ð"AKØ")¨-Ñ"8ò-˜Ü'¨¨q©    Ó2°kÓAØ&*×&;Ñ&;¸FÓ&C˜GØ(,™Ið-ñ !ØØ" >Ñ2ˆLؘaÒÜ" 4›y¬3¨|Ó+<Ñ< Üܐg˜oÑ.° ¸qÑ0@À'È,ÑBWÓXóˆHð*2Ö2 #D˜“IÐ2ˆDÐ2àˆ ùò3sÆ$ F4cóҗ|dj«t|dd«z}    |jdg|¢­Ž}|S#t$r$}|j    «}d|vsd|vrYd}~y|‚d}~wwxYw)aA
        NOTE: Due to a bug in redis<7.0, this function does not work properly
        for EVAL or EVALSHA when the `numkeys` arg is 0.
         - issue: https://github.com/redis/redis/issues/9493
         - fix: https://github.com/redis/redis/pull/9733
 
        So, don't use this function with EVAL or EVALSHA.
        rrNúCOMMAND GETKEYSúInvalid argumentsú The command has no key arguments)r^rÚexecute_commandr
Ú__str__)r rcr!Úpiecesr$ÚeÚmessages       r&r`z!CommandsParser._get_moveable_keys“s{€ða‘—‘“¤4¨¨Q¨R¨£>Ñ1ˆð
    Ø-:×-Ñ-Ð.?ÐIÀ&ÒIˆDðˆ øôò    Ø—i‘i“kˆGà# wÑ.Ø5¸Ñ@äàûð    ús¤9¹    A&ÁA!ÁA!Á!A&N)r>r?r@Ú__doc__rJrHrjr`rArBr&rDrD8s„ñò*ò!ò?óBrBrDcót—eZdZdZdZd d„Zddedddfd„Zd    edee    e
d
ffd „Z d    edee    e
d
ffd „Z y)ÚAsyncCommandsParsera%
    Parses Redis commands to get command keys.
 
    COMMAND output is used to determine key locations.
    Commands that do not have a predefined key location are flagged with 'movablekeys',
    and these commands' keys are determined by the command 'COMMAND GETKEYS'.
 
    NOTE: Due to a bug in redis<7.0, this does not work properly
    for EVAL or EVALSHA when the `numkeys` arg is 0.
     - issue: https://github.com/redis/redis/issues/9493
     - fix: https://github.com/redis/redis/pull/9733
 
    So, don't use this with EVAL or EVALSHA.
    )rGÚnodeÚreturnNcó—i|_yrF)rG)r s r&rJzAsyncCommandsParser.__init__¿s    €Ø?Aˆ rBrwr cƒóâK—|r||_|jjd«ƒd{–—†}|j«Dcic]\}}|j«|“Œc}}|_y7Œ<cc}}w­w)NÚCOMMAND)rwroÚitemsrTrG)r rwrGrWr#s     r&rHzAsyncCommandsParser.initializeÂsWèø€Ù ØˆDŒIàŸ™×2Ñ2°9Ó=×=ˆØBJÇ.Á.ÓBR×S±,°#°w˜Ÿ™› gÑ-ÓSˆ ð>úÛSùs!‚(A/ªA'«A/ÁA)Á A/Á)A/r!.c‡óšK—t|«dkry|dj«}||jvrw|j«}|d}||jvr|t    |dd«z}nB|j «ƒd{–—†||jvrt |j«›d«‚|jj|«}d|dvr|j|Žƒd{–—†}|Sd|dvs|d    dk(r|j|Ž}|S|d
dk(r`|d dk(rX|d dk(rPd }d|vrG|›d|dj«›}|dD]'}t|d«|k(sŒ|j|«}d}Œ)|sy|d }    |    dkrt|«t|    «z
}    t    t|d |    dz|d
««}
|
D cgc]} || ‘Œ    }} |S7ŒF7Œåcc} w­wrYr]) r r!r;rdr#r$rerfrgr/rhris             r&rjzAsyncCommandsParser.get_keysÌs%èø€ô ˆt‹9qŠ=àà˜‘7—=‘=“?ˆØ ˜4Ÿ=™=Ñ (ð&Ÿ^™^Ó-ˆNØ% aÑ(ˆHؘ4Ÿ=™=Ñ(à%¬¨T°!°"¨X«Ñ6‘ð—o‘oÓ'×'Ð'Ø 4§=¡=Ñ0Ü$Ø#Ÿ>™>Ó+Ð,Ð,TÐUóðð—-‘-×#Ñ# HÓ-ˆØ ˜G GÑ,Ñ ,Ø0˜×0Ñ0°$Ð7×7ˆDð8ˆ ð7˜ Ñ)Ñ )¨W°V©_ÀÒ-HØ(4×(Ñ(¨$Ð/ˆDð4ˆ ð/˜ Ñ%¨Ò*ؘOÑ,°Ò1ؘNÑ+¨qÒ0à!    Ø  GÑ+Ø%- J¨a°°Q±· ± ³Ð/@Ð"AKØ")¨-Ñ"8ò-˜Ü'¨¨q©    Ó2°kÓAØ&*×&;Ñ&;¸FÓ&C˜GØ(,™Ið-ñ !ØØ" >Ñ2ˆLؘaÒÜ" 4›y¬3¨|Ó+<Ñ< Üܐg˜oÑ.° ¸qÑ0@À'È,ÑBWÓXóˆHð*2Ö2 #D˜“IÐ2ˆDÐ2àˆ ðI(ùð8úò43ùs?‚A9G Á;GÁ<A"G ÃGÃA5G ÅAG Æ1 GÆ=G ÇG ÇG c‡ó¾K—    |jjdg|¢­Žƒd{–—†}|S7Œ#t$r$}|j«}d|vsd|vrYd}~y|‚d}~wwxYw­w)Nrlrmrn)rwror
rp)r r!r$rrrss     r&r`z&AsyncCommandsParser._get_moveable_keys sièø€ð
    Ø2˜Ÿ™×2Ñ2Ð3DÐLÀtÒL×LˆDðˆ ðMùÜò    Ø—i‘i“kˆGà# wÑ.Ø5¸Ñ@äàûð    üs<‚A„ -¤+¥-©A«-­    A¶AÁAÁAÁAÁA)rxNrF) r>r?r@rtÚ    __slots__rJrrHrrÚstrrjr`rArBr&rvrv­sp„ñ ð%€IóBñT X¨mÑ%<ðTÈóTð? Cð?¨H°U¸3À¸8±_Ñ,Eó?ðB ¨cð °h¸uÀSÈ#ÀX¹Ñ6Oô rBrvN)ÚtypingrrrrrrÚredis.exceptionsr    r
Ú redis.utilsr Úredis.asyncio.clusterr rrDrvrArBr&ú<module>r…sAðßC×Cç6Ý$áÝ1÷+ñ+ô\rÐ+ôrôjlÐ0õlrB