4pr0n / ripme

Downloads albums in bulk
MIT License
915 stars 204 forks source link

Option to store folders in a tree-like structure #277

Open cm-mc opened 8 years ago

cm-mc commented 8 years ago

Ex: host\site, instead of _hostsite. Also, add page title to folder - ex: host\site _title_ And also allow moving folders - ex., instead of current:

let organize folders like this:

4pr0n commented 8 years ago

I'm not wild about adding title to the directory; titles change a lot, and this would break the use-case for a lot of users -- being able to re-rip something and only fetch new items. E.g. if the title was an instagram user's tagline, "rerip" would break everytime that user changes their tagline.

Not sure about your second suggestion with folderX and folderY -- what would folderX be? Something the user inputted? How would the ripper know to download to folderX and not folderY?

Regardless, it's not an easy change.

I like the idea of having the subfolders organized by site, e.g. instagram/user1, instagram/user2, but that would require a big rewrite of a lot of RipMe's functionality since it frequently uses host_album as a key; and some albums may contain _ characters, so it can be a simple replace('_', '/').

This would have be be an opt-in feature since it would break previous use-cases (all sites would get re-ripped).

Leaving open as an enhancement request.

4pr0n commented 8 years ago

I think the folderX request lines up with the request in https://github.com/4pr0n/ripme/issues/228 which asks for the ability to set custom folder names.

cm-mc commented 8 years ago

On changing titles - ripme just needs to look for a partial match for the url, so, this page (https://github.com/4pr0n/ripme/issues/277) would become something like github_4pr0n_ripme_277 - Enhancement- change folder struture to tree, instead of flat folder, plus more, and if I wanted to rip it again now, it would just need to look for a matching *`github_4pr0n_ripme_277** folder and, since the title changed, prompt me to rename it to **github_4pr0n_ripme_277 - Option to store folders in a tree-like structure`** (or to ignore the change and leave the name as it was).

Request #228 lines more with the above request for title in the folder name, than with the folder one, imv - has the same reason behind my request: cryptic folder names.

The idea behind folderX is so that, rather than sorting/grouping rips by site (now, all deviantart folders first, then all instagram, then tumblr, twitter, etc. - also even with a tree structure), you could group them in a more meaningful way (e.g.: by content/user/whatever). Again, ripme would just look for a matching host_album for the url, and ignore anything else, including non-matching parent/child folders - or you could have the option to be prompted where to save each rip and that location would be saved in the history file.

Can't see why previously ripped folders would be problematic, though, since ripme derives those names directly from the url using strict rules for each site, without any arbitrary user input, so it would just have to reverse-match a folder name back to the original url and convert it to the new structure (so twitter_account_my_twitter to twitter\my_twitter, instagram_my_instagram to instagram\my_instagram, tumblr_mytumblr.tumblr.com_tag_my-pics to tumblr\mytumblr\my-pics, etc.) - or you could just change them by hand or a batch file/renaming app.

Not sure how easy this would be to implement, but it definitely would give a lot more flexibility in organizing/maintaining a collection.

And btw, speaking of rewriting ripme, pretty sure we agree the logical evolution for ripme would be a move to a plugin architecture. That would offload filter development/maintenance and allow users to create their own custom filters, whether for exotic sites or to rip/organize files in different ways.

Cheers.