Commit graph

104 commits

Author SHA1 Message Date
Joseph Milazzo
ec64bf90c0 Moved the test data around so more tests can use it properly. Added a IsValidArchive that is re-usable for all archive methods. 2021-01-26 10:32:07 -06:00
Joseph Milazzo
6621730afb Refactored more archive code into the service and updated documentation now that methods are public. 2021-01-26 10:03:06 -06:00
Joseph Milazzo
6b76c8b211 Refactored archive code into a service so that I can write tests for it. 2021-01-26 09:55:15 -06:00
Joseph Milazzo
07fd959b22 Fixed some errors being thrown when not needed on Cache.Ensure(). Added ability to send actual mangafile information on the volume() api so we can display to the user. 2021-01-26 07:55:40 -06:00
Joseph Milazzo
165757d338 Removed sharpcompress code. 2021-01-25 18:18:24 -06:00
Joseph Milazzo
6cc11d5c4c Tried SharpCompress but had 20x speed decrement. Not using. 2021-01-25 18:18:07 -06:00
Joseph Milazzo
21f6889b99 Fixed a bug where scanned series weren't all being saved due to threads conflicting with each other. 2021-01-25 15:39:29 -06:00
Joseph Milazzo
ae6682f011 Fixed a small bug due to missing a file when I committed nullable to different branch. 2021-01-25 14:49:10 -06:00
Joseph Milazzo
7cd0b80ac2 More regex tweaking and use cases for real library. 2021-01-24 14:08:09 -06:00
Joseph Milazzo
8683c81361 There is a theme...more regex changes. Moved the logic around parsing and falling back into Parser.Parse() and setup testing for it. 2021-01-24 10:05:53 -06:00
Joseph Milazzo
a315feb569 More Parser tests and more cases! Added ability to parse Editions for Manga (Omnibus, Color, etc). To be stripped from Series if present. Future can be stored on MangaFile. 2021-01-24 08:34:57 -06:00
Joseph Milazzo
a057e3ce1d Lots of bug fixes around publishing and handling weird cases on a real manga library. Implemented ability to have Volumes number 0 aka just latest chapters. Refactored DirectoryService code for scanning into it's own service. Lots of debug code, will be cleaned up later. 2021-01-23 17:44:48 -06:00
Joseph Milazzo
18385a4f80 Implemented ability to have server settings. Currently cache directory is there but it is not configurable (or used in this commit) 2021-01-23 09:01:10 -06:00
Joseph Milazzo
3c8e4b2240 Cleaned up some warnings and implemented re-occuring scan libraries task. Customization of task schedules is in v0.2. 2021-01-19 14:41:50 -06:00
Joseph Milazzo
e180032a8e ScanLibrary now respects the library a series belongs to, doesn't reset series every run but updates/removes/inserts as needed. 2021-01-19 14:35:24 -06:00
Joseph Milazzo
44ebca36ec Cleaned up some TODOs. 2021-01-19 12:51:41 -06:00
Joseph Milazzo
c75feb03e1 Fixed offset bug in GetCachedPagePath for if you've read just one page. Fixed a bad refactor for getting files. 2021-01-19 12:06:45 -06:00
Joseph Milazzo
14e8c3b820 Fixed some APIs that worked mins ago....something strange happening with EF relationships. 2021-01-19 10:45:37 -06:00
Joseph Milazzo
295e62d773 Fixed grant-access api and new library to properly update the db. Somehow the old way of updating db no longer works. 2021-01-18 17:18:42 -06:00
Joseph Milazzo
26660a9bb3 Further cleanup. Moved BackgroundJob Task enqueues into TaskScheduler, so I can have complete control via one interface. 2021-01-18 13:53:24 -06:00
Joseph Milazzo
825afd83a2 Removed some dead code on the interfaces. Introduced UnitOfWork to simplify repo injection. 2021-01-18 13:07:48 -06:00
Joseph Milazzo
effdf07cef Very messy code that implements read status tracking. Needs major cleanup. 2021-01-17 15:05:27 -06:00
Joseph Milazzo
7f404a0ce9 Implemented the ability to flatten directories, esp useful with nested folders in archives. 2021-01-14 10:02:56 -06:00
Joseph Milazzo
56e8a0059e Implemented ability to delete a series. Refactored some operations to remove unneeded parameters. 2021-01-12 16:51:23 -06:00
Joseph Milazzo
83076f02ad Forgot to update DTO to send it to the Frontend. 2021-01-12 14:09:20 -06:00
Joseph Milazzo
28ce2bbba1 Refactored volume to contain pages and removed /reader/info API endpoint. 2021-01-11 17:36:11 -06:00
Joseph Milazzo
c2b41b774a Fixed issue where chapter based volumes wouldn't properly handle chapter divide when reading a manga. 2021-01-11 17:11:06 -06:00
Joseph Milazzo
731e3a9c5e Cache cleanup implemented 2021-01-11 15:39:25 -06:00
Joseph Milazzo
f737f662df Added a sorting mechanism to emulate how windows sorts files. Refactored cache to support chapter folders as well. 2021-01-10 12:47:34 -06:00
Joseph Milazzo
6020697d7d Cleaned up some warnings 2021-01-09 16:22:28 -06:00
Joseph Milazzo
cd8a1d2892 Added a basic cache service to handle interations with the underlying cache implementation. Refactored some code to be more robust. 2021-01-09 16:14:28 -06:00
Joseph Milazzo
59a4921ba9 Refactored ScanLibrary to produce page numbers on the Manga File, Format and to update existing series/volumes rather than always create new entries. 2021-01-09 15:27:04 -06:00
Joseph Milazzo
7bf04dcdac Implemented the ability to send images to frontend with some contextual information. 2021-01-08 15:17:39 -06:00
Joseph Milazzo
7ab7e8acc4 Implemented the ability to extract an archive image to a cache directory. 2021-01-08 13:28:59 -06:00
Joseph Milazzo
4c40284af2 Changed ScanLibrary to not use optional param due to build issue on Github. 2021-01-08 08:25:07 -06:00
Joseph Milazzo
0b35ec70fd Refactored GetCoverImage to create a thumbnail (optional) instead of raw image (raw images are large and bloat API, using thumbnail is indistiguishable); b) Ability to force updating cover images in DB even if they are already set. 2021-01-07 10:30:54 -06:00
Joseph Milazzo
7f5a1d0518 Refactored GetCoverImage to a static class and unit tested it. Enhanced the method by defaulting to folder.jpg file if exists, else takes first entry. 2021-01-05 15:00:49 -06:00
Andrew Song
451d459473 adding initial coverimage functionality 2021-01-03 19:50:10 -06:00
Joseph Milazzo
7b1714349d Refactored ScanLibrary to accept and library id rather than DTO. Refactored ScanLibrary to use Task.Run() rather than having synchronous repo methods. 2021-01-02 12:48:48 -06:00
Joseph Milazzo
9168e12483 Refactored Volume to have Name and Number (int) so that we can properly sort and still handle possible split volumes.
Refactored ScanLibrary into Library controller and updated it so it adds the new library to all admins.
2021-01-02 12:21:36 -06:00
Joseph Milazzo
d632e53f18 Added ability to automatically track last modified and created timestamps for entities via an interface. DBContext will automatically update for us. 2021-01-02 10:59:52 -06:00
Joseph Milazzo
fa71a40990 Fixed warnings in code 2021-01-01 14:18:29 -06:00
Joseph Milazzo
c429c50ba2 Fixed a bug in ScanLibrary that caused duplicated Volumes. Implemented APIs for navigating down to Volume for webui.
This is rough code and needs to be polished and refactored.
2021-01-01 14:04:31 -06:00
Joseph Milazzo
380c3e7b3c Rough version of Saving Series, Volumes, and MangaFiles to the DB. Relies on Cascaded delete rather than manually handling updating of file changes. 2020-12-30 11:30:12 -06:00
Joseph Milazzo
104c63b2b9 Cleaned up the code from previous enhancements. 2020-12-29 11:01:52 -06:00
Joseph Milazzo
0a49b07570 Implemented a parallelized, rough, scanning loop which parses out information and leaves us with an immutable dictionary mapping series to parsed infos for each file.
Added some Entities to help translate this into DB.
2020-12-29 10:47:10 -06:00
Joseph Milazzo
49b4ee0022 Added a new method to search for files against multiple filters, rather than grabbing all files then filtering. 2020-12-27 11:38:07 -06:00
Joseph Milazzo
8c80ed090d Added basic parsing and unit tests. Setting up an intermediate object to hold information from parser. Removed hangfire db from git. 2020-12-27 11:14:45 -06:00
Joseph Milazzo
4fd9943b91 Added Hangfire with LiteDB for a task running system. At the most basic, this allows us to monitor tasks running on the system (during dev only) and run tasks on a reoccuring or ad-hoc basis. 2020-12-26 14:03:35 -06:00
Joseph Milazzo
b3f210a8ab Added Hangfire and Hangfire SQLite extension for future task framework. Added a basic directory scanning implementation. 2020-12-26 09:08:27 -06:00