comparison mercurial/wireprotoframing.py @ 43506:9f70512ae2cf

cleanup: remove pointless r-prefixes on single-quoted strings This is the promised second step on single-quoted strings. These had existed because our source transformer didn't turn r'' into b'', so we had tagged some strings as r-strings to get "native" strings on both Pythons. Now that the transformer is gone, we can dispense with this nonsense. Methodology: I ran hg locate 'set:added() or modified() or clean()' | egrep '.*\.py$' | xargs egrep --color=never -n -- \[\^b\]\[\^a-z\]r\'\[\^\'\\\\\]\*\'\[\^\'\ in an emacs grep-mode buffer, and then used a keyboard macro to iterate over the results and remove the r prefix as needed. # skip-blame removing unneeded r prefixes left over from Python 3 migration. Differential Revision: https://phab.mercurial-scm.org/D7306
author Augie Fackler <augie@google.com>
date Fri, 08 Nov 2019 11:19:20 -0800
parents 8ff1ecfadcd1
children 89a2afe31e82
comparison
equal deleted inserted replaced
43505:47fac1692ede 43506:9f70512ae2cf
116 FRAME_TYPE_PROGRESS: {}, 116 FRAME_TYPE_PROGRESS: {},
117 FRAME_TYPE_SENDER_PROTOCOL_SETTINGS: FLAGS_SENDER_PROTOCOL_SETTINGS, 117 FRAME_TYPE_SENDER_PROTOCOL_SETTINGS: FLAGS_SENDER_PROTOCOL_SETTINGS,
118 FRAME_TYPE_STREAM_SETTINGS: FLAGS_STREAM_ENCODING_SETTINGS, 118 FRAME_TYPE_STREAM_SETTINGS: FLAGS_STREAM_ENCODING_SETTINGS,
119 } 119 }
120 120
121 ARGUMENT_RECORD_HEADER = struct.Struct(r'<HH') 121 ARGUMENT_RECORD_HEADER = struct.Struct('<HH')
122 122
123 123
124 def humanflags(mapping, value): 124 def humanflags(mapping, value):
125 """Convert a numeric flags value to a human value, using a mapping table.""" 125 """Convert a numeric flags value to a human value, using a mapping table."""
126 namemap = {v: k for k, v in pycompat.iteritems(mapping)} 126 namemap = {v: k for k, v in pycompat.iteritems(mapping)}
189 # 8 bits stream id 189 # 8 bits stream id
190 # 8 bits stream flags 190 # 8 bits stream flags
191 # 4 bits type 191 # 4 bits type
192 # 4 bits flags 192 # 4 bits flags
193 193
194 l = struct.pack(r'<I', len(payload)) 194 l = struct.pack('<I', len(payload))
195 frame[0:3] = l[0:3] 195 frame[0:3] = l[0:3]
196 struct.pack_into(r'<HBB', frame, 3, requestid, streamid, streamflags) 196 struct.pack_into('<HBB', frame, 3, requestid, streamid, streamflags)
197 frame[7] = (typeid << 4) | flags 197 frame[7] = (typeid << 4) | flags
198 frame[8:] = payload 198 frame[8:] = payload
199 199
200 return frame 200 return frame
201 201
278 # 8 bits stream flags 278 # 8 bits stream flags
279 # 4 bits frame type 279 # 4 bits frame type
280 # 4 bits frame flags 280 # 4 bits frame flags
281 # ... payload 281 # ... payload
282 framelength = data[0] + 256 * data[1] + 16384 * data[2] 282 framelength = data[0] + 256 * data[1] + 16384 * data[2]
283 requestid, streamid, streamflags = struct.unpack_from(r'<HBB', data, 3) 283 requestid, streamid, streamflags = struct.unpack_from('<HBB', data, 3)
284 typeflags = data[7] 284 typeflags = data[7]
285 285
286 frametype = (typeflags & 0xF0) >> 4 286 frametype = (typeflags & 0xF0) >> 4
287 frameflags = typeflags & 0x0F 287 frameflags = typeflags & 0x0F
288 288
458 b'status': b'redirect', 458 b'status': b'redirect',
459 b'location': {b'url': location.url, b'mediatype': location.mediatype,}, 459 b'location': {b'url': location.url, b'mediatype': location.mediatype,},
460 } 460 }
461 461
462 for a in ( 462 for a in (
463 r'size', 463 'size',
464 r'fullhashes', 464 'fullhashes',
465 r'fullhashseed', 465 'fullhashseed',
466 r'serverdercerts', 466 'serverdercerts',
467 r'servercadercerts', 467 'servercadercerts',
468 ): 468 ):
469 value = getattr(location, a) 469 value = getattr(location, a)
470 if value is not None: 470 if value is not None:
471 data[b'location'][pycompat.bytestr(a)] = value 471 data[b'location'][pycompat.bytestr(a)] = value
472 472
546 for label in labels: 546 for label in labels:
547 if not isinstance(label, bytes): 547 if not isinstance(label, bytes):
548 raise ValueError(b'must use bytes for labels') 548 raise ValueError(b'must use bytes for labels')
549 549
550 # Formatting string must be ASCII. 550 # Formatting string must be ASCII.
551 formatting = formatting.decode(r'ascii', r'replace').encode(r'ascii') 551 formatting = formatting.decode('ascii', 'replace').encode('ascii')
552 552
553 # Arguments must be UTF-8. 553 # Arguments must be UTF-8.
554 args = [a.decode(r'utf-8', r'replace').encode(r'utf-8') for a in args] 554 args = [a.decode('utf-8', 'replace').encode('utf-8') for a in args]
555 555
556 # Labels must be ASCII. 556 # Labels must be ASCII.
557 labels = [ 557 labels = [l.decode('ascii', 'strict').encode('ascii') for l in labels]
558 l.decode(r'ascii', r'strict').encode(r'ascii') for l in labels
559 ]
560 558
561 atom = {b'msg': formatting} 559 atom = {b'msg': formatting}
562 if args: 560 if args:
563 atom[b'args'] = args 561 atom[b'args'] = args
564 if labels: 562 if labels: