Commit Graph

110 Commits

Author SHA1 Message Date
Joseph Milazzo 280fdc07f2 Fixed a bug where if a chapter had multiple archive files, they wouldn't all be extracted due to short circuit in ExtractArchive. Now I add the file id then flatten afterwards. (#113) 2021-03-26 13:43:54 -05:00
Joseph Milazzo c639b8ca04 Implemented the LastWrite check for Summaries and Series Cover Images. Removed a TODO after validation. 2021-03-24 07:41:52 -05:00
Joseph Milazzo f85918b5bf When we scan a library, store the last write time for a file so we can skip page calculation if there were no modifications. 2021-03-23 17:28:48 -05:00
Joseph Milazzo a176034905 Some smells found in scan. 2021-03-23 15:04:22 -05:00
Joseph Milazzo 70cc163cb0 More cleanup 2021-03-23 14:41:14 -05:00
Joseph Milazzo 6ebf5d6254 Cleanup and tests fixup 2021-03-23 14:37:47 -05:00
Joseph Milazzo 154b30c3fd Implemented fallback functionality. Try to use System.IO.Compression.ZipArchive then fallback to SharpCompress (which is extremely slow).
Currently this hits disk 3 times per operation, needs performance tuning.
2021-03-23 14:12:28 -05:00
Joseph Milazzo 067b5174ab Cleaned up tests and began implementation of fallback functionality 2021-03-23 12:59:40 -05:00
Joseph Milazzo f63c38ac23 Dropped the initial commit for this work due to a large file. Had to do some cleanup from a bad merge. 2021-03-23 12:27:04 -05:00
Joseph Milazzo d724a8f178 A lot of random changes to try and speed up SharpCompress. 2021-03-23 12:22:50 -05:00
Joseph Milazzo d73bd22db2 Some code cleanup 2021-03-23 12:22:47 -05:00
Joseph Milazzo 585e965a85 Fixed some bad test cases that really messed up my codebase. 2021-03-23 12:21:09 -05:00
Joseph Milazzo d543511131 Finished refactoring to SharpCompress. 2021-03-23 12:20:27 -05:00
Joseph Milazzo a125b2ac0b Fixed GetInProgress API - The condition for PagesRead needed to be a sum for all progress, not each row. 2021-03-18 14:18:56 -05:00
Joseph Milazzo b8cd04e1de Fixed a bad if statment that caused every EnsureCache() call to print cache doesn't exist, even though it does. 2021-03-18 10:51:09 -05:00
Joseph Milazzo c312e0706f Removed a leftover code for async 2021-03-17 18:07:10 -05:00
Joseph Milazzo 0a85555f38 Temp commit to record attempts. Stream APIs are implemented and working. Added some new test cases based on deployed Kavita server testing. 2021-03-17 14:29:50 -05:00
Joseph Milazzo 55cd0c5fe5 For the time out on tasks, I'm going to only use Hangfire scheduled tasks on prod. 2021-03-15 17:10:09 -05:00
Joseph Milazzo fad4ca4414 Lots of Hangfire attempts to solve the lock issue. Not sure how to fix it. Added some APIs for streams. 2021-03-15 13:49:13 -05:00
Joseph Milazzo 9035b6cc4e Hangfire now dies gracefully when using CTRL+C rather than Stop button in Rider. Implemented one stream method for testing. Regenerated a few migrations due to oversight in index not taking account of library. 2021-03-15 08:43:43 -05:00
Joseph Milazzo d23a569446 Added a new method for triggering jobs rather than scheduling ad-hoc. 2021-03-14 09:39:48 -05:00
Joseph Milazzo 6e6e5ee9f2 Implemented a startup task that will instantiate all the DI so first API isn't having to eat that overhead. 2021-03-13 17:44:29 -06:00
Joseph Milazzo 983078de02 Ensure I validate before attempting to update password for reset password flow. Send some validation issues back to FE. 2021-03-13 12:28:00 -06:00
Joseph Milazzo d3b42081cb Enable response compression (br and gzip) for images and static assets. After we scan a library, kick of a cleanup of cache to ensure if archives were changed, the cache is cleared too. 2021-03-12 10:37:42 -06:00
Joseph Milazzo 2a8931406d Cleaned up ReaderController to match the new method of loading images in FE. Sends the full files rather than base64 encoded string. 2021-03-09 15:50:17 -06:00
Joseph Milazzo c6e1fec9f2 Implemented the ability to correct a match from UI and further scans will show that new Series name. 2021-03-08 09:33:35 -06:00
Joseph Milazzo ecfb40cb2d Moved some files around, fixed Log file fetching to use zip and work more reliably. Refactored some code in directory service. 2021-02-24 15:58:17 -06:00
Joseph Milazzo bbb4240e20 Implemented download log files (not in service). Refactored backupservice to handle log file splitting. Improved a few interfaces and added some unit tests around them. 2021-02-24 11:59:16 -06:00
Joseph Milazzo cdd44340a2 Implemented update series 2021-02-18 14:07:36 -06:00
Joseph Milazzo 265f7dcc8c Implemented ability to generate Series summary from ComicInfo.xml (if present) 2021-02-17 16:41:42 -06:00
Joseph Milazzo 922c0153d3 Added series progress/rating information back in. Left attempts at doing via a JOIN or raw SQL. 2021-02-17 15:28:57 -06:00
Joseph Milazzo 0258c43b37 Added more edge case handling for Library backup 2021-02-17 09:48:42 -06:00
Joseph Milazzo 0d8c0651a9 Missing refactor variable 2021-02-17 08:58:51 -06:00
Joseph Milazzo b4ee16d8d1 Code cleanup. Implemented ability to schedule Library Backups. 2021-02-17 08:58:36 -06:00
Joseph Milazzo 83b9394b17 Implemented ability to mark a series as Read/Unread. 2021-02-16 12:48:04 -06:00
Joseph Milazzo 2887fab53f Implements search functionality and prepares for upcoming paging in v0.3. 2021-02-15 13:08:30 -06:00
Joseph Milazzo 852317d3a6 Fixed an off by 1 issue with reading manga (for real now) 2021-02-12 17:56:21 -06:00
Joseph Milazzo 9a50241734 Fixed an off by 1 issue with reading manga. 2021-02-12 17:43:19 -06:00
Joseph Milazzo 7eb62376eb Removed some extra code that was not needed in parallelization code. 2021-02-10 15:18:52 -06:00
Joseph Milazzo 726cc8dcb9 Parallelize scanlibrary 2021-02-10 14:15:58 -06:00
Joseph Milazzo 5b5c1e758f Small performance enhancement on fetching library only once. 2021-02-10 12:36:25 -06:00
Joseph Milazzo a501e50c98 Clean up and fixed a parsing case. 2021-02-10 12:16:29 -06:00
Joseph Milazzo aaedb11836 Scanner Service is working perfectly and optimized to the baseline. Next step is to multithread the series generation. 2021-02-10 11:31:27 -06:00
Joseph Milazzo 40154c8d63 Temp stop point. Rewrote the Scanner service to be much cleaner and slightly more efficient. Code is structured so it can easily be multithreaded. 2021-02-09 15:03:02 -06:00
Joseph Milazzo 5c913ba615 Further changes around ScanLibrary. Refactored DirectoryService search pattern to allow for greater re-usability. Fixed a bug where leftover chapters and volumes wouldn't get cleaned up when removed from disk. 2021-02-09 09:22:26 -06:00
Joseph Milazzo d8d01ffaf6 More refactoring around ScannerService. Moved metadata into its own service. Focusing on cleaning up ScanLibrary code to work 100%. 2021-02-08 16:44:18 -06:00
Joseph Milazzo 9461b89725 A hefty refactor of the ScanLibrary code. There were significant fallouts due to duplicate entities getting created and SingleOrDefaults failing. 2021-02-08 12:03:52 -06:00
Joseph Milazzo 57f74d3de3 Implemented partial chapter support. Fixed some edge case where if library scan was skipped due to no modififcation on disk, whole library would be removed. Removed above code for testing. 2021-02-07 13:07:07 -06:00
Joseph Milazzo 077e5f798a Lots of cleanup 2021-02-07 12:02:47 -06:00
Joseph Milazzo 10c8ea34fe Cleanup after feature implementation. 2021-02-04 17:01:37 -06:00