EchterAlsFake / Porn_Fetch

Cross-Platform Porn (Hub) downloader with Account Login and Searching support
GNU General Public License v3.0
117 stars 22 forks source link

[Feature Requests] Allow export of URLs from list | | Allow building a larger list with multiple models, searches, etc converged into a list. #32

Closed xxIndirect closed 6 months ago

xxIndirect commented 6 months ago

Hello,

I just wanted to politely request these two things as features and see if they could be implemented. The exportation of URLs could be from a right click menu or as a button next to the select all (and other) buttons. Potential improvements upon this feature could include formatting and allowing import with duration, model, etc already included using separators in the file to save on network requests.

The second feature would just be allowing for consecutive requests and searches to add to the existing list in the tree (would likely require expanding past 200 available responses in list).

If you hate these ideas then I totally understand but just wanted to offer input on what I think could help make it a more robust software.

Thank you for considering my requests

EchterAlsFake commented 6 months ago

Hi,

thanks for reaching out. The first idea can be easily implemented, but I would not add the model, duration and other information next to the URLs because all video objects are cached which means, that if you load a video object (for further downloading) then all attributes like the title or the duration are available with only one network request, so it wouldn't make a difference. I guess I make a second checkbox for it, so people can decide if they want to add this information, but this wouldn't be beneficial for the speed. But the idea is good :D

For the second idea I would just add another checkbox. Whenever information is added to the treewidget there's a function called which clears the tree widget. So I would just check if the checkbox was checked and if yes, then the tree widget isn't cleared.

I will start implementing this now. Thanks for your ideas :)

EchterAlsFake commented 6 months ago

Implemented it now. Can you maybe test it and give me some feedback if I done it like you wanted it to be? Thanks :)

Edit: I am currently restructurring my APIs. If you install the dependencies you need to install the base api at first:

pip install git+https://github.com/EchterAlsFake/eaf_base_api

Then you can install the requirements.txt

xxIndirect commented 6 months ago

So after running through everything I have some feedback.

Export: Works well except that when you go to save a file it asks about opening instead of saving. I am unable to save directly. The workaround I need to do with this (on windows) is to create a new .txt file with right click context menu > name it whatever I want > select that and save as that.

Import of the file: Works as expected. Can we have it parse model links as well? (e.g. if /model or /pornstar then complete the function for model search?)

Checkbox for list clearing works as expected.

Other Notes: After importing a list, -> selecting all -> download selected it gives me charset detection errors and locks up / stops downloading partway through the links. It imports the list fine though? Super weird. Charset is UTF8 and I dont see any issues in the text other than a line being added before the first link that's generating an error on import that is ignored after clicking Okay first.

EchterAlsFake commented 6 months ago

The charset error probably came from the empty line, which was an error from me. This should be fixed now.

Model links can now also be parsed. This works by writing:

model#MODEL_URL_HERE

I need to use the # separator, as it makes it really easy for me. The issue with opening a file instead of saving is also fixed. Was lost from me :D

Please test the new changes and let me know what you think. Thanks :)

xxIndirect commented 6 months ago

Error on build using Windows script with main.exe giving the following error traceback:

Traceback (most recent call last): File "main.py", line 21, in ImportError: cannot import name 'consts' from 'base_api.modules' (C:\Users\ADMINI~1\AppData\Local\Temp\3_MEI14684282\base_api\modules__init__.pyc) [1329908] Failed to execute script 'main' due to unhandled exception!

Error after manually running main.py and updating Eab_base: \main.py", line 1718, in open_file_dialog if video is False: ^^^^^ UnboundLocalError: cannot access local variable 'video' where it is not associated with a value

I am unable to get it working even with my file being formatted as below: model#https://www.pornhub.com/model/model1 model#https://www.pornhub.com/model/model2 model#https://www.pornhub.com/model/model3

I know the models have videos so thats not the issue

EchterAlsFake commented 6 months ago

Okay so this should be fixed. You can test it once again and if something doesn't work you can reopen this issue, but this should be fixed by now.