MCPcopy
hub / github.com/dnhkng/GLaDOS / from_param

Method from_param

glados/whisper_cpp_wrapper.py:343–378  ·  view source on GitHub ↗
(cls, obj)

Source from the content-addressed store, hash-verified

341 return self.data and len(self.data) or 0
342
343 def from_param(cls, obj):
344 # Convert None or 0
345 if obj is None or obj == 0:
346 return cls(ctypes.POINTER(ctypes.c_char)())
347
348 # Convert from String
349 elif isinstance(obj, String):
350 return obj
351
352 # Convert from bytes
353 elif isinstance(obj, bytes):
354 return cls(obj)
355
356 # Convert from str
357 elif isinstance(obj, str):
358 return cls(obj.encode())
359
360 # Convert from c_char_p
361 elif isinstance(obj, ctypes.c_char_p):
362 return obj
363
364 # Convert from POINTER(ctypes.c_char)
365 elif isinstance(obj, ctypes.POINTER(ctypes.c_char)):
366 return obj
367
368 # Convert from raw pointer
369 elif isinstance(obj, int):
370 return cls(ctypes.cast(obj, ctypes.POINTER(ctypes.c_char)))
371
372 # Convert from ctypes.c_char array
373 elif isinstance(obj, ctypes.c_char * len(obj)):
374 return obj
375
376 # Convert from object
377 else:
378 return String.from_param(obj._as_parameter_)
379
380 from_param = classmethod(from_param)
381

Callers 2

ReturnStringFunction · 0.80
__call__Method · 0.80

Calls 1

encodeMethod · 0.45

Tested by

no test coverage detected