#!/usr/bin/env python3 # Generated by "pythonizer -aM ../Encode/Encoding.pm" v1.025 run by SNOOPYJC on Fri Feb 10 11:17:27 2023 __author__ = """Joe Cool""" __email__ = "snoopyjc@gmail.com" __version__ = "1.025" import builtins, os, perllib, re, types _str = lambda s: "" if s is None else str(s) import Encode.MIME.Name as _Encode_MIME_Name perllib.init_package("Encode.Encoding", is_class=True) def DESTROY(*_args): pass Encode.Encoding.DESTROY = DESTROY def decode(*_args): _args = list(_args) obj = _args.pop(0) if _args else None class_ = perllib.ref_scalar(obj) if perllib.ref_scalar(obj) else obj return perllib.croak(_str(class_) + "->encode() not defined!") Encode.Encoding.decode = decode # # Needs to be overloaded or just croak # def encode(*_args): _args = list(_args) obj = _args.pop(0) if _args else None class_ = perllib.ref_scalar(obj) if perllib.ref_scalar(obj) else obj return perllib.croak(_str(class_) + "->encode() not defined!") Encode.Encoding.encode = encode def fromUnicode(*_args): _args = list(_args) return (_args.pop(0) if _args else None).encode(*_args) Encode.Encoding.fromUnicode = fromUnicode # (Temporary|legacy) methods def toUnicode(*_args): _args = list(_args) return (_args.pop(0) if _args else None).decode(*_args) Encode.Encoding.toUnicode = toUnicode def perlio_ok(*_args): # SNOOPYJC return eval { require PerlIO::encoding } ? 1 : 0; return 1 # SNOOPYJC Encode.Encoding.perlio_ok = perlio_ok def needs_lines(*_args): return 0 Encode.Encoding.needs_lines = needs_lines def renewed(*_args): return _args[0].get("renewed") or 0 Encode.Encoding.renewed = renewed def renew(*_args): _args = list(_args) self = _args.pop(0) if _args else None clone = perllib.bless( (self if self is not None else perllib.Hash()).copy(), perllib.ref_scalar(self) ) clone["renewed"] = perllib.num(clone["renewed"]) + 1 # so the caller can see it # so the caller can see it if DEBUG: perllib.perl_print(clone.get("renewed")) return clone Encode.Encoding.renew = types.MethodType(renew, Encode.Encoding) def mime_name(*_args): _args = list(_args) return Encode.MIME.Name.get_mime_name(_args.pop(0) if _args else None) Encode.Encoding.mime_name = mime_name def name(*_args): _args = list(_args) return (_args.pop(0) if _args else None)["Name"] Encode.Encoding.name = name def Define(*_args): _args = list(_args) obj = _args.pop(0) if _args else None canonical = _args.pop(0) if _args else None if not perllib.ref_scalar(obj): obj = perllib.bless({"Name": canonical}, obj) # warn "$canonical => $obj\n"; return perllib.define_encoding(obj, _str(canonical), _args) Encode.Encoding.Define = types.MethodType(Define, Encode.Encoding) def _f6(): r = perllib.Array((re.findall(re.compile(r"\d+"), "Revision: 2.8 "))) return perllib.format_("%d." + "%02d" * (len(r) - 1), r) builtins.__PACKAGE__ = "Encode.Encoding" # Base class for classes which implement encodings # SKIPPED: use strict; perllib.WARNING = 1 Encode.Encoding.VERSION_v = _f6() Encode.Encoding.CARP_NOT_a = "Encode Encode::Encoder".split() # SKIPPED: use Carp (); # SKIPPED: use Encode (); DEBUG = not not os.environ.get("PERL_ENCODE_DEBUG") Encode.Encoding.new_sequence = renew new_sequence = renew