* bump pywry
* fix windows pyinstaller subprocess fail if space in path
* remove API_IEX_TOKEN
* remove API_SENTIMENTINVESTOR_TOKEN
* added logic to download_routines and save_routine to put default and personal routines in difference folders and changed logic in call_dowload in account controller to account for the change in logic for save_routine
* Changed logic in read_routine function to account for the new directory structure and also changed the corresponding unit tests. Slightly amended test_save_routine to account for the new routine param
* Changed the routine parameter of mock_save_routine.assert_called_once_with to account for the change in the input parameter of the save_routine function
* changed routine string in test_routines_handler
* Made unit tests for download_routines in routines_handler.
* added comments
* Added new logic to call_exe so that a user could execute the file with --file default/filename.openbb, --file personal/filename.openbb or --file Users/Username/openBBUserData/Routines/hub/default/filename.openbb
* linting: black
* linting: ruff
* ruff broke black
* removed regex in call_exe and changed logic in call_download to give personal routines priority
* Changed formatting
* Changed formatting and removed regex from call_exe
* Created class variables and moved dictionaries out of constructor to solve linting issue.
Changed routine args type annotation
Changed data list
* Added type annotations for the dictionary class variables
* Changed data annotation type for routine dictionaries
* Moved dictionaries back into constructor
* removed import pathlib
* ruff
* mypy
* pylint
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
Co-authored-by: teh_coderer <me@tehcoderer.com>
Co-authored-by: Diogo Sousa <montezdesousa@gmail.com>
Co-authored-by: montezdesousa <79287829+montezdesousa@users.noreply.github.com>
* keep session alive on reset
* remove print
* silence routines
* ruff
* skip login if is papermill
* ruff
* move is_papermill to avoid prompt_toolkit warning fd is not a terminal
* move is_papermill back and check for atty instead
* only download routines and update sources if terminal
* only starts prompt toolkit if isatty
* black
* avoid duplicate files after reset/login
* remove hub routines on reset
* comment
* fix unittest
* forgot this debugging prints
* add remember attribute to user
* don't save hist if not remember
* remove routines on exit if not remember
* fix unittests
* remove hub routines on exit
* check if user is local first
* remove hist file on exit if not remember
* comma
* Fix `exe --file` choices on login (#4799)
* download and save routines in sync, to have choices immediatly available
* fix: docs min
---------
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* don't delete session on reset
* Update terminal_helper.py
* Update terminal_helper.py
* less prints
---------
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* add remember attribute to user
* don't save hist if not remember
* remove routines on exit if not remember
* fix unittests
* remove hub routines on exit
* check if user is local first
* remove hist file on exit if not remember
* comma
* Fix `exe --file` choices on login (#4799)
* download and save routines in sync, to have choices immediatly available
* fix: docs min
---------
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
---------
Co-authored-by: jose-donato <zmcdonato@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* make default routines available
* remove unecessary change
* user to personal
* rename some funcs
* add last update to tables
* add routines download on login
* move some routines funcs to controller
* fix tests
* add space
* wrap some funcs inside try, except
* fix account test
* suppress outputs
* rewrite docstring
* remove circular import
* reverse order
* update docstring
* allow exe with spaces in file name
* fix exe with input
* Update terminal_controller.py
* fix regex for file extensions
* pylint
* put default routines url inside constants
---------
Co-authored-by: Jeroen Bouma <jer.bouma@gmail.com>
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* loop and update sources
* clean update sources dict
* use only allowed sources and update hub sources on login
* silently update hub
* ruff
* update only allowed sources now
* clean up some funcs
* fix dict on tests
* mypy
* remove unused method
* change class arg name sources_dict
* change attribute name in sources model
* remove allowed from SourcesModel
* change from user_choices to choices
* change default msg
* move update flair
* sort repr
* remove packaged sys model var
* update decorator for check api key
* ruff
* change if stat
* ruff
* no need for new var
* pylint
* fix show version
* update login prompt and account
* update set preference
* fix account controller
* block login/logout if not called from account
* change conditions to start terminal
* fix required args account model
* add not to login command
* pylint
* accounte controller messages
* set default user when logout
* logout then show menu
* remove unused functions
* fix logging bug
* ruff
* fix account unittests
* fix session unittests
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>