KotatsuApp / Kotatsu

Manga reader for Android
https://kotatsu.app
GNU General Public License v3.0
3.71k stars 165 forks source link

Make it possible to import backup from Tachiyomi #301

Open kyoyacchi opened 1 year ago

kyoyacchi commented 1 year ago

Describe your suggested feature

I'd like to be able to import my manga and categories from Tachiyomi to Kotatsu. Is it even possible?

Acknowledgements

Sadwhy commented 1 year ago

I had the blood curling task of migrating every single manga I had from manganato to tachiyom. It took me three days to complete it, one by one. Now that I have found a better app. I don't want to do that again.

ztimms73 commented 1 year ago

It seems to me that it is not advisable to maintain backups from Tachiyomi

ztimms73 commented 9 months ago

https://kotatsu.app/manuals/faq/general/#can-i-restore-my-tachiyomi

kyoyacchi commented 9 months ago

😭😭 I see....

mariodac commented 8 months ago

we need this, now that tachiyomi has ended how are we going to migrate to kotatsu?

Axeraider commented 8 months ago

we need this, now that tachiyomi has ended how are we going to migrate to kotatsu?

He's right. Didnt even know ablut kotatsu till tachiyomi died

Axeraider commented 8 months ago

At least an option to make tachiyomi backup files compatible with the kotatsu backup restoration system would be appreciated. Can't code yet, but if yall need the help. . .

KraXen72 commented 8 months ago

I think this could be feasible. Kotatsu does not support the amount of sources tachi does, but there is a fair overlap of supported sources. Tachiyomi backup restore functionality could be done in several waves of functionality (over multiple updates).

  1. Allow reading tachiyomi backups
    • Kotatsu checks the source the manga is from, and if it's supported adds it (prompts user to enable the source beforehand if needed)
    • Displays a list of manga that could not be restored from the backup (for screenshot, possibly txt download)
    • Adds tracking information to manga found in the backups
      1. Suggest alternatives
        • probably best after #660 is implemetned, but it would suggest all manga that couldn't be imported to be searched & added from other sources. Then, the progress (read chapter, tracking) would be added to them.

I understand this is a lot of work, but with tachiyomi dying, many users will be looking for another manga app while having a tachiyomi backup file. It would save many people a lot of time, especially those with large libraries, from having to add all manga manually. Please re-consider implementing this feature, atleast the first part.
Thanks a ton!!!

Axeraider commented 8 months ago

I think this could be feasible. Kotatsu does not support the amount of sources tachi does, but there is a fair overlap of supported sources. Tachiyomi backup restore functionality could be done in several waves of functionality (over multiple updates).

  1. Allow reading tachiyomi backups

    • Kotatsu checks the source the manga is from, and if it's supported adds it (prompts user to enable the source beforehand if needed)
    • Displays a list of manga that could not be restored from the backup (for screenshot, possibly txt download)
    • Adds tracking information to manga found in the backups
  2. Suggest alternatives

    • probably best after Manga Migration #660 is implemetned, but it would suggest all manga that couldn't be imported to be searched & added from other sources. Then, the progress (read chapter, tracking) would be added to them.

I understand this is a lot of work, but with tachiyomi dying, many users will be looking for another manga app while having a tachiyomi backup file. It would save many people a lot of time, especially those with large libraries, from having to add all manga manually. Please re-consider implementing this feature, atleast the first part. Thanks a ton!!!

My thoughts exactly. With the massive influx of tachi users the app will would make a lot of very happy new customers to be able to port over their data with that that level of simplicity? And all they said was that tachiyomi couldn't be developed anymore, there's no reason that developers from over there can't come beef up the completely different app kotatsu. Just sayin'. . .

Hell0Earth commented 8 months ago

https://kotatsu.app/manuals/faq/general/#can-i-restore-my-tachiyomi

But all my tachiyomi sources are already present on kotstu, so all my library items can be found on kotstu. Migrate data it's not possible but what about read Tachiyomi library backup structure, get manga names and do a hidden search on all enable kotatsu sources and add it to favourites.

ztimms73 commented 8 months ago

it's not as simple as you think

ztimms73 commented 8 months ago

and this method with searching for manga and automatically adding to favorites will not be used

ztimms73 commented 8 months ago

I need to dig around and look at the Tachiyomi backup and correlate all the IDs of the Tachiyomi extensions (and there are more than 1000 of them) with the Kotatsu parsers (there are also about 1000 of them)

ztimms73 commented 8 months ago

and this is a very difficult job. and whether it will be worth it, I'm not sure but I'll try

Hell0Earth commented 8 months ago

I need to dig around and look at the Tachiyomi backup and correlate all the IDs of the Tachiyomi extensions (and there are more than 1000 of them) with the Kotatsu parsers (there are also about 1000 of them)

And with global Search, most of people only use their language sources and if add other language sources it's because they know more of 1 language, maybe can be more easy if get manga name, do a global search on kotatsu then compare first search result and if both names are exactly the same, add the first found result to the favourites sections. All mangas that can't be found can be saved on a log file to allow the user to search it manually and library categories can be created and organised again by the users. What do you think?

Hell0Earth commented 8 months ago

I need to dig around and look at the Tachiyomi backup and correlate all the IDs of the Tachiyomi extensions (and there are more than 1000 of them) with the Kotatsu parsers (there are also about 1000 of them)

And with global Search, most of people only use their language sources and if add other language sources it's because they know more of 1 language, maybe can be more easy if get manga name, do a global search on kotatsu then compare first search result and if both names are exactly the same, add the first found result to the favourites sections. All mangas that can't be found can be saved on a log file to allow the user to search it manually and library categories can be created and organised again by the users. What do you think?

Limitations:

1) Library categories and organization won't be restored. 2) Some mangas maybe can't be restored. 3) Preferably it's recommended to use your native language srouces.

The good part:

1)Probably most of your library can be restored, it's the hard work if you have a lot of saved content. 2) Not restored items will be saved on a log file and can be restored if you found it manually.

It's much better than nothing.

Rabcor commented 7 months ago

Thankfully i had only been using tachiyomi for about a year, so it only took me a few hours to ferry everything over to kotatsu by hand (it was probably around a 100 manga overall).

I got into a rhythm, open it in tachiyomi, check the total number of chapters and my progress, hold finger on title to copy, switch to kotatsu, paste to search through all sources, find the best one based on chaptercount, add to library, set progress, delete from tachiyomi (just to keep track of what i've added and what not), repeat.

It was worth the effort though, because i'm finding that kotatsu is quite simply a superior app. the performance is way better, it's more obedient about actually scrolling the way you tell it to, and i love the page view, oh my god, to be able to preview a manga and see if it looks worth reading is :ok_hand: amazing.

I think my favorite reason is probably that kotatsu doesn't do that extension bullshit, tachiyomi's extensions where you install like 50 apps, one for each source is a gigantic, enormous, gaping security hole. You have no idea if you can trust all these extensions unless you dig through the code of each and every one, it's a nightmare. In kotatsu you only have to trust kotatsu, just install 1 app and it's done.

But to anyone who simply cannot imagine doing this by hand (which i can understand, it was a pain in the ass, worth it, but pain in the ass), you could just use mihon instead, it's a tachiyomi fork where you can restore a backup from tachiyomi and be done with it, but extensions still work with mihon, unlike tachiyomi itself.

To be honest I hope the kotatsu devs put priority on this issue though, tachiyomi just basically committed suicide, it's a great opportunity to snatch the majority of the userbase (and you'd honestly be doing them all a favor by doing it, cuz it's a way better experience than tachiyomi in the first place over here).


Honestly I do have one idea of how this could be relatively simply implemented. Not a minor feature mind you, but not complicated.

It doesn't have to be a perfect one click thing.

Just make it a process something like this

  1. Read from tachiyomi backup and scrub names, sourcenames, progress and category from all entries, then add these to kotatsu (but as non-functional entries within functional categories, the only data here is name and progress and the name of the source used in tachiyomi)
  2. Make a semi-automatic step (user confirmation required) to auto-add sources in kotatsu that have names that match very closely (maybe just same name but not case-sensitive or something) as the ones found in the list.
  3. Make a semi-automatic step (user initiation and confirmation required, give the user time to add more sources between step 2 and this step), auto-search for manga by name and source for those who have known sources, and just by name across all sources when there isn't a known source, then auto-apply the progress and update the entries to be now kotatsu compatible. Also optionally this step could require user confirmation for each entry (e.g. it pops up a thumbnail, sourcename and chapter count and asks the user to confirm that this looks right to them, and if they say no that entry gets skipped)
  4. For entries that couldn't be found/were skipped, the user can click them in their library and hit a button which takes them to search for the title through all sources, and if they then click something they find, they see the chapter count and are asked to confirm if they want to update the entry. Which if they do, it gets updated and progress is applied.

That's about it for my idea. It should be at least workable, and the main point here is to save time, you don't have to save people all the time they would spend on porting their library over from tachiyomi to kotatsu, but if you save them 9 out of 10 hours, that's great.

Axeraider commented 7 months ago

That sounds like processing a lot of raw data, is that anything regular people can help with doing commits?

On Mon, Jan 15, 2024, 09:17 ztimms73 @.***> wrote:

and this is a very difficult job. and whether it will be worth it, I'm not sure but I'll try

— Reply to this email directly, view it on GitHub https://github.com/KotatsuApp/Kotatsu/issues/301#issuecomment-1892543999, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUOGGCID5ZCUM2YSDAUTRMTYOVQD3AVCNFSM6AAAAAAUH7BJ36VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJSGU2DGOJZHE . You are receiving this because you commented.Message ID: @.***>

kyoyacchi commented 6 months ago

Maybe check out https://github.com/KotatsuApp/Kotatsu/issues/800?

Hell0Earth commented 6 months ago

Maybe check out https://github.com/KotatsuApp/Kotatsu/issues/800?

It's an excellent tool but only support English srouces.

PhantomShift commented 6 months ago

Wasn't aware this issue existed, but the process mentioned by Rabcor (specifically steps 1 and 2) has been implemented in nekotatsu to a certain extent if you'd like something to reference if you decide to implement this feature. The general overview is

  1. Get a list of Tachiyomi extensions (there are lots of repositories you could pull from)
  2. Get a list of Kotatsu parsers This should be simpler on Kotatsu's end, my implementation scrapes the kotatsu-parsers source code since I don't have a way of interfacing with Kotatsu directly
  3. Map extensions to parser implementations by comparing source names and source urls

In fact, the main problem with the implementation present in nekotatsu is that I'm scraping the parser definitions from the kotatsu-parsers source code, which has complications due to all the different implementations. I'm of the opinion that this is an otherwise trivial process as the actual conversion of a Tachiyomi manga to a Kotatsu manga is fairly easy. Too bad I have zero Java/Kotlin experience