-
Notifications
You must be signed in to change notification settings - Fork 3
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
Major code revamp #5
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Instead of the interface IDPWorkingFile, all files that are discovered from archives are of base type DPAbstractFile. DPFile is still the same and inherits DPAbstractFile DPAbstractFile will be the abstract class for archive files which inherits DPAbstractFile. DPRARFile inherits from DPAbstractArchive and same for 7z and Zip Added a few structures and enums as well. Removed and revamped some code for performance or memory improvements.
Root contents and contents are back to List type (from Dictionary).
- DSXElement is now DPDSXElement - DSXFile is now DPDSXElementCollection - DSXParser is now DPDSXParser Some performance and memory improvements have been made as well.
Removed LibraryIO and SQLRegexFunction
A revamp of the extraction process. In summary, there have been some performance boosts and significant code refactoring for better productivity in prep for new contributors. - Functions such as `ProcessRAR`, `ProcessZip`, `Process7Z `have 1) their own class such as `DPRarArchive and have been integrated into the required `Extract` and `Peek` methods. - All files detected in an archive has the base class `DPAbstractFile`. - `DPProcessor` purpose is now to determine where files are extracted and handle user interactions if necessary. - All files that are not a supported archive type are of class `DPFile`. - Some meta files such as `.dsx` and `.duf` have their own classes. - `.dsx` files will use the `DPDSXFile` class that allows reading the file when needed. - '.dsx' files will use the `DPDazFile` that allows reading the user content files whether it's gzipped or not. It only reads the first 10 lines for tag creation. - Updated `DPAbstractFile` and `DPAbstractArchive`. - And many more.
Use span for string manipulation.
bye bye o( ̄▽ ̄)d
Fixed errors regarding the extension of a file name - now uses `DPAbstractFile.GetExtension()` to determine the extension; which is the extension without the dot. Fixed AddNewProgressCombo Invoke with no paramater. Fixed multiple instances regarding DPProgressCombo.
- Fixed multiple issues where RelativePath was null. - Fixed issue with RAR archive extracting creating additional directories along with the file (we only want the file). - Fixed issue where all files were going to temp directory instead of only archives going to temp directory. - Checks have been added to make sure that a file has been extracted before processing for Manifest File, processing inner archives, etc. - Fixed a (suprising) long-time bug with GetContentFolder(). - DPAbstractArchive now has a method to get rid of file handle of the archive once we are finished. - Fixed a logic issue with GetRelativePath.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A major revamp of the extraction pipeline has been long overdue. In summary, there have been some performance boosts and significant code refactoring for better productivity in prep for new contributors. Additionally, some functions aside from the extraction pipeline have been moved to different classes or removed entirely.
Highlights
DPRARArchive
,DP7zArchive
,DPZipArchive
for exampleDSX
.DPProcessor
purpose is now to determine where files are extracted and handle user interactions if necessary.