polyfile-weave 0.5.5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of polyfile-weave might be problematic. Click here for more details.
- polyfile/__init__.py +15 -0
- polyfile/__main__.py +394 -0
- polyfile/arithmetic.py +27 -0
- polyfile/ast.py +114 -0
- polyfile/debugger.py +1039 -0
- polyfile/expressions.py +346 -0
- polyfile/fileutils.py +343 -0
- polyfile/html.py +135 -0
- polyfile/http/__init__.py +1 -0
- polyfile/http/defacto.py +37 -0
- polyfile/http/deprecated.py +51 -0
- polyfile/http/experimental.py +67 -0
- polyfile/http/http_11.py +548 -0
- polyfile/http/matcher.py +37 -0
- polyfile/http/structured_headers.py +48 -0
- polyfile/iterators.py +72 -0
- polyfile/jpeg.py +24 -0
- polyfile/kaitai/__init__.py +0 -0
- polyfile/kaitai/compiler.py +156 -0
- polyfile/kaitai/parser.py +312 -0
- polyfile/kaitai/parsers/__init__.py +0 -0
- polyfile/kaitai/parsers/aix_utmp.py +116 -0
- polyfile/kaitai/parsers/allegro_dat.py +367 -0
- polyfile/kaitai/parsers/andes_firmware.py +64 -0
- polyfile/kaitai/parsers/android_bootldr_asus.py +105 -0
- polyfile/kaitai/parsers/android_bootldr_huawei.py +181 -0
- polyfile/kaitai/parsers/android_bootldr_qcom.py +217 -0
- polyfile/kaitai/parsers/android_dto.py +138 -0
- polyfile/kaitai/parsers/android_img.py +319 -0
- polyfile/kaitai/parsers/android_nanoapp_header.py +83 -0
- polyfile/kaitai/parsers/android_opengl_shaders_cache.py +151 -0
- polyfile/kaitai/parsers/android_sparse.py +237 -0
- polyfile/kaitai/parsers/android_super.py +401 -0
- polyfile/kaitai/parsers/apm_partition_table.py +196 -0
- polyfile/kaitai/parsers/apple_single_double.py +180 -0
- polyfile/kaitai/parsers/asn1_der.py +235 -0
- polyfile/kaitai/parsers/au.py +138 -0
- polyfile/kaitai/parsers/avantes_roh60.py +112 -0
- polyfile/kaitai/parsers/avi.py +296 -0
- polyfile/kaitai/parsers/bcd.py +111 -0
- polyfile/kaitai/parsers/bitcoin_transaction.py +210 -0
- polyfile/kaitai/parsers/blender_blend.py +334 -0
- polyfile/kaitai/parsers/bmp.py +780 -0
- polyfile/kaitai/parsers/bson.py +411 -0
- polyfile/kaitai/parsers/btrfs_stream.py +318 -0
- polyfile/kaitai/parsers/bytes_with_io.py +27 -0
- polyfile/kaitai/parsers/chrome_pak.py +194 -0
- polyfile/kaitai/parsers/code_6502.py +456 -0
- polyfile/kaitai/parsers/compressed_resource.py +217 -0
- polyfile/kaitai/parsers/cpio_old_le.py +154 -0
- polyfile/kaitai/parsers/cramfs.py +344 -0
- polyfile/kaitai/parsers/creative_voice_file.py +342 -0
- polyfile/kaitai/parsers/dbf.py +274 -0
- polyfile/kaitai/parsers/dcmp_0.py +664 -0
- polyfile/kaitai/parsers/dcmp_1.py +422 -0
- polyfile/kaitai/parsers/dcmp_2.py +312 -0
- polyfile/kaitai/parsers/dcmp_variable_length_integer.py +66 -0
- polyfile/kaitai/parsers/dex.py +1086 -0
- polyfile/kaitai/parsers/dicom.py +4370 -0
- polyfile/kaitai/parsers/dime_message.py +201 -0
- polyfile/kaitai/parsers/dns_packet.py +569 -0
- polyfile/kaitai/parsers/doom_wad.py +654 -0
- polyfile/kaitai/parsers/dos_datetime.py +191 -0
- polyfile/kaitai/parsers/dos_mz.py +172 -0
- polyfile/kaitai/parsers/ds_store.py +513 -0
- polyfile/kaitai/parsers/dtb.py +310 -0
- polyfile/kaitai/parsers/dune_2_pak.py +126 -0
- polyfile/kaitai/parsers/edid.py +472 -0
- polyfile/kaitai/parsers/efivar_signature_list.py +331 -0
- polyfile/kaitai/parsers/elf.py +2482 -0
- polyfile/kaitai/parsers/ethernet_frame.py +114 -0
- polyfile/kaitai/parsers/exif.py +723 -0
- polyfile/kaitai/parsers/ext2.py +537 -0
- polyfile/kaitai/parsers/fallout2_dat.py +187 -0
- polyfile/kaitai/parsers/fallout_dat.py +156 -0
- polyfile/kaitai/parsers/fasttracker_xm_module.py +558 -0
- polyfile/kaitai/parsers/ftl_dat.py +90 -0
- polyfile/kaitai/parsers/genmidi_op2.py +161 -0
- polyfile/kaitai/parsers/gettext_mo.py +541 -0
- polyfile/kaitai/parsers/gif.py +492 -0
- polyfile/kaitai/parsers/gimp_brush.py +244 -0
- polyfile/kaitai/parsers/glibc_utmp.py +114 -0
- polyfile/kaitai/parsers/gltf_binary.py +132 -0
- polyfile/kaitai/parsers/google_protobuf.py +151 -0
- polyfile/kaitai/parsers/gpt_partition_table.py +175 -0
- polyfile/kaitai/parsers/gran_turismo_vol.py +140 -0
- polyfile/kaitai/parsers/grub2_font.py +337 -0
- polyfile/kaitai/parsers/gzip.py +232 -0
- polyfile/kaitai/parsers/hashcat_restore.py +60 -0
- polyfile/kaitai/parsers/hccap.py +111 -0
- polyfile/kaitai/parsers/hccapx.py +103 -0
- polyfile/kaitai/parsers/heaps_pak.py +177 -0
- polyfile/kaitai/parsers/heroes_of_might_and_magic_agg.py +116 -0
- polyfile/kaitai/parsers/heroes_of_might_and_magic_bmp.py +34 -0
- polyfile/kaitai/parsers/icmp_packet.py +136 -0
- polyfile/kaitai/parsers/ico.py +129 -0
- polyfile/kaitai/parsers/id3v1_1.py +220 -0
- polyfile/kaitai/parsers/id3v2_3.py +324 -0
- polyfile/kaitai/parsers/id3v2_4.py +423 -0
- polyfile/kaitai/parsers/ines.py +282 -0
- polyfile/kaitai/parsers/ipv4_packet.py +158 -0
- polyfile/kaitai/parsers/ipv6_packet.py +55 -0
- polyfile/kaitai/parsers/iso9660.py +544 -0
- polyfile/kaitai/parsers/java_class.py +1113 -0
- polyfile/kaitai/parsers/jpeg.py +361 -0
- polyfile/kaitai/parsers/luks.py +149 -0
- polyfile/kaitai/parsers/lzh.py +165 -0
- polyfile/kaitai/parsers/mac_os_resource_snd.py +493 -0
- polyfile/kaitai/parsers/mach_o.py +3033 -0
- polyfile/kaitai/parsers/mach_o_fat.py +92 -0
- polyfile/kaitai/parsers/magicavoxel_vox.py +391 -0
- polyfile/kaitai/parsers/manifest.json +1 -0
- polyfile/kaitai/parsers/mbr_partition_table.py +119 -0
- polyfile/kaitai/parsers/mcap.py +1015 -0
- polyfile/kaitai/parsers/microsoft_cfb.py +293 -0
- polyfile/kaitai/parsers/microsoft_network_monitor_v2.py +309 -0
- polyfile/kaitai/parsers/microsoft_pe.py +765 -0
- polyfile/kaitai/parsers/mifare_classic.py +706 -0
- polyfile/kaitai/parsers/minecraft_nbt.py +449 -0
- polyfile/kaitai/parsers/monomakh_sapr_chg.py +69 -0
- polyfile/kaitai/parsers/mozilla_mar.py +239 -0
- polyfile/kaitai/parsers/mp4.py +333 -0
- polyfile/kaitai/parsers/msgpack.py +467 -0
- polyfile/kaitai/parsers/nitf.py +1189 -0
- polyfile/kaitai/parsers/nt_mdt_pal.py +155 -0
- polyfile/kaitai/parsers/ogg.py +118 -0
- polyfile/kaitai/parsers/openpgp_message.py +993 -0
- polyfile/kaitai/parsers/packet_ppi.py +515 -0
- polyfile/kaitai/parsers/pcap.py +344 -0
- polyfile/kaitai/parsers/pcf_font.py +506 -0
- polyfile/kaitai/parsers/pcx.py +195 -0
- polyfile/kaitai/parsers/pcx_dcx.py +79 -0
- polyfile/kaitai/parsers/phar_without_stub.py +399 -0
- polyfile/kaitai/parsers/php_serialized_value.py +505 -0
- polyfile/kaitai/parsers/png.py +721 -0
- polyfile/kaitai/parsers/protocol_body.py +260 -0
- polyfile/kaitai/parsers/psx_tim.py +104 -0
- polyfile/kaitai/parsers/python_pickle.py +718 -0
- polyfile/kaitai/parsers/python_pyc_27.py +510 -0
- polyfile/kaitai/parsers/quake_mdl.py +441 -0
- polyfile/kaitai/parsers/quake_pak.py +112 -0
- polyfile/kaitai/parsers/quicktime_mov.py +634 -0
- polyfile/kaitai/parsers/rar.py +265 -0
- polyfile/kaitai/parsers/regf.py +569 -0
- polyfile/kaitai/parsers/renderware_binary_stream.py +877 -0
- polyfile/kaitai/parsers/resource_fork.py +611 -0
- polyfile/kaitai/parsers/respack.py +57 -0
- polyfile/kaitai/parsers/riff.py +409 -0
- polyfile/kaitai/parsers/rpm.py +964 -0
- polyfile/kaitai/parsers/rtcp_payload.py +579 -0
- polyfile/kaitai/parsers/rtp_packet.py +150 -0
- polyfile/kaitai/parsers/rtpdump.py +115 -0
- polyfile/kaitai/parsers/ruby_marshal.py +423 -0
- polyfile/kaitai/parsers/s3m.py +493 -0
- polyfile/kaitai/parsers/saints_row_2_vpp_pc.py +254 -0
- polyfile/kaitai/parsers/shapefile_index.py +174 -0
- polyfile/kaitai/parsers/shapefile_main.py +893 -0
- polyfile/kaitai/parsers/some_ip.py +209 -0
- polyfile/kaitai/parsers/some_ip_container.py +37 -0
- polyfile/kaitai/parsers/some_ip_sd.py +86 -0
- polyfile/kaitai/parsers/some_ip_sd_entries.py +160 -0
- polyfile/kaitai/parsers/some_ip_sd_options.py +374 -0
- polyfile/kaitai/parsers/specpr.py +404 -0
- polyfile/kaitai/parsers/sqlite3.py +472 -0
- polyfile/kaitai/parsers/ssh_public_key.py +252 -0
- polyfile/kaitai/parsers/standard_midi_file.py +390 -0
- polyfile/kaitai/parsers/stl.py +111 -0
- polyfile/kaitai/parsers/sudoers_ts.py +201 -0
- polyfile/kaitai/parsers/swf.py +406 -0
- polyfile/kaitai/parsers/systemd_journal.py +361 -0
- polyfile/kaitai/parsers/tcp_segment.py +57 -0
- polyfile/kaitai/parsers/tga.py +213 -0
- polyfile/kaitai/parsers/tls_client_hello.py +293 -0
- polyfile/kaitai/parsers/tr_dos_image.py +322 -0
- polyfile/kaitai/parsers/tsm.py +198 -0
- polyfile/kaitai/parsers/ttf.py +1847 -0
- polyfile/kaitai/parsers/udp_datagram.py +42 -0
- polyfile/kaitai/parsers/uefi_te.py +236 -0
- polyfile/kaitai/parsers/uimage.py +198 -0
- polyfile/kaitai/parsers/utf8_string.py +137 -0
- polyfile/kaitai/parsers/vfat.py +410 -0
- polyfile/kaitai/parsers/vlq_base128_be.py +104 -0
- polyfile/kaitai/parsers/vlq_base128_le.py +129 -0
- polyfile/kaitai/parsers/vmware_vmdk.py +167 -0
- polyfile/kaitai/parsers/vp8_ivf.py +112 -0
- polyfile/kaitai/parsers/warcraft_2_pud.py +423 -0
- polyfile/kaitai/parsers/wav.py +1014 -0
- polyfile/kaitai/parsers/websocket.py +167 -0
- polyfile/kaitai/parsers/windows_evt_log.py +304 -0
- polyfile/kaitai/parsers/windows_lnk_file.py +467 -0
- polyfile/kaitai/parsers/windows_minidump.py +575 -0
- polyfile/kaitai/parsers/windows_resource_file.py +243 -0
- polyfile/kaitai/parsers/windows_shell_items.py +190 -0
- polyfile/kaitai/parsers/windows_systemtime.py +52 -0
- polyfile/kaitai/parsers/wmf.py +502 -0
- polyfile/kaitai/parsers/xar.py +181 -0
- polyfile/kaitai/parsers/xwd.py +189 -0
- polyfile/kaitai/parsers/zip.py +685 -0
- polyfile/kaitai/parsers/zisofs.py +158 -0
- polyfile/kaitai/parsers/zx_spectrum_tap.py +184 -0
- polyfile/kaitaimatcher.py +113 -0
- polyfile/languagematcher.py +217 -0
- polyfile/logger.py +135 -0
- polyfile/magic.py +2983 -0
- polyfile/magic_defs/COPYING +29 -0
- polyfile/magic_defs/__init__.py +0 -0
- polyfile/magic_defs/acorn +102 -0
- polyfile/magic_defs/adi +13 -0
- polyfile/magic_defs/adventure +122 -0
- polyfile/magic_defs/aes +29 -0
- polyfile/magic_defs/algol68 +35 -0
- polyfile/magic_defs/allegro +9 -0
- polyfile/magic_defs/alliant +18 -0
- polyfile/magic_defs/alpha +32 -0
- polyfile/magic_defs/amanda +12 -0
- polyfile/magic_defs/amigaos +218 -0
- polyfile/magic_defs/android +259 -0
- polyfile/magic_defs/animation +1197 -0
- polyfile/magic_defs/aout +46 -0
- polyfile/magic_defs/apache +28 -0
- polyfile/magic_defs/apl +7 -0
- polyfile/magic_defs/apple +773 -0
- polyfile/magic_defs/application +7 -0
- polyfile/magic_defs/applix +13 -0
- polyfile/magic_defs/apt +52 -0
- polyfile/magic_defs/archive +2586 -0
- polyfile/magic_defs/aria +38 -0
- polyfile/magic_defs/arm +50 -0
- polyfile/magic_defs/asf +132 -0
- polyfile/magic_defs/assembler +18 -0
- polyfile/magic_defs/asterix +18 -0
- polyfile/magic_defs/att3b +41 -0
- polyfile/magic_defs/audio +1291 -0
- polyfile/magic_defs/avm +33 -0
- polyfile/magic_defs/basis +18 -0
- polyfile/magic_defs/beetle +7 -0
- polyfile/magic_defs/ber +65 -0
- polyfile/magic_defs/bflt +14 -0
- polyfile/magic_defs/bhl +10 -0
- polyfile/magic_defs/bioinformatics +178 -0
- polyfile/magic_defs/biosig +154 -0
- polyfile/magic_defs/blackberry +8 -0
- polyfile/magic_defs/blcr +25 -0
- polyfile/magic_defs/blender +50 -0
- polyfile/magic_defs/blit +24 -0
- polyfile/magic_defs/bm +10 -0
- polyfile/magic_defs/bout +11 -0
- polyfile/magic_defs/bsdi +33 -0
- polyfile/magic_defs/bsi +10 -0
- polyfile/magic_defs/btsnoop +13 -0
- polyfile/magic_defs/burp +7 -0
- polyfile/magic_defs/bytecode +41 -0
- polyfile/magic_defs/c-lang +110 -0
- polyfile/magic_defs/c64 +531 -0
- polyfile/magic_defs/cad +437 -0
- polyfile/magic_defs/cafebabe +107 -0
- polyfile/magic_defs/cbor +21 -0
- polyfile/magic_defs/ccf +14 -0
- polyfile/magic_defs/cddb +12 -0
- polyfile/magic_defs/chord +15 -0
- polyfile/magic_defs/cisco +12 -0
- polyfile/magic_defs/citrus +12 -0
- polyfile/magic_defs/clarion +27 -0
- polyfile/magic_defs/claris +48 -0
- polyfile/magic_defs/clipper +65 -0
- polyfile/magic_defs/clojure +30 -0
- polyfile/magic_defs/coff +98 -0
- polyfile/magic_defs/commands +201 -0
- polyfile/magic_defs/communications +22 -0
- polyfile/magic_defs/compress +461 -0
- polyfile/magic_defs/console +1213 -0
- polyfile/magic_defs/convex +69 -0
- polyfile/magic_defs/coverage +91 -0
- polyfile/magic_defs/cracklib +14 -0
- polyfile/magic_defs/crypto +31 -0
- polyfile/magic_defs/csv +8 -0
- polyfile/magic_defs/ctags +6 -0
- polyfile/magic_defs/ctf +23 -0
- polyfile/magic_defs/cubemap +8 -0
- polyfile/magic_defs/cups +56 -0
- polyfile/magic_defs/dact +11 -0
- polyfile/magic_defs/database +886 -0
- polyfile/magic_defs/dataone +47 -0
- polyfile/magic_defs/dbpf +15 -0
- polyfile/magic_defs/der +146 -0
- polyfile/magic_defs/diamond +12 -0
- polyfile/magic_defs/dif +33 -0
- polyfile/magic_defs/diff +41 -0
- polyfile/magic_defs/digital +59 -0
- polyfile/magic_defs/dolby +69 -0
- polyfile/magic_defs/dsf +25 -0
- polyfile/magic_defs/dump +96 -0
- polyfile/magic_defs/dwarfs +45 -0
- polyfile/magic_defs/dyadic +61 -0
- polyfile/magic_defs/ebml +8 -0
- polyfile/magic_defs/edid +11 -0
- polyfile/magic_defs/editors +43 -0
- polyfile/magic_defs/efi +15 -0
- polyfile/magic_defs/elf +379 -0
- polyfile/magic_defs/encore +22 -0
- polyfile/magic_defs/epoc +62 -0
- polyfile/magic_defs/erlang +21 -0
- polyfile/magic_defs/espressif +57 -0
- polyfile/magic_defs/esri +28 -0
- polyfile/magic_defs/etf +33 -0
- polyfile/magic_defs/fcs +9 -0
- polyfile/magic_defs/filesystems +2694 -0
- polyfile/magic_defs/finger +16 -0
- polyfile/magic_defs/firmware +133 -0
- polyfile/magic_defs/flash +62 -0
- polyfile/magic_defs/flif +36 -0
- polyfile/magic_defs/fonts +449 -0
- polyfile/magic_defs/forth +82 -0
- polyfile/magic_defs/fortran +9 -0
- polyfile/magic_defs/frame +62 -0
- polyfile/magic_defs/freebsd +164 -0
- polyfile/magic_defs/fsav +128 -0
- polyfile/magic_defs/fusecompress +12 -0
- polyfile/magic_defs/games +696 -0
- polyfile/magic_defs/gcc +17 -0
- polyfile/magic_defs/gconv +10 -0
- polyfile/magic_defs/gentoo +85 -0
- polyfile/magic_defs/geo +166 -0
- polyfile/magic_defs/geos +20 -0
- polyfile/magic_defs/gimp +77 -0
- polyfile/magic_defs/git +13 -0
- polyfile/magic_defs/glibc +21 -0
- polyfile/magic_defs/gnome +59 -0
- polyfile/magic_defs/gnu +173 -0
- polyfile/magic_defs/gnumeric +8 -0
- polyfile/magic_defs/gpt +240 -0
- polyfile/magic_defs/gpu +28 -0
- polyfile/magic_defs/grace +21 -0
- polyfile/magic_defs/graphviz +12 -0
- polyfile/magic_defs/gringotts +48 -0
- polyfile/magic_defs/guile +13 -0
- polyfile/magic_defs/hardware +12 -0
- polyfile/magic_defs/hitachi-sh +30 -0
- polyfile/magic_defs/hp +433 -0
- polyfile/magic_defs/human68k +26 -0
- polyfile/magic_defs/ibm370 +52 -0
- polyfile/magic_defs/ibm6000 +35 -0
- polyfile/magic_defs/icc +214 -0
- polyfile/magic_defs/iff +80 -0
- polyfile/magic_defs/images +4210 -0
- polyfile/magic_defs/inform +9 -0
- polyfile/magic_defs/intel +310 -0
- polyfile/magic_defs/interleaf +9 -0
- polyfile/magic_defs/island +10 -0
- polyfile/magic_defs/ispell +63 -0
- polyfile/magic_defs/isz +15 -0
- polyfile/magic_defs/java +52 -0
- polyfile/magic_defs/javascript +171 -0
- polyfile/magic_defs/jpeg +252 -0
- polyfile/magic_defs/json +8 -0
- polyfile/magic_defs/karma +9 -0
- polyfile/magic_defs/kde +11 -0
- polyfile/magic_defs/keepass +20 -0
- polyfile/magic_defs/kerberos +45 -0
- polyfile/magic_defs/kicad +85 -0
- polyfile/magic_defs/kml +34 -0
- polyfile/magic_defs/lammps +64 -0
- polyfile/magic_defs/lecter +6 -0
- polyfile/magic_defs/lex +12 -0
- polyfile/magic_defs/lif +50 -0
- polyfile/magic_defs/linux +557 -0
- polyfile/magic_defs/lisp +78 -0
- polyfile/magic_defs/llvm +22 -0
- polyfile/magic_defs/locoscript +12 -0
- polyfile/magic_defs/lua +31 -0
- polyfile/magic_defs/luks +126 -0
- polyfile/magic_defs/m4 +11 -0
- polyfile/magic_defs/mach +303 -0
- polyfile/magic_defs/macintosh +505 -0
- polyfile/magic_defs/macos +7 -0
- polyfile/magic_defs/magic +10 -0
- polyfile/magic_defs/magic.mgc +0 -0
- polyfile/magic_defs/mail.news +132 -0
- polyfile/magic_defs/make +21 -0
- polyfile/magic_defs/map +413 -0
- polyfile/magic_defs/maple +109 -0
- polyfile/magic_defs/marc21 +30 -0
- polyfile/magic_defs/mathcad +8 -0
- polyfile/magic_defs/mathematica +188 -0
- polyfile/magic_defs/matroska +17 -0
- polyfile/magic_defs/mcrypt +52 -0
- polyfile/magic_defs/measure +44 -0
- polyfile/magic_defs/mercurial +13 -0
- polyfile/magic_defs/metastore +8 -0
- polyfile/magic_defs/meteorological +53 -0
- polyfile/magic_defs/microfocus +21 -0
- polyfile/magic_defs/mime +9 -0
- polyfile/magic_defs/mips +120 -0
- polyfile/magic_defs/mirage +8 -0
- polyfile/magic_defs/misctools +140 -0
- polyfile/magic_defs/mkid +11 -0
- polyfile/magic_defs/mlssa +8 -0
- polyfile/magic_defs/mmdf +6 -0
- polyfile/magic_defs/modem +92 -0
- polyfile/magic_defs/modulefile +9 -0
- polyfile/magic_defs/motorola +71 -0
- polyfile/magic_defs/mozilla +37 -0
- polyfile/magic_defs/msdos +2304 -0
- polyfile/magic_defs/msooxml +68 -0
- polyfile/magic_defs/msvc +222 -0
- polyfile/magic_defs/msx +309 -0
- polyfile/magic_defs/mup +24 -0
- polyfile/magic_defs/music +17 -0
- polyfile/magic_defs/nasa +7 -0
- polyfile/magic_defs/natinst +24 -0
- polyfile/magic_defs/ncr +49 -0
- polyfile/magic_defs/neko +12 -0
- polyfile/magic_defs/netbsd +251 -0
- polyfile/magic_defs/netscape +26 -0
- polyfile/magic_defs/netware +11 -0
- polyfile/magic_defs/news +13 -0
- polyfile/magic_defs/nifty +202 -0
- polyfile/magic_defs/nim-lang +29 -0
- polyfile/magic_defs/nitpicker +14 -0
- polyfile/magic_defs/numpy +9 -0
- polyfile/magic_defs/oasis +12 -0
- polyfile/magic_defs/ocaml +14 -0
- polyfile/magic_defs/octave +6 -0
- polyfile/magic_defs/ole2compounddocs +760 -0
- polyfile/magic_defs/olf +98 -0
- polyfile/magic_defs/openfst +17 -0
- polyfile/magic_defs/opentimestamps +16 -0
- polyfile/magic_defs/oric +16 -0
- polyfile/magic_defs/os2 +186 -0
- polyfile/magic_defs/os400 +39 -0
- polyfile/magic_defs/os9 +80 -0
- polyfile/magic_defs/osf1 +10 -0
- polyfile/magic_defs/palm +156 -0
- polyfile/magic_defs/parix +13 -0
- polyfile/magic_defs/parrot +22 -0
- polyfile/magic_defs/pascal +39 -0
- polyfile/magic_defs/pbf +11 -0
- polyfile/magic_defs/pbm +8 -0
- polyfile/magic_defs/pc88 +24 -0
- polyfile/magic_defs/pc98 +77 -0
- polyfile/magic_defs/pci_ids +116 -0
- polyfile/magic_defs/pcjr +8 -0
- polyfile/magic_defs/pdf +51 -0
- polyfile/magic_defs/pdp +42 -0
- polyfile/magic_defs/perl +100 -0
- polyfile/magic_defs/pgf +52 -0
- polyfile/magic_defs/pgp +581 -0
- polyfile/magic_defs/pgp-binary-keys +388 -0
- polyfile/magic_defs/pkgadd +7 -0
- polyfile/magic_defs/plan9 +25 -0
- polyfile/magic_defs/playdate +57 -0
- polyfile/magic_defs/plus5 +18 -0
- polyfile/magic_defs/pmem +46 -0
- polyfile/magic_defs/polyfile_zip +5 -0
- polyfile/magic_defs/polyml +23 -0
- polyfile/magic_defs/printer +269 -0
- polyfile/magic_defs/project +10 -0
- polyfile/magic_defs/psdbms +14 -0
- polyfile/magic_defs/psl +14 -0
- polyfile/magic_defs/pulsar +13 -0
- polyfile/magic_defs/puzzle +17 -0
- polyfile/magic_defs/pwsafe +14 -0
- polyfile/magic_defs/pyramid +12 -0
- polyfile/magic_defs/python +305 -0
- polyfile/magic_defs/qt +30 -0
- polyfile/magic_defs/revision +66 -0
- polyfile/magic_defs/riff +840 -0
- polyfile/magic_defs/rinex +44 -0
- polyfile/magic_defs/ringdove +45 -0
- polyfile/magic_defs/rpi +52 -0
- polyfile/magic_defs/rpm +45 -0
- polyfile/magic_defs/rpmsg +7 -0
- polyfile/magic_defs/rst +11 -0
- polyfile/magic_defs/rtf +94 -0
- polyfile/magic_defs/ruby +55 -0
- polyfile/magic_defs/rust +21 -0
- polyfile/magic_defs/sc +7 -0
- polyfile/magic_defs/sccs +24 -0
- polyfile/magic_defs/scientific +144 -0
- polyfile/magic_defs/securitycerts +6 -0
- polyfile/magic_defs/selinux +24 -0
- polyfile/magic_defs/sendmail +37 -0
- polyfile/magic_defs/sequent +42 -0
- polyfile/magic_defs/sereal +35 -0
- polyfile/magic_defs/sgi +144 -0
- polyfile/magic_defs/sgml +161 -0
- polyfile/magic_defs/sharc +23 -0
- polyfile/magic_defs/sinclair +40 -0
- polyfile/magic_defs/sisu +18 -0
- polyfile/magic_defs/sketch +6 -0
- polyfile/magic_defs/smalltalk +25 -0
- polyfile/magic_defs/smile +34 -0
- polyfile/magic_defs/sniffer +482 -0
- polyfile/magic_defs/softquad +40 -0
- polyfile/magic_defs/sosi +40 -0
- polyfile/magic_defs/spec +21 -0
- polyfile/magic_defs/spectrum +184 -0
- polyfile/magic_defs/sql +288 -0
- polyfile/magic_defs/ssh +39 -0
- polyfile/magic_defs/ssl +20 -0
- polyfile/magic_defs/statistics +45 -0
- polyfile/magic_defs/subtitle +38 -0
- polyfile/magic_defs/sun +141 -0
- polyfile/magic_defs/svf +5 -0
- polyfile/magic_defs/sylk +36 -0
- polyfile/magic_defs/symbos +42 -0
- polyfile/magic_defs/sysex +429 -0
- polyfile/magic_defs/tcl +29 -0
- polyfile/magic_defs/teapot +6 -0
- polyfile/magic_defs/terminfo +63 -0
- polyfile/magic_defs/tex +141 -0
- polyfile/magic_defs/tgif +7 -0
- polyfile/magic_defs/ti-8x +239 -0
- polyfile/magic_defs/timezone +42 -0
- polyfile/magic_defs/tplink +95 -0
- polyfile/magic_defs/troff +38 -0
- polyfile/magic_defs/tuxedo +8 -0
- polyfile/magic_defs/typeset +8 -0
- polyfile/magic_defs/uf2 +72 -0
- polyfile/magic_defs/unicode +15 -0
- polyfile/magic_defs/unisig +12 -0
- polyfile/magic_defs/unknown +34 -0
- polyfile/magic_defs/usd +21 -0
- polyfile/magic_defs/uterus +16 -0
- polyfile/magic_defs/uuencode +28 -0
- polyfile/magic_defs/vacuum-cleaner +54 -0
- polyfile/magic_defs/varied.out +46 -0
- polyfile/magic_defs/varied.script +21 -0
- polyfile/magic_defs/vax +32 -0
- polyfile/magic_defs/vicar +17 -0
- polyfile/magic_defs/virtual +307 -0
- polyfile/magic_defs/virtutech +12 -0
- polyfile/magic_defs/visx +32 -0
- polyfile/magic_defs/vms +30 -0
- polyfile/magic_defs/vmware +6 -0
- polyfile/magic_defs/vorbis +155 -0
- polyfile/magic_defs/vxl +14 -0
- polyfile/magic_defs/warc +16 -0
- polyfile/magic_defs/weak +16 -0
- polyfile/magic_defs/web +18 -0
- polyfile/magic_defs/webassembly +17 -0
- polyfile/magic_defs/windows +1811 -0
- polyfile/magic_defs/wireless +7 -0
- polyfile/magic_defs/wordprocessors +630 -0
- polyfile/magic_defs/wsdl +23 -0
- polyfile/magic_defs/x68000 +25 -0
- polyfile/magic_defs/xdelta +13 -0
- polyfile/magic_defs/xenix +106 -0
- polyfile/magic_defs/xilinx +58 -0
- polyfile/magic_defs/xo65 +37 -0
- polyfile/magic_defs/xwindows +43 -0
- polyfile/magic_defs/yara +17 -0
- polyfile/magic_defs/zfs +96 -0
- polyfile/magic_defs/zilog +12 -0
- polyfile/magic_defs/zip +126 -0
- polyfile/magic_defs/zyxel +17 -0
- polyfile/nes.py +144 -0
- polyfile/nitf.py +15 -0
- polyfile/pdf.py +1264 -0
- polyfile/pickles.py +45 -0
- polyfile/polyfile.py +409 -0
- polyfile/profiling.py +115 -0
- polyfile/repl.py +624 -0
- polyfile/search.py +310 -0
- polyfile/serialization.py +323 -0
- polyfile/structmatcher.py +46 -0
- polyfile/structs.py +281 -0
- polyfile/templates/download.js +162 -0
- polyfile/templates/hexdump.css +268 -0
- polyfile/templates/hexdump.js +756 -0
- polyfile/templates/jquery-3.4.1.min.js +2 -0
- polyfile/templates/template.html +119 -0
- polyfile/wildcards.py +62 -0
- polyfile/zipmatcher.py +183 -0
- polyfile_weave-0.5.5.dist-info/METADATA +173 -0
- polyfile_weave-0.5.5.dist-info/RECORD +585 -0
- polyfile_weave-0.5.5.dist-info/WHEEL +5 -0
- polyfile_weave-0.5.5.dist-info/entry_points.txt +2 -0
- polyfile_weave-0.5.5.dist-info/licenses/LICENSE +202 -0
- polyfile_weave-0.5.5.dist-info/top_level.txt +2 -0
- polymerge/__init__.py +1 -0
- polymerge/__main__.py +296 -0
- polymerge/cfg.py +127 -0
- polymerge/polymerge.py +227 -0
- polymerge/polytracker.py +190 -0
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
# This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
|
|
2
|
+
|
|
3
|
+
from pkg_resources import parse_version
|
|
4
|
+
import kaitaistruct
|
|
5
|
+
from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO
|
|
6
|
+
import collections
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
if parse_version(kaitaistruct.__version__) < parse_version('0.9'):
|
|
10
|
+
raise Exception("Incompatible Kaitai Struct Python API: 0.9 or later is required, but you have %s" % (kaitaistruct.__version__))
|
|
11
|
+
|
|
12
|
+
class Msgpack(KaitaiStruct):
|
|
13
|
+
"""MessagePack (msgpack) is a system to serialize arbitrary structured
|
|
14
|
+
data into a compact binary stream.
|
|
15
|
+
|
|
16
|
+
.. seealso::
|
|
17
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md
|
|
18
|
+
"""
|
|
19
|
+
SEQ_FIELDS = ["b1", "int_extra", "float_32_value", "float_64_value", "str_len_8", "str_len_16", "str_len_32", "str_value", "num_array_elements_16", "num_array_elements_32", "array_elements", "num_map_elements_16", "num_map_elements_32", "map_elements"]
|
|
20
|
+
def __init__(self, _io, _parent=None, _root=None):
|
|
21
|
+
self._io = _io
|
|
22
|
+
self._parent = _parent
|
|
23
|
+
self._root = _root if _root else self
|
|
24
|
+
self._debug = collections.defaultdict(dict)
|
|
25
|
+
|
|
26
|
+
def _read(self):
|
|
27
|
+
self._debug['b1']['start'] = self._io.pos()
|
|
28
|
+
self.b1 = self._io.read_u1()
|
|
29
|
+
self._debug['b1']['end'] = self._io.pos()
|
|
30
|
+
self._debug['int_extra']['start'] = self._io.pos()
|
|
31
|
+
_on = self.b1
|
|
32
|
+
if _on == 211:
|
|
33
|
+
self.int_extra = self._io.read_s8be()
|
|
34
|
+
elif _on == 209:
|
|
35
|
+
self.int_extra = self._io.read_s2be()
|
|
36
|
+
elif _on == 210:
|
|
37
|
+
self.int_extra = self._io.read_s4be()
|
|
38
|
+
elif _on == 208:
|
|
39
|
+
self.int_extra = self._io.read_s1()
|
|
40
|
+
elif _on == 205:
|
|
41
|
+
self.int_extra = self._io.read_u2be()
|
|
42
|
+
elif _on == 207:
|
|
43
|
+
self.int_extra = self._io.read_u8be()
|
|
44
|
+
elif _on == 204:
|
|
45
|
+
self.int_extra = self._io.read_u1()
|
|
46
|
+
elif _on == 206:
|
|
47
|
+
self.int_extra = self._io.read_u4be()
|
|
48
|
+
self._debug['int_extra']['end'] = self._io.pos()
|
|
49
|
+
if self.is_float_32:
|
|
50
|
+
self._debug['float_32_value']['start'] = self._io.pos()
|
|
51
|
+
self.float_32_value = self._io.read_f4be()
|
|
52
|
+
self._debug['float_32_value']['end'] = self._io.pos()
|
|
53
|
+
|
|
54
|
+
if self.is_float_64:
|
|
55
|
+
self._debug['float_64_value']['start'] = self._io.pos()
|
|
56
|
+
self.float_64_value = self._io.read_f8be()
|
|
57
|
+
self._debug['float_64_value']['end'] = self._io.pos()
|
|
58
|
+
|
|
59
|
+
if self.is_str_8:
|
|
60
|
+
self._debug['str_len_8']['start'] = self._io.pos()
|
|
61
|
+
self.str_len_8 = self._io.read_u1()
|
|
62
|
+
self._debug['str_len_8']['end'] = self._io.pos()
|
|
63
|
+
|
|
64
|
+
if self.is_str_16:
|
|
65
|
+
self._debug['str_len_16']['start'] = self._io.pos()
|
|
66
|
+
self.str_len_16 = self._io.read_u2be()
|
|
67
|
+
self._debug['str_len_16']['end'] = self._io.pos()
|
|
68
|
+
|
|
69
|
+
if self.is_str_32:
|
|
70
|
+
self._debug['str_len_32']['start'] = self._io.pos()
|
|
71
|
+
self.str_len_32 = self._io.read_u4be()
|
|
72
|
+
self._debug['str_len_32']['end'] = self._io.pos()
|
|
73
|
+
|
|
74
|
+
if self.is_str:
|
|
75
|
+
self._debug['str_value']['start'] = self._io.pos()
|
|
76
|
+
self.str_value = (self._io.read_bytes(self.str_len)).decode(u"UTF-8")
|
|
77
|
+
self._debug['str_value']['end'] = self._io.pos()
|
|
78
|
+
|
|
79
|
+
if self.is_array_16:
|
|
80
|
+
self._debug['num_array_elements_16']['start'] = self._io.pos()
|
|
81
|
+
self.num_array_elements_16 = self._io.read_u2be()
|
|
82
|
+
self._debug['num_array_elements_16']['end'] = self._io.pos()
|
|
83
|
+
|
|
84
|
+
if self.is_array_32:
|
|
85
|
+
self._debug['num_array_elements_32']['start'] = self._io.pos()
|
|
86
|
+
self.num_array_elements_32 = self._io.read_u4be()
|
|
87
|
+
self._debug['num_array_elements_32']['end'] = self._io.pos()
|
|
88
|
+
|
|
89
|
+
if self.is_array:
|
|
90
|
+
self._debug['array_elements']['start'] = self._io.pos()
|
|
91
|
+
self.array_elements = [None] * (self.num_array_elements)
|
|
92
|
+
for i in range(self.num_array_elements):
|
|
93
|
+
if not 'arr' in self._debug['array_elements']:
|
|
94
|
+
self._debug['array_elements']['arr'] = []
|
|
95
|
+
self._debug['array_elements']['arr'].append({'start': self._io.pos()})
|
|
96
|
+
_t_array_elements = Msgpack(self._io)
|
|
97
|
+
_t_array_elements._read()
|
|
98
|
+
self.array_elements[i] = _t_array_elements
|
|
99
|
+
self._debug['array_elements']['arr'][i]['end'] = self._io.pos()
|
|
100
|
+
|
|
101
|
+
self._debug['array_elements']['end'] = self._io.pos()
|
|
102
|
+
|
|
103
|
+
if self.is_map_16:
|
|
104
|
+
self._debug['num_map_elements_16']['start'] = self._io.pos()
|
|
105
|
+
self.num_map_elements_16 = self._io.read_u2be()
|
|
106
|
+
self._debug['num_map_elements_16']['end'] = self._io.pos()
|
|
107
|
+
|
|
108
|
+
if self.is_map_32:
|
|
109
|
+
self._debug['num_map_elements_32']['start'] = self._io.pos()
|
|
110
|
+
self.num_map_elements_32 = self._io.read_u4be()
|
|
111
|
+
self._debug['num_map_elements_32']['end'] = self._io.pos()
|
|
112
|
+
|
|
113
|
+
if self.is_map:
|
|
114
|
+
self._debug['map_elements']['start'] = self._io.pos()
|
|
115
|
+
self.map_elements = [None] * (self.num_map_elements)
|
|
116
|
+
for i in range(self.num_map_elements):
|
|
117
|
+
if not 'arr' in self._debug['map_elements']:
|
|
118
|
+
self._debug['map_elements']['arr'] = []
|
|
119
|
+
self._debug['map_elements']['arr'].append({'start': self._io.pos()})
|
|
120
|
+
_t_map_elements = Msgpack.MapTuple(self._io, self, self._root)
|
|
121
|
+
_t_map_elements._read()
|
|
122
|
+
self.map_elements[i] = _t_map_elements
|
|
123
|
+
self._debug['map_elements']['arr'][i]['end'] = self._io.pos()
|
|
124
|
+
|
|
125
|
+
self._debug['map_elements']['end'] = self._io.pos()
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class MapTuple(KaitaiStruct):
|
|
129
|
+
SEQ_FIELDS = ["key", "value"]
|
|
130
|
+
def __init__(self, _io, _parent=None, _root=None):
|
|
131
|
+
self._io = _io
|
|
132
|
+
self._parent = _parent
|
|
133
|
+
self._root = _root if _root else self
|
|
134
|
+
self._debug = collections.defaultdict(dict)
|
|
135
|
+
|
|
136
|
+
def _read(self):
|
|
137
|
+
self._debug['key']['start'] = self._io.pos()
|
|
138
|
+
self.key = Msgpack(self._io)
|
|
139
|
+
self.key._read()
|
|
140
|
+
self._debug['key']['end'] = self._io.pos()
|
|
141
|
+
self._debug['value']['start'] = self._io.pos()
|
|
142
|
+
self.value = Msgpack(self._io)
|
|
143
|
+
self.value._read()
|
|
144
|
+
self._debug['value']['end'] = self._io.pos()
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
@property
|
|
148
|
+
def is_array_32(self):
|
|
149
|
+
"""
|
|
150
|
+
.. seealso::
|
|
151
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
|
|
152
|
+
"""
|
|
153
|
+
if hasattr(self, '_m_is_array_32'):
|
|
154
|
+
return self._m_is_array_32 if hasattr(self, '_m_is_array_32') else None
|
|
155
|
+
|
|
156
|
+
self._m_is_array_32 = self.b1 == 221
|
|
157
|
+
return self._m_is_array_32 if hasattr(self, '_m_is_array_32') else None
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
def int_value(self):
|
|
161
|
+
if hasattr(self, '_m_int_value'):
|
|
162
|
+
return self._m_int_value if hasattr(self, '_m_int_value') else None
|
|
163
|
+
|
|
164
|
+
if self.is_int:
|
|
165
|
+
self._m_int_value = (self.pos_int7_value if self.is_pos_int7 else (self.neg_int5_value if self.is_neg_int5 else 4919))
|
|
166
|
+
|
|
167
|
+
return self._m_int_value if hasattr(self, '_m_int_value') else None
|
|
168
|
+
|
|
169
|
+
@property
|
|
170
|
+
def str_len(self):
|
|
171
|
+
if hasattr(self, '_m_str_len'):
|
|
172
|
+
return self._m_str_len if hasattr(self, '_m_str_len') else None
|
|
173
|
+
|
|
174
|
+
if self.is_str:
|
|
175
|
+
self._m_str_len = ((self.b1 & 31) if self.is_fix_str else (self.str_len_8 if self.is_str_8 else (self.str_len_16 if self.is_str_16 else self.str_len_32)))
|
|
176
|
+
|
|
177
|
+
return self._m_str_len if hasattr(self, '_m_str_len') else None
|
|
178
|
+
|
|
179
|
+
@property
|
|
180
|
+
def is_fix_array(self):
|
|
181
|
+
"""
|
|
182
|
+
.. seealso::
|
|
183
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
|
|
184
|
+
"""
|
|
185
|
+
if hasattr(self, '_m_is_fix_array'):
|
|
186
|
+
return self._m_is_fix_array if hasattr(self, '_m_is_fix_array') else None
|
|
187
|
+
|
|
188
|
+
self._m_is_fix_array = (self.b1 & 240) == 144
|
|
189
|
+
return self._m_is_fix_array if hasattr(self, '_m_is_fix_array') else None
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
def is_map(self):
|
|
193
|
+
"""
|
|
194
|
+
.. seealso::
|
|
195
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
|
|
196
|
+
"""
|
|
197
|
+
if hasattr(self, '_m_is_map'):
|
|
198
|
+
return self._m_is_map if hasattr(self, '_m_is_map') else None
|
|
199
|
+
|
|
200
|
+
self._m_is_map = ((self.is_fix_map) or (self.is_map_16) or (self.is_map_32))
|
|
201
|
+
return self._m_is_map if hasattr(self, '_m_is_map') else None
|
|
202
|
+
|
|
203
|
+
@property
|
|
204
|
+
def is_array(self):
|
|
205
|
+
"""
|
|
206
|
+
.. seealso::
|
|
207
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
|
|
208
|
+
"""
|
|
209
|
+
if hasattr(self, '_m_is_array'):
|
|
210
|
+
return self._m_is_array if hasattr(self, '_m_is_array') else None
|
|
211
|
+
|
|
212
|
+
self._m_is_array = ((self.is_fix_array) or (self.is_array_16) or (self.is_array_32))
|
|
213
|
+
return self._m_is_array if hasattr(self, '_m_is_array') else None
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
def is_float(self):
|
|
217
|
+
if hasattr(self, '_m_is_float'):
|
|
218
|
+
return self._m_is_float if hasattr(self, '_m_is_float') else None
|
|
219
|
+
|
|
220
|
+
self._m_is_float = ((self.is_float_32) or (self.is_float_64))
|
|
221
|
+
return self._m_is_float if hasattr(self, '_m_is_float') else None
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def is_str_8(self):
|
|
225
|
+
"""
|
|
226
|
+
.. seealso::
|
|
227
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
|
|
228
|
+
"""
|
|
229
|
+
if hasattr(self, '_m_is_str_8'):
|
|
230
|
+
return self._m_is_str_8 if hasattr(self, '_m_is_str_8') else None
|
|
231
|
+
|
|
232
|
+
self._m_is_str_8 = self.b1 == 217
|
|
233
|
+
return self._m_is_str_8 if hasattr(self, '_m_is_str_8') else None
|
|
234
|
+
|
|
235
|
+
@property
|
|
236
|
+
def is_fix_map(self):
|
|
237
|
+
"""
|
|
238
|
+
.. seealso::
|
|
239
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
|
|
240
|
+
"""
|
|
241
|
+
if hasattr(self, '_m_is_fix_map'):
|
|
242
|
+
return self._m_is_fix_map if hasattr(self, '_m_is_fix_map') else None
|
|
243
|
+
|
|
244
|
+
self._m_is_fix_map = (self.b1 & 240) == 128
|
|
245
|
+
return self._m_is_fix_map if hasattr(self, '_m_is_fix_map') else None
|
|
246
|
+
|
|
247
|
+
@property
|
|
248
|
+
def is_int(self):
|
|
249
|
+
if hasattr(self, '_m_is_int'):
|
|
250
|
+
return self._m_is_int if hasattr(self, '_m_is_int') else None
|
|
251
|
+
|
|
252
|
+
self._m_is_int = ((self.is_pos_int7) or (self.is_neg_int5))
|
|
253
|
+
return self._m_is_int if hasattr(self, '_m_is_int') else None
|
|
254
|
+
|
|
255
|
+
@property
|
|
256
|
+
def is_bool(self):
|
|
257
|
+
if hasattr(self, '_m_is_bool'):
|
|
258
|
+
return self._m_is_bool if hasattr(self, '_m_is_bool') else None
|
|
259
|
+
|
|
260
|
+
self._m_is_bool = ((self.b1 == 194) or (self.b1 == 195))
|
|
261
|
+
return self._m_is_bool if hasattr(self, '_m_is_bool') else None
|
|
262
|
+
|
|
263
|
+
@property
|
|
264
|
+
def is_str_16(self):
|
|
265
|
+
"""
|
|
266
|
+
.. seealso::
|
|
267
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
|
|
268
|
+
"""
|
|
269
|
+
if hasattr(self, '_m_is_str_16'):
|
|
270
|
+
return self._m_is_str_16 if hasattr(self, '_m_is_str_16') else None
|
|
271
|
+
|
|
272
|
+
self._m_is_str_16 = self.b1 == 218
|
|
273
|
+
return self._m_is_str_16 if hasattr(self, '_m_is_str_16') else None
|
|
274
|
+
|
|
275
|
+
@property
|
|
276
|
+
def is_float_64(self):
|
|
277
|
+
"""
|
|
278
|
+
.. seealso::
|
|
279
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float
|
|
280
|
+
"""
|
|
281
|
+
if hasattr(self, '_m_is_float_64'):
|
|
282
|
+
return self._m_is_float_64 if hasattr(self, '_m_is_float_64') else None
|
|
283
|
+
|
|
284
|
+
self._m_is_float_64 = self.b1 == 203
|
|
285
|
+
return self._m_is_float_64 if hasattr(self, '_m_is_float_64') else None
|
|
286
|
+
|
|
287
|
+
@property
|
|
288
|
+
def is_map_16(self):
|
|
289
|
+
"""
|
|
290
|
+
.. seealso::
|
|
291
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
|
|
292
|
+
"""
|
|
293
|
+
if hasattr(self, '_m_is_map_16'):
|
|
294
|
+
return self._m_is_map_16 if hasattr(self, '_m_is_map_16') else None
|
|
295
|
+
|
|
296
|
+
self._m_is_map_16 = self.b1 == 222
|
|
297
|
+
return self._m_is_map_16 if hasattr(self, '_m_is_map_16') else None
|
|
298
|
+
|
|
299
|
+
@property
|
|
300
|
+
def is_neg_int5(self):
|
|
301
|
+
if hasattr(self, '_m_is_neg_int5'):
|
|
302
|
+
return self._m_is_neg_int5 if hasattr(self, '_m_is_neg_int5') else None
|
|
303
|
+
|
|
304
|
+
self._m_is_neg_int5 = (self.b1 & 224) == 224
|
|
305
|
+
return self._m_is_neg_int5 if hasattr(self, '_m_is_neg_int5') else None
|
|
306
|
+
|
|
307
|
+
@property
|
|
308
|
+
def pos_int7_value(self):
|
|
309
|
+
if hasattr(self, '_m_pos_int7_value'):
|
|
310
|
+
return self._m_pos_int7_value if hasattr(self, '_m_pos_int7_value') else None
|
|
311
|
+
|
|
312
|
+
if self.is_pos_int7:
|
|
313
|
+
self._m_pos_int7_value = self.b1
|
|
314
|
+
|
|
315
|
+
return self._m_pos_int7_value if hasattr(self, '_m_pos_int7_value') else None
|
|
316
|
+
|
|
317
|
+
@property
|
|
318
|
+
def is_nil(self):
|
|
319
|
+
"""
|
|
320
|
+
.. seealso::
|
|
321
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-nil
|
|
322
|
+
"""
|
|
323
|
+
if hasattr(self, '_m_is_nil'):
|
|
324
|
+
return self._m_is_nil if hasattr(self, '_m_is_nil') else None
|
|
325
|
+
|
|
326
|
+
self._m_is_nil = self.b1 == 192
|
|
327
|
+
return self._m_is_nil if hasattr(self, '_m_is_nil') else None
|
|
328
|
+
|
|
329
|
+
@property
|
|
330
|
+
def float_value(self):
|
|
331
|
+
if hasattr(self, '_m_float_value'):
|
|
332
|
+
return self._m_float_value if hasattr(self, '_m_float_value') else None
|
|
333
|
+
|
|
334
|
+
if self.is_float:
|
|
335
|
+
self._m_float_value = (self.float_32_value if self.is_float_32 else self.float_64_value)
|
|
336
|
+
|
|
337
|
+
return self._m_float_value if hasattr(self, '_m_float_value') else None
|
|
338
|
+
|
|
339
|
+
@property
|
|
340
|
+
def num_array_elements(self):
|
|
341
|
+
"""
|
|
342
|
+
.. seealso::
|
|
343
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
|
|
344
|
+
"""
|
|
345
|
+
if hasattr(self, '_m_num_array_elements'):
|
|
346
|
+
return self._m_num_array_elements if hasattr(self, '_m_num_array_elements') else None
|
|
347
|
+
|
|
348
|
+
if self.is_array:
|
|
349
|
+
self._m_num_array_elements = ((self.b1 & 15) if self.is_fix_array else (self.num_array_elements_16 if self.is_array_16 else self.num_array_elements_32))
|
|
350
|
+
|
|
351
|
+
return self._m_num_array_elements if hasattr(self, '_m_num_array_elements') else None
|
|
352
|
+
|
|
353
|
+
@property
|
|
354
|
+
def neg_int5_value(self):
|
|
355
|
+
if hasattr(self, '_m_neg_int5_value'):
|
|
356
|
+
return self._m_neg_int5_value if hasattr(self, '_m_neg_int5_value') else None
|
|
357
|
+
|
|
358
|
+
if self.is_neg_int5:
|
|
359
|
+
self._m_neg_int5_value = -((self.b1 & 31))
|
|
360
|
+
|
|
361
|
+
return self._m_neg_int5_value if hasattr(self, '_m_neg_int5_value') else None
|
|
362
|
+
|
|
363
|
+
@property
|
|
364
|
+
def bool_value(self):
|
|
365
|
+
"""
|
|
366
|
+
.. seealso::
|
|
367
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-bool
|
|
368
|
+
"""
|
|
369
|
+
if hasattr(self, '_m_bool_value'):
|
|
370
|
+
return self._m_bool_value if hasattr(self, '_m_bool_value') else None
|
|
371
|
+
|
|
372
|
+
if self.is_bool:
|
|
373
|
+
self._m_bool_value = self.b1 == 195
|
|
374
|
+
|
|
375
|
+
return self._m_bool_value if hasattr(self, '_m_bool_value') else None
|
|
376
|
+
|
|
377
|
+
@property
|
|
378
|
+
def is_pos_int7(self):
|
|
379
|
+
if hasattr(self, '_m_is_pos_int7'):
|
|
380
|
+
return self._m_is_pos_int7 if hasattr(self, '_m_is_pos_int7') else None
|
|
381
|
+
|
|
382
|
+
self._m_is_pos_int7 = (self.b1 & 128) == 0
|
|
383
|
+
return self._m_is_pos_int7 if hasattr(self, '_m_is_pos_int7') else None
|
|
384
|
+
|
|
385
|
+
@property
|
|
386
|
+
def is_array_16(self):
|
|
387
|
+
"""
|
|
388
|
+
.. seealso::
|
|
389
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-array
|
|
390
|
+
"""
|
|
391
|
+
if hasattr(self, '_m_is_array_16'):
|
|
392
|
+
return self._m_is_array_16 if hasattr(self, '_m_is_array_16') else None
|
|
393
|
+
|
|
394
|
+
self._m_is_array_16 = self.b1 == 220
|
|
395
|
+
return self._m_is_array_16 if hasattr(self, '_m_is_array_16') else None
|
|
396
|
+
|
|
397
|
+
@property
|
|
398
|
+
def is_str(self):
|
|
399
|
+
if hasattr(self, '_m_is_str'):
|
|
400
|
+
return self._m_is_str if hasattr(self, '_m_is_str') else None
|
|
401
|
+
|
|
402
|
+
self._m_is_str = ((self.is_fix_str) or (self.is_str_8) or (self.is_str_16) or (self.is_str_32))
|
|
403
|
+
return self._m_is_str if hasattr(self, '_m_is_str') else None
|
|
404
|
+
|
|
405
|
+
@property
|
|
406
|
+
def is_fix_str(self):
|
|
407
|
+
"""
|
|
408
|
+
.. seealso::
|
|
409
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
|
|
410
|
+
"""
|
|
411
|
+
if hasattr(self, '_m_is_fix_str'):
|
|
412
|
+
return self._m_is_fix_str if hasattr(self, '_m_is_fix_str') else None
|
|
413
|
+
|
|
414
|
+
self._m_is_fix_str = (self.b1 & 224) == 160
|
|
415
|
+
return self._m_is_fix_str if hasattr(self, '_m_is_fix_str') else None
|
|
416
|
+
|
|
417
|
+
@property
|
|
418
|
+
def is_str_32(self):
|
|
419
|
+
"""
|
|
420
|
+
.. seealso::
|
|
421
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-str
|
|
422
|
+
"""
|
|
423
|
+
if hasattr(self, '_m_is_str_32'):
|
|
424
|
+
return self._m_is_str_32 if hasattr(self, '_m_is_str_32') else None
|
|
425
|
+
|
|
426
|
+
self._m_is_str_32 = self.b1 == 219
|
|
427
|
+
return self._m_is_str_32 if hasattr(self, '_m_is_str_32') else None
|
|
428
|
+
|
|
429
|
+
@property
|
|
430
|
+
def num_map_elements(self):
|
|
431
|
+
"""
|
|
432
|
+
.. seealso::
|
|
433
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
|
|
434
|
+
"""
|
|
435
|
+
if hasattr(self, '_m_num_map_elements'):
|
|
436
|
+
return self._m_num_map_elements if hasattr(self, '_m_num_map_elements') else None
|
|
437
|
+
|
|
438
|
+
if self.is_map:
|
|
439
|
+
self._m_num_map_elements = ((self.b1 & 15) if self.is_fix_map else (self.num_map_elements_16 if self.is_map_16 else self.num_map_elements_32))
|
|
440
|
+
|
|
441
|
+
return self._m_num_map_elements if hasattr(self, '_m_num_map_elements') else None
|
|
442
|
+
|
|
443
|
+
@property
|
|
444
|
+
def is_float_32(self):
|
|
445
|
+
"""
|
|
446
|
+
.. seealso::
|
|
447
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-float
|
|
448
|
+
"""
|
|
449
|
+
if hasattr(self, '_m_is_float_32'):
|
|
450
|
+
return self._m_is_float_32 if hasattr(self, '_m_is_float_32') else None
|
|
451
|
+
|
|
452
|
+
self._m_is_float_32 = self.b1 == 202
|
|
453
|
+
return self._m_is_float_32 if hasattr(self, '_m_is_float_32') else None
|
|
454
|
+
|
|
455
|
+
@property
|
|
456
|
+
def is_map_32(self):
|
|
457
|
+
"""
|
|
458
|
+
.. seealso::
|
|
459
|
+
Source - https://github.com/msgpack/msgpack/blob/master/spec.md#formats-map
|
|
460
|
+
"""
|
|
461
|
+
if hasattr(self, '_m_is_map_32'):
|
|
462
|
+
return self._m_is_map_32 if hasattr(self, '_m_is_map_32') else None
|
|
463
|
+
|
|
464
|
+
self._m_is_map_32 = self.b1 == 223
|
|
465
|
+
return self._m_is_map_32 if hasattr(self, '_m_is_map_32') else None
|
|
466
|
+
|
|
467
|
+
|