MCPcopy Index your code
hub / github.com/RustPython/RustPython / encode

Method encode

crates/vm/src/codecs.rs:74–92  ·  view source on GitHub ↗
(
        &self,
        obj: PyObjectRef,
        errors: Option<PyUtf8StrRef>,
        vm: &VirtualMachine,
    )

Source from the content-addressed store, hash-verified

72 }
73
74 pub fn encode(
75 &self,
76 obj: PyObjectRef,
77 errors: Option<PyUtf8StrRef>,
78 vm: &VirtualMachine,
79 ) -> PyResult {
80 let args = match errors {
81 Some(errors) => vec![obj, errors.into_wtf8().into()],
82 None => vec![obj],
83 };
84 let res = self.get_encode_func().call(args, vm)?;
85 let res = res
86 .downcast::<PyTuple>()
87 .ok()
88 .filter(|tuple| tuple.len() == 2)
89 .ok_or_else(|| vm.new_type_error("encoder must return a tuple (object, integer)"))?;
90 // we don't actually care about the integer
91 Ok(res[0].clone())
92 }
93
94 pub fn decode(
95 &self,

Callers 2

b2a_base64Function · 0.45
encode_textMethod · 0.45

Calls 8

get_encode_funcMethod · 0.80
ok_or_elseMethod · 0.80
okMethod · 0.80
callMethod · 0.45
filterMethod · 0.45
lenMethod · 0.45
cloneMethod · 0.45
lookupMethod · 0.45

Tested by

no test coverage detected