You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems like the data models are all done, but there is some refactoring that needs to take place.
the dir stream View still has a setter. All state data needs to be in a model, and the Views pull the data from the project. Move these attributes to the main project model.
think about the best way for a user to configure their project. Config file, or command line switches.
Create a GUID field. It seems there are several GUIDs used throughout the project. Create an object with a __str__() method, as well as a rand() factory method. This way a unique random GUID can be generated for each project. using the uuid package
thinking about (and implementing) interfaces for the Fields, Entities, and Views would be good.
Commenting method signatures
Documentation generation (pydoc, handsdown, need to research options)
input file manipulation. Comparing the blank files in the main project area to their counterparts in the testing area, there are several changes. It seems the exported version of the code headers differs from what is actually compressed in the binary. This needs to be replicated.
Refactor project source file structure.
Moved to a different project and do not need to worry about (here at least)
Separate file writing and OLE configuration from vba project. The vba project should house data that is important for the VBA project. The OLE config needs to be elsewhere. Ideally it would be obfuscated and interfaced enough so that part could be replaced by a more mature ole package down the road (decalage2/olefile ?)
Compression algorithm needs to be implemented. Should this be interfaced and rolled into a separate project? It would be nice to validate coldfusion39/excel-press as a replacement. First glance at the source code shows that it scans for the string ”\x00Attribut” to find the start of the compressed container, which may work in theory on module streams, but definitely not the dir stream.
the Red-Black tree structure is the most technical of the remaining tasks. I need to understand how the coloring works, and the previous-next-sub indexing. I think one of the docs in the sources explains it.
If the file gets large enough (unlikely?) and the number of FAT sectors exceeds 108(I think) we need to implement DIF tree sectors. I think this would be around 6.5 MiB
Need to correctly handle created and modified timestamps. Find a puthon library that can convert between human readable timestamps and the 64 bit binary value.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
It seems like the data models are all done, but there is some refactoring that needs to take place.
Create a GUID field. It seems there are several GUIDs used throughout the project. Create an object with ausing the uuid package__str__()
method, as well as arand()
factory method. This way a unique random GUID can be generated for each project.Moved to a different project and do not need to worry about (here at least)
Beta Was this translation helpful? Give feedback.
All reactions