Commit Graph

346 Commits

Author SHA1 Message Date
8bc23f7c69 Instead of relying on concreate tasks to do chores, create method in abstract class that calls the BL in concrete class and does chores before and after execution 2023-06-01 10:35:23 +02:00
48b7371a18 Issue missing parameter 2023-05-31 22:34:13 +02:00
61ecefb615 Logging and Chores in abstract class 2023-05-31 22:32:37 +02:00
8ff65bf400 compatibility with older tasks.json 2023-05-31 22:26:53 +02:00
932057cca0 update execution time 2023-05-31 22:20:33 +02:00
e4f33bcca9 Set ExecutionState to waiting after finished 2023-05-31 21:52:50 +02:00
fbba7c45b9 annotation 2023-05-31 21:44:16 +02:00
d9b6062767 Custom JSON Deserializer for concrete classes of abstract class TrangaTask 2023-05-31 21:43:07 +02:00
d477cd1ccd corrected check for tasktype on due 2023-05-31 21:42:23 +02:00
f892db7dda Switch Execution State to Running when executing 2023-05-31 21:40:00 +02:00
16c1b5c506 Create imageCacheFolder 2023-05-31 21:39:18 +02:00
d5ecc1c37d Spelling, redundant calls 2023-05-31 21:18:41 +02:00
1b9ebd096b Removed TaskExecutor
TrangaTask is now abstract
TrangaTask implements Execute Method, that is now called instead of TaskExecutor
Created inheriting classes of TrangaTask: UpdateKomgaLibraryTask, DownloadNewChaptersTask
2023-05-31 21:15:32 +02:00
8619630269 Renamed ExportData to ExportDataAndSettings 2023-05-31 21:14:11 +02:00
2bc92556e3 Method description and Name CopyCoverFromCacheToDownloadLocation 2023-05-31 20:39:57 +02:00
f1ab823e7f Method description 2023-05-31 20:39:23 +02:00
8261d02cc7 Renamed methods, made some methods non-static in Connector, some more logging 2023-05-31 20:29:30 +02:00
5a44e3b8b9 #25 only replace settings if parameter actually contains value. 2023-05-30 19:32:22 +02:00
732c2f119c More logging 2023-05-26 15:09:26 +02:00
81638f4b4a Path.join joins paths ya know 2023-05-26 14:51:11 +02:00
d80980512e #28 is a pain in the buttcheeks 2023-05-26 14:47:13 +02:00
f9f802155d #28 why was there a '!' 2023-05-26 14:43:47 +02:00
eef0955009 #28 wrong filesnames 2023-05-26 14:36:02 +02:00
e5fe14a09e #28 2023-05-26 14:31:34 +02:00
5dc91095f8 #28 2023-05-26 14:30:52 +02:00
985ac8fc7a Fix #28 coverimages 2023-05-26 14:07:11 +02:00
c9537a9963 #24 2023-05-26 13:39:42 +02:00
a1e9dd0232 resolves #27 Foldernames ending in '.' 2023-05-25 22:22:57 +02:00
6fa6f897aa More legal characters 2023-05-25 17:34:24 +02:00
147a20385b illegal filenames 2023-05-25 16:55:58 +02:00
afa18d6a2c Illlegal characters on linux 2023-05-25 16:47:24 +02:00
750df4ed52 Wrong return value 2023-05-25 14:38:43 +02:00
4772ae0756 No unnecessary downloads of covers if they already exist 2023-05-25 14:35:33 +02:00
780df1cd6e Created Image-Cache 2023-05-25 14:25:23 +02:00
5efa00e059 Added field posterBase64 to Publication #22 2023-05-25 13:50:48 +02:00
02075ed1b1 Renamed RequestType Cover to CoverUrl 2023-05-25 13:50:08 +02:00
fc89537f63 Fixed Authorization on redirect 2023-05-24 23:52:25 +02:00
08001fd684 SSL cert error 2023-05-24 22:55:32 +02:00
eddf50483f Fixed some nullable types 2023-05-22 21:44:52 +02:00
a71d65e666 Fix negative sleep time 2023-05-22 21:41:11 +02:00
9a640aed27 Rewrote CoverDownload check if exists. 2023-05-22 21:38:44 +02:00
30b6c4680b Better Rate-Limits
Added Logger to DownloadClient
2023-05-22 21:38:23 +02:00
7b6253de0f Create Publication Folder at start of DownloadNewChapters 2023-05-22 21:37:30 +02:00
5aa3214ce5 TrangaTask.ToString() rewrite for logs-readability.
LogMessages only include class-name without path
2023-05-22 21:37:02 +02:00
9b70994f71 Adjusted RateLimit 2023-05-22 18:55:26 +02:00
93cf341f2d Fixed Publication.InternalId 2023-05-22 18:28:42 +02:00
01cb74c088 First attempt at #18 Rate Limits 2023-05-22 18:15:59 +02:00
ec480dffad Merge pull request 'closes #7' (#17) from Issue_7 into master
Reviewed-on: glax/Tranga#17
2023-05-22 17:21:42 +02:00
b7014cbff5 Merge pull request 'fixes #14' (#16) from Issue_14_ChapterIsDownlaoded into master
Reviewed-on: glax/Tranga#16
2023-05-22 17:21:19 +02:00
0e0ba1796e closes #7 2023-05-22 17:20:07 +02:00
27d8565dc1 fixes #14 2023-05-22 17:09:47 +02:00
79dc44d707 fixes 11 2023-05-22 17:04:31 +02:00
9eb8ddbc40 Changed Publication:
downloadUrl is now publicationId, internal to Connector
posterUrl is now a URL to the file, instead of an id
2023-05-22 16:45:55 +02:00
972cba69ec JsonIgnore
And better working directory stuff
2023-05-22 02:06:49 +02:00
da1b0cb1cd Change to CommonApplicationFolder as applicationPath 2023-05-22 01:53:27 +02:00
5fc2de5fcb logging 2023-05-22 01:20:32 +02:00
4bae223d95 Custom UniqueIdentifier. 2023-05-22 00:33:58 +02:00
b64ab5c6d4 Created TrangaSettings
Different files for settings, tasks, and known publications
Komga connector is stored in TrangaSettings
2023-05-22 00:13:24 +02:00
578fa5e6be JsonIgnore 2023-05-21 23:27:28 +02:00
4d33e78123 unused variable 2023-05-21 22:24:23 +02:00
b55d2a2d06 no duplicate keys 2023-05-21 22:02:05 +02:00
431a602a40 Added Method UpdateSettings to SettingsData
Added Method UpdateSettings to TaskManager (to export data after update)
2023-05-21 22:01:04 +02:00
ea69b355b5 No duplicate keys 2023-05-21 21:24:04 +02:00
84dbc36bbf dont add duplicates 2023-05-21 21:23:51 +02:00
455c87b2e1 New API 2023-05-21 21:12:32 +02:00
6f1a6a43ee API: Edit Settings 2023-05-21 16:49:55 +02:00
6c775d6e0c Moved check into if statement 2023-05-21 16:22:40 +02:00
876b1ab78b Added internalId to Publication 2023-05-21 16:22:14 +02:00
a321ecb1bc string 2023-05-21 15:36:12 +02:00
5dee13c402 FIX bug with incorrect importPath 2023-05-21 15:26:53 +02:00
b5bd5d6126 Fixed some bugs relating to new Filepath of Applicationdata 2023-05-21 15:14:25 +02:00
715cf1f4f3 Use SettingsData in TaskManager 2023-05-21 15:05:53 +02:00
294b819ff0 Created SelectTask menu
Created method to enqueue task
Added option to enqueue task to CLI
2023-05-21 03:18:56 +02:00
95c65c981e Added "Remove task from queue"-Menu
Added "Remove task from queue" to TaskManager

Better naming for deleting tasks and the taskqueue
2023-05-21 03:04:32 +02:00
8829132046 Cleanup code 2023-05-21 02:13:19 +02:00
554f6b4acc TaskCheckerThread new logic 2023-05-21 01:58:24 +02:00
9d0fc18051 Delete old data.json 2023-05-21 01:58:07 +02:00
e02b00e0ef Better/More logging 2023-05-21 01:57:56 +02:00
a557f8cab5 Export Data when starting new task 2023-05-20 23:12:15 +02:00
e3ec5420c0 Fixed bug for enqueued tasks constantly being triggered to execute 2023-05-20 22:21:00 +02:00
d62b0bdf34 Changed Logger to accept string as caller
Added Logger to all relevant methods
2023-05-20 22:10:24 +02:00
4d3861d31b Created Logger 2023-05-20 21:47:54 +02:00
1916018fba Some work on API-side 2023-05-20 17:18:22 +02:00
a6a2d20981 More fancy CLI 2023-05-20 16:35:45 +02:00
086d72565a Formatting of trangaTask string with fixed-with instead of tabs 2023-05-20 16:23:25 +02:00
f2bd5c5e85 Fixed removeTask for tasks without connector 2023-05-20 15:46:40 +02:00
4ee47ed65c Snarky comments. Documentation 2023-05-20 15:05:41 +02:00
430ee2301f Implemented Queue, so that taskManager is not held up with other Connector-tasks.
Tasks are now executed in another Thread.
Replaced TrangaTask.isBeingExecuted bool with 3-states: Waiting, Enqueued, Running
Added Queue size to CLI output.
2023-05-20 14:50:48 +02:00
58de0115d6 Use GetConnector Method. 2023-05-20 14:21:47 +02:00
fa44de0c8d Moved _chapterCollection initialization 2023-05-20 14:18:17 +02:00
72bd1c56a8 Added Method GetConnector to TaskManager that returns Connector with given Name.
Removed Method NewKomga unused
2023-05-20 14:18:03 +02:00
538cfec619 Added UpdateKomgaTask
Fixed Komga-auth
Added Komga to data.json
2023-05-20 14:07:38 +02:00
ff01bac9d4 Changed ComicInfo.xml to use chapternumber as "Number". 2023-05-20 12:53:54 +02:00
52f357021d Added KomgaAPI base,
Rewrote settings/task storage to only produce single file
2023-05-20 12:53:19 +02:00
d9a7eeb5c3 Why is it so complicated to multiply some numbers 2023-05-20 02:42:36 +02:00
e0784b2c38 Added field sortNumber to chapter 2023-05-20 02:39:23 +02:00
0afbfb6010 Add Volume and chapter number to ComicInfo.xml 2023-05-20 02:29:54 +02:00
c2872bf177 cutoff after first decimal 2023-05-20 02:23:37 +02:00
658b93bc51 I hate floating point 2023-05-20 02:10:10 +02:00
3ff2ac1043 Changed numbering scheme, because floating point. 2023-05-20 01:56:33 +02:00
3effc7aeb6 Check later 2023-05-20 01:35:19 +02:00
621468f498 Added InvalidFileNameCharacters to list of replaced Characters in folder-names 2023-05-20 01:31:06 +02:00
2c8e647a04 Simplification 2023-05-20 01:30:34 +02:00
9d583b284a Created Method to check wether file is already downloaded.
Using this method when running TaskExecutor.UpdateChapters to get a list of all chapters that have not yet been downloaded.
2023-05-20 01:30:23 +02:00
08e0fe7c71 We happy? We happy. Thanks ReSharper 2023-05-20 01:06:12 +02:00
9d104b25f8 Renamed some variables,
changed some access-types to protected/readonly
Made Resharper a bit happier
2023-05-20 01:06:00 +02:00
2550beb621 non-english titles can now also be listed. 2023-05-20 00:46:25 +02:00
2b18dc9d4f Added TrangaTask.ToString 2023-05-20 00:37:31 +02:00
3f72e527fa AddTask returns the created Task 2023-05-20 00:36:52 +02:00
84542640dc Renamed Method GetSeriesInfo to GetSeriesInfoJson to avoid confusion with xml 2023-05-20 00:19:40 +02:00
a3520dfd77 Now adding ComicInfo.xml to chapterse 2023-05-20 00:19:04 +02:00
68b40e087e rage 2023-05-19 23:02:08 +02:00
1674d70995 Moved SaveSeriesInfo to 6 lines of code... 2023-05-19 23:01:34 +02:00
78d8deb9de Properly create directory, not file, ya doofus 2023-05-19 23:00:45 +02:00
7726259d19 resharper 2023-05-19 22:59:37 +02:00
dc97774587 series.json is an abomination 2023-05-19 22:59:16 +02:00
26ef59ab42 Check if directory exists before creating 2023-05-19 22:58:59 +02:00
1b59475254 Number Format 2023-05-19 22:58:04 +02:00
5bfd6bc196 Delete Tempfolder even with files in it. 2023-05-19 20:55:19 +02:00
bc99735f76 Download Cover and Create Series Info before Chapters.
Create Publication Directory when calling SaveSeriesInfo and DownloadCover
2023-05-19 20:55:04 +02:00
e499062fd5 Add more documentation 2023-05-19 20:22:13 +02:00
a988d54619 Cleanup temp-dir after download 2023-05-19 20:14:21 +02:00
124c644db1 Added summary for TaskExecutor, TaskManager, TrangaTask 2023-05-19 20:03:17 +02:00
c1a3532a6c Execute now checks if Task is actually in collection 2023-05-19 20:02:58 +02:00
21b8c7e071 Added summary for Publication 2023-05-19 19:53:59 +02:00
ea6026101b Added Summaries to Chapter and Connector
Made some methods static
2023-05-19 19:52:24 +02:00
95eca6e1da Moved _downloadClient initialization from inherited Connector Classes to Connector-Main class. 2023-05-19 19:50:26 +02:00
881caafd43 Moved DownloadImage Method to Connector. 2023-05-19 19:44:59 +02:00
bf20676994 Removed field Publication from Chapter (Since Chapter is always Part of Publication) 2023-05-19 19:32:47 +02:00
58fef5c307 Added force shutdown functionality and option to select wether we want to force or not 2023-05-19 19:21:54 +02:00
c8654dbb85 Changed access types of Import and Export Tasks to private 2023-05-19 19:21:15 +02:00
133b3146b5 Added option to immediately execute a task 2023-05-19 19:20:52 +02:00
312672a05c Check if task is already being executed before running again. 2023-05-19 19:20:06 +02:00
d659a26987 Fixed bug when adding task, that Publication was not added to known publications.
Fixed issue, that chapters would be re-downloaded
2023-05-19 18:20:26 +02:00
8c6c95d07d Fixed issue where unsuccessfull resquests would crash the program. 2023-05-19 18:11:14 +02:00
aa2ab0e1d0 Added GetAllPublications to TaskManager. 2023-05-19 17:36:15 +02:00
f0a4bc3e99 AddTask now takes ConnectorName instead of object 2023-05-19 17:36:03 +02:00
b0f6441599 Changed MangaDex name to MangaDex 2023-05-19 17:35:29 +02:00
e5d7fdf9b4 ExportTasks every time a task is added/removed 2023-05-19 16:35:53 +02:00
d358147673 Moved lastExecuted update to TaskExecutor.Execute 2023-05-19 16:35:27 +02:00
dd58efce06 Working TaskManager and Tasks 2023-05-19 16:27:56 +02:00
cfaf8064cc Check if cover already exists in publication. 2023-05-19 16:27:30 +02:00
9baa9fb8f0 Amended SaveSeriesInfo to not constantly rewrite info 2023-05-19 16:25:08 +02:00
e3aab83dfb When downloading new Chapters, download cover and series info. 2023-05-19 16:24:05 +02:00
afe36ab2ef Switch to Newtonsoft.Json for serialization 2023-05-19 16:23:37 +02:00
0afbcd9bbf Removed field Connector from Publication as it was not needed. 2023-05-19 16:21:59 +02:00
9aa822b900 Created SaveSeriesInfo in Connector 2023-05-19 16:19:10 +02:00
24c58e9e22 Added methods to Add/Remove tasks 2023-05-19 14:15:17 +02:00
f42a0a0017 Added Import/Export-tasks functionality. 2023-05-19 14:15:07 +02:00
6de6d060c4 Rewrite Task-Structure for serialization.
TrangaTask include information on what to execute where, do not execute tasks.
TaskExecutor executes Tasks on information from TrangaTask
2023-05-19 14:00:30 +02:00
3d9e3d019d Future use: Import and export task-list. 2023-05-19 13:59:26 +02:00
741cf88f7f Remove not used methods 2023-05-19 13:58:57 +02:00
86bb49508a Revert serialization attempt 2023-05-18 21:08:09 +02:00
1f8e8fb740 Fixed Capitalization
Added fields for serialization
2023-05-18 21:03:03 +02:00
0fc146019a Rewrite of Task-System for serialization. 2023-05-18 20:58:03 +02:00
db5470769c Changed accessiblity of DownloadChapter(string[] imageUrls, string saveArchiveFilePath) to protected so only inherited classes can call. 2023-05-18 20:57:45 +02:00
e8f25ca9d0 Added Series Info Capability 2023-05-18 20:26:47 +02:00
a54b5e9e1f fixed wrong variable bug 2023-05-18 20:07:47 +02:00
f5225f9f29 Moved filenaming to Chapter struct 2023-05-18 20:06:29 +02:00
glax
c283cbd9a9 Added download cover functionality 2023-05-18 19:56:06 +02:00
glax
f92bcebe04 renamed variable 2023-05-18 19:55:49 +02:00
glax
cd061d23fc renamed variable 2023-05-18 19:55:18 +02:00
glax
ab34ca2c45 Field folderName in publication 2023-05-18 19:54:51 +02:00
glax
3485eac88c More appropriate name for chapter filename 2023-05-18 19:51:26 +02:00
glax
943ce98f38 Tasks are now stored separately in Hashset
Created Dict<Publication, Chapter[]> _chapterCollection for added chapters.
2023-05-18 19:25:46 +02:00
glax
86712714f2 Implemented CreateUpdateChaptersTask
Implemented CreateUpdatePublicationsTask
2023-05-18 19:12:17 +02:00
glax
88e5379e25 Cleanup 2023-05-18 19:04:34 +02:00
glax
a1bd85daa5 Moved field downloadLocation to abstract Connector class. 2023-05-18 18:51:19 +02:00
glax
d46b46f8fb Create Publication Folder and replace downloaded files if necessary. 2023-05-18 18:43:22 +02:00
glax
d191f5dfc7 moved fileName to Chapter for future checking if file exists. 2023-05-18 18:42:36 +02:00
glax
2925206048 fixed chapter order 2023-05-18 18:20:37 +02:00
glax
340a2b7e43 fixed bug where offset wasnt increasing 2023-05-18 18:20:21 +02:00
glax
cbdc91985b fixed bug where offset was increased too soon 2023-05-18 18:20:04 +02:00
glax
e3247e6242 Reduced download delay 2023-05-18 18:19:29 +02:00
glax
170d0c094c Added functionality to only list chapters in selected language 2023-05-18 18:19:04 +02:00
glax
8af8171330 fixed wrong url issue on image download 2023-05-18 17:42:26 +02:00
glax
ada842957e Added file extension to downloaded Images. 2023-05-18 17:42:02 +02:00
glax
81f380dc3c Renamed fields to match private naming style.
Fixed issue where _lastRequest in DownloadClient was not updated.
2023-05-18 17:41:44 +02:00
glax
40242ee7ca fixed wrong id-location when getting chapters 2023-05-18 17:22:02 +02:00
glax
9eb53bb53a Fixed null-Errors in json 2023-05-18 17:21:34 +02:00
glax
9a01db710b Fixed illegal characters in filenames
Fixed logic for downloading images (separation between Connector and inherited classes)
2023-05-18 17:21:06 +02:00
glax
93bb8ef6ee Added delay functionality for rate-limits 2023-05-18 17:20:01 +02:00
glax
ae29b8f341 TODO Download covers: https://api.mangadex.org/docs/retrieving-covers/ https://api.mangadex.org/docs/swagger.html#/ 2023-05-18 16:42:12 +02:00
glax
b54ac730b7 Added Image download and compression to archive to Connector. 2023-05-18 16:42:00 +02:00
glax
c3cb4d6e08 Add optional value to search for Manga instead of downloading all
GetPublications(string = null)
2023-05-18 16:41:14 +02:00
glax
b15e032038 Add field downloadLocation to Connector to save archives. 2023-05-18 16:40:23 +02:00
glax
73df8ad213 Added functionality to DownloadChapter in Mangadex 2023-05-18 16:21:54 +02:00
glax
d13a7c3e49 Add field "url" to Chapter to know where to download. 2023-05-18 16:21:36 +02:00
glax
317d1435f3 Add Publication to DownloadChapter Method, to later correctly save images. 2023-05-18 16:21:02 +02:00
glax
140aac8f87 Added functionality to GetChapters. 2023-05-18 16:04:03 +02:00
glax
71d09229da offset is increased at start of loop to prevent multiple attempts at downloading same list. 2023-05-18 16:03:44 +02:00
glax
6f128ea044 Removed unnecessary fields and changed fieldTypes in Chapter. 2023-05-18 16:03:00 +02:00
glax
8fde7f8885 Added first Connector: MangaDex
Can fetch all Mangas so far.
2023-05-18 15:48:54 +02:00
glax
aa6d2d64bd Changed prototypes for GetPublications, GetChapters and DownloadChapter to return the value instead of using out. 2023-05-18 15:47:48 +02:00
glax
d016d5a8fd Added more fields to Publication 2023-05-18 15:47:05 +02:00
glax
d6ec91c896 Moved files
Added DownloadClient to Connector
2023-05-18 12:26:15 +02:00