Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Figure out what parts of the todo.txt actually still need to be done and make issues. #8

Open
ShellyHerself opened this issue Jan 16, 2020 · 0 comments

Comments

@ShellyHerself
Copy link
Member

CRITICAL THINGS TO DOCUMENT

blocks/block    module
    Block class
        serialize

blocks/array_block    module
    ArrayBlock class
    PArrayBlock class

blocks/list_block    module
    ListBlock class
    PListBlock class

defs/block_def    module
    BlockDef class
        build

tag    module
    Tag class
        parse
        serialize

__init__

Need to write up a simple-ish tutorial on how to use the library

Rename uses of attr_index to field_index?

Need to make an OnDemand FieldType(maybe LazyParser?)
    Might store a reference to the rawdata stream(or a piece of it),
    the size of what to read from it, and the offset to read it from.
    Will also need to store an endianness so it knows if it needs to
    actually parse the data to reverse it or if it can just write it.

Need to make an Mapping FieldType and a DictBlock
    The DictBlock will handle how the keys items are stored and retrieved(and
    whether they are ordered or not) and will need to allow accessing values
    by their names as well as the integer index they are at if they are ordered.

    The parser and serializer will handle parsing and serializing the keys and values.

    They will also determine whether or not the keys and values are interleved.

    Need to figure out how to store the keys and values so the type of key and type
    of value can be determined while parsing/serializing.


Binilla:
    Hex editor window:
        Make it able to be opened in multiple instances and able to be given either a
            chunk of rawdata to edit or a filepath to open and modify


Non-critical things that need documentation:

blocks/block
    Block
        __setattr__
        __delattr__
        __binsize__
        get_desc
        get_neighbor
        get_meta
        get_size
        set_neighbor
        set_meta
        set_size
        collect_pointers
        set_pointers
        parse

blocks/array_block
    ArrayBlock
        get_size(needs cleanup)
        set_size
        collect_pointers
    PArrayBlock
        __setattr__
        __delattr__

blocks/list_block
    ListBlock
        __binsize__
        set_size
        collect_pointers
    PListBlock
        __setattr__
        __delattr__

defs/block_def
    BlockDef
        decode_value
        find_errors
        get_align
        get_endian
        get_size
        include_attrs
        make_desc
        make_subdefs
        sanitize
        sanitize_loop
        sanitize_element_ordering
        sanitize_name
        sanitize_entry_count
        sanitize_option_values
        str_to_name

tag
    Tag
        __init__
        __copy__
        __deepcopy__
        __sizeof__
        set_pointers

field_type_methods
    TOO MANY TO LIST```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant