MCPcopy
hub / github.com/pyrevitlabs/pyRevit / format

Method format

site-packages/websocket/_abnf.py:211–242  ·  view source on GitHub ↗

format this object to string(byte array) to send data to server.

(self)

Source from the content-addressed store, hash-verified

209 return ABNF(fin, 0, 0, 0, opcode, 1, data)
210
211 def format(self):
212 """
213 format this object to string(byte array) to send data to server.
214 """
215 if any(x not in (0, 1) for x in [self.fin, self.rsv1, self.rsv2, self.rsv3]):
216 raise ValueError("not 0 or 1")
217 if self.opcode not in ABNF.OPCODES:
218 raise ValueError("Invalid OPCODE")
219 length = len(self.data)
220 if length >= ABNF.LENGTH_63:
221 raise ValueError("data is too long")
222
223 frame_header = chr(self.fin << 7
224 | self.rsv1 << 6 | self.rsv2 << 5 | self.rsv3 << 4
225 | self.opcode)
226 if length < ABNF.LENGTH_7:
227 frame_header += chr(self.mask << 7 | length)
228 frame_header = six.b(frame_header)
229 elif length < ABNF.LENGTH_16:
230 frame_header += chr(self.mask << 7 | 0x7e)
231 frame_header = six.b(frame_header)
232 frame_header += struct.pack("!H", length)
233 else:
234 frame_header += chr(self.mask << 7 | 0x7f)
235 frame_header = six.b(frame_header)
236 frame_header += struct.pack("!Q", length)
237
238 if not self.mask:
239 return frame_header + self.data
240 else:
241 mask_key = self.get_mask_key(4)
242 return frame_header + self._get_masked(mask_key)
243
244 def _get_masked(self, mask_key):
245 s = ABNF.mask(mask_key, self.data)

Callers 15

__str__Method · 0.80
generate_release_notesFunction · 0.80
_build_choco_packagesFunction · 0.80
sign_installersFunction · 0.80
__repr__Method · 0.80
__hash__Method · 0.80
write_goMethod · 0.80
write_goMethod · 0.80
write_goMethod · 0.80
write_goMethod · 0.80
write_goMethod · 0.80
write_goMethod · 0.80

Calls 2

_get_maskedMethod · 0.95
anyFunction · 0.85

Tested by 15

test_enumsMethod · 0.64
test_family_apiFunction · 0.64
test_debug_importsFunction · 0.64
test_basic_functionalityFunction · 0.64
test_early_terminationFunction · 0.64
test_boolean_returnFunction · 0.64
test_performanceFunction · 0.64
test_list_parametersFunction · 0.64
test_formsFunction · 0.64