- adjusted manifest to include config files
- updated config subcommand to reset base config file via 'Reset'
------------------------------------------------------------------------------------
TODO
- add cli args for config to autoconfigure more easily
- update 'snarf config' to interact with main config file and variables
- look into Marshmellow package for class / object cleanup
- add smart idea for getting statement information
- add better version notes to readme's list of "works on"
- re-add stuff for testing on multiple platforms ala mac ;)
- double check how tags & performers are implemented in config and text config and then re-add to docs
- finish updating image/video downloading
- finish updating cli menu functionality
- finish updating profile class & menu
- add bypass for 2fa
https://www.geeksforgeeks.org/two-factor-authentication-using-google-authenticator-in-python/
https://stackoverflow.com/questions/55870489/how-to-handle-google-authenticator-with-selenium
https://stackoverflow.com/questions/8529265/google-authenticator-implementation-in-python
(review usability and code first)
-> OnlyFans: Promos
- clean up / fix & test
- add min/max to args & validators
- re-enable / add promo subcommands and config variables
-> OnlyFans: Profile
- new - setup - Twitter -> profile, banner; Price and Settings
- new - advertise
- new - posts - tweet to advertise new account, tweet to ask about what you should post, etc; recommend what to post
- need to add 'create' to Profile for asking for profile settings when syncing to
- add config for profile templates when testing profile features again
- add tests for profile integration / behavior
- re-enable / add profile subcommands and config variables
-> OnlyFans
- add quiz & target interactions (onlyfans buttons)
- add functionality that follows profiles that are free for a month
- update schedule, date, and time args to accept strings aka "1 day" or "1 day 2 hours"
- update time to accept strings that modify to add to current time aka "+2" or "2 hours" adds 2 hours to the current time
(once everything else in app works again)
- run new auth tests w/ appropriately connected accounts
-> Twitter
- actually test if tweeting behavior works in driver
- needs a dummy account to test actual tweeting w/
- tweet reminders from inlaid config behavior
- can enter and edit the final text that is tweeted
- can include media attachments
-- add checks for previously existing tweets
-- keep track of tweets (somehow)
-> Tests
- separate driver functions into individual components ala schedule --> individual steps; for easier testing (and to clean up the giant ass driver file)
- add tests for newly separated driver files / functions
- add tests for additional config variables such as browser and image/video options, limits
- finish adding tests for individual messaging circumstances: all, recent, favorite, renew on
- finish adding tests for individual message entry parts, individual post entry parts
- add and finish tests for remote browser testing; requires remote server setup for testing? or test on same device or the rpi; readd references to remote in config files and such
(webdriver)
- (if necessary) finish integrating edge, ie, and opera
- figure out how to request specific webdriver versions installs to test v102 for edge
-> CLI Menu
(probably never)
- re-add menu system
- fix any new cli menu errors made while updating major processes
- re-enable prompting for discount amount&months in Settings or somewhere else (at some point)
- re-add removed user select code in notes/selectstuff.py (for menu prompts)
- re-enable menu command
Fix / Debug
- fix how tabs open and scroll and then the process opens another tab to find the same elements and scroll again ala: find users then discount user
(unlikely to be fixed soon, if ever)
- google login: unsafe browser warning --> possibly end of usability --> should I just remove this? form login works, twitter login works (i think)
-- maybe just cut out / leave as is until can debug "unsafe browser" issue?
- debug: discover the cause of the super slow web scraping
-- probably not: debug_delay
---- possibly improved via recent updated coding? (4.3.10)
- figure out how to suppress the chrome stacktrace debugging messages
- fix driver.firefox: DeprecationWarning: service_log_path has been deprecated, please pass in a Service object
Browser Changes
working: brave, chrome, chromium, firefox
not working: edge, ie, opera
existing browsers: chrome, firefox
added new browsers: brave, chromium, ie, edge, and opera
other potential browsers: phantomjs (requires node), safari (requires python2.7)
https://pypi.org/project/webdriver-manager/
https://stackoverflow.com/questions/58686471/how-to-use-edge-chromium-webdriver-unknown-error-cannot-find-msedge-binary
notes:
edge:
requires: msedge-selenium-tools
- might only work for selenium v102
- might only work on Windows
"There are various issues for chromium drivers for browser v103 used by Edge and Google Chrome. These are being addressed in v104, but they are still in beta. Advise that you downgrade for now to v102."
https://stackoverflow.com/questions/72773330/when-running-selenium-edge-in-pyton-getting-sedgedriver-exe-unexpectedly-exite
ie:
- might only work on Windows
https://stackoverflow.com/questions/49787327/selenium-on-mac-message-chromedriver-executable-may-have-wrong-permissions
opera:
- might have a version limit requirement
updating permissions didn't work:
chown -R ubuntu /home/ubuntu/.wdm/drivers
what helps in general:
>> using correct webdriver options generator
>> specifying binary paths
>> correct permissions on binary paths
API
note: the
Bugs