johanneszab / TumblThree

A Tumblr Blog Backup Application
https://www.jzab.de/content/tumblthree
MIT License
920 stars 130 forks source link

Command-line interface (CLI) #159

Open johanneszab opened 7 years ago

johanneszab commented 7 years ago

It should be possible without much work to add a command line parser. That would also help running TumblThree from Linux until a proper GUI has arrived.

Since all the Application code is in its own VS project separated from the GUI, and the code has mostly proper interfaces, the crawler might be started as simply as using two lines of code by getting the factory and start the crawl. Maybe it's some more work ..

Adding a blog database should also be relative simple. I've implemented a IBlogFactory and all the logic for determining what kind of blog is behind an url is in this method. I've also implemented a TumblrBlogDetector that checks the tumblr.com network for valid input.

An example blog addition can be seen here as used in the clipboard monitor and the Add Blog textbox on the main user interface.

DonaldTsang commented 6 years ago

Is it possible to repackage TumblThree into a Python library?

johanneszab commented 6 years ago

To be honest, unless you're going to commit code, nothing of your python stuff (#254) is ever going to happen. Not that I don't like python nor Linux or open source, but this issue is open for 3 years yet, and since I'm developing this application alone, I can tell you, it has no priority for me.

So, in my opinion, you've two options:

  1. Help TumblThree and implement a command line parser and check the TumlThree.Applications and TumblThree.Domain projects that they are system neutral and can run under .NET core.
  2. Choose one of the plenty python tumblr downloader around and improve them. I can tell you, most of them suck (code wise and feature wise). Most of them have the same problem TumblThree has: No developer.
DonaldTsang commented 6 years ago

@johanneszab I would hope that TumblThree can get some extra features from https://github.com/bbolli/tumblr-utils to make it so that it can scrape links and extra content, and make it into a Python library to be integrated into https://github.com/hydrusnetwork/hydrus or Go library into https://github.com/bakape/hydron

DonaldTsang commented 6 years ago

Also https://www.reddit.com/r/DataHoarder/comments/1sozj7/guide_keeping_complete_backups_of_tumblr_blogs/