jackBonadies / SeekerAndroid

Android client for the Soulseek peer-to-peer network
GNU General Public License v3.0
247 stars 4 forks source link

Request: include full path in download folder #12

Closed Efreak closed 2 years ago

Efreak commented 2 years ago

Currently if I download a shared for from User's ggp/gp/p/file, it gets saved as [user/]p/file. This is less than ideal when downloading; many files are in hierarchical paths that contain multiple subdirectories.

I attempted to download a hierarchical calendar earlier in the format calendars\calendar\year\month\image.png and failed miserably. There's two problems here:

Please provide an option to save files with the full path [user/]ggp/gp/p/file

jackBonadies commented 2 years ago

Thanks for the feedback and the detailed issue. Reading through this and doing some testing I agree that the way that Seeker treats downloading directory hierarchies is wrong. The case you gave is a good example, another example I can think of is Artist/Album A/cover_art_folder, Artist/Album B/cover_art_folder where there will be a conflict with cover_art_folder due to Seeker's directory tree flattening. I tested the same case out on SoulseekQT and noted that, when downloading a directory tree, the directory structure is in fact preserved.

I think rather than provide an option to save the full path, I will instead make preserving the directory tree structure the default when downloading folders containing sub directories. I think that will be a good solution because (1) it will solve both your calendar example and the example I brought up, (2) its the way that SoulseekQT does it, so it may be more familiar to the end user.

I will update you as I work on it.

jackBonadies commented 2 years ago

This is all set, I set up the following folder structure to test and download using seeker (browse user > download all > yes to recursive/subfolder downloads). The directory hierarchy that was downloaded matched exactly. In this way, the behavior is the exact same as QT. I made the transfers also look similar, if one downloads a folder hierarchy it will show parent folders up to where the user downloaded. See pic. I will commit it to the repo after some more testing. And it will be available in the next release. Thanks again for the opening the issue and the feedback!

test_folder_please_ignore │ extras_root.txt │ ├───2020 │ │ extras_root.txt │ │ extras_root_month_specific.txt │ │ │ ├───01 │ │ header_01.txt │ │ header_02.txt │ │ │ └───02 │ header_01.txt │ header_02.txt │ └───2021 │ extras_root.txt │ extras_root_month_specific.txt │ ├───01 │ header_01.txt │ header_02.txt │ └───02 header_01.txt header_02.txt

_nested

jackBonadies commented 2 years ago

Fixed with commit: 7aeb3a9a249dbb9b4756556d9005fd18dfc05a3e

When it is released please try it out, and of course if there are still bugs or if the intent is incorrect feel free to reopen the issue.

jackBonadies commented 2 years ago

The release is out on IzzyDroid - may take a bit to show up on playstore. It is version 2.8.

Efreak commented 2 years ago

This is working perfectly. Thanks!