* Began the fax
* Bumped ruff
* Fixed a BUNCH of ruff errors
* Fixed a lot of ruff errors
* Simplify if statements
* Fixed black
* Updated some stuff
* Updated some stuff
* A lot more ruff fixes
* Added a fix
* Added a fix
* Fixed mypy
* Fixed some stuff
* Reverted one thing
* Small fix
* Small fix
* Small fix
* Added fix
* Added fix
* Update requirements
* check that routine title is valid
* more updates
* small fixes
* override local routine
* more improvements to routine logic
* --debug runs .dev
* few more updates
* small fix
* rename BASE_URL from ultima to ULTIMA_BASE_URL
* use debug from dataclasses instead of env since env doesn't get updated
* create --dev flag that can point to .dev backend
* merge conflits
* few changes, made it actually work 🤣
---------
Co-authored-by: tehcoderer <me@tehcoderer.com>
* check that routine title is valid
* more updates
* small fixes
* override local routine
* more improvements to routine logic
* --debug runs .dev
* few more updates
* small fix
* check that routine title is valid
* more updates
* small fixes
* override local routine
* more improvements to routine logic
* --debug runs .dev
* few more updates
* check token expiration before request
* move to jose instead
* ruff
* Reqs
* update requirements files
* Print expiration time on login
* console.print
* too fast, let the token expire...
* fix create token date
* point expired key to hub
* hard code tokens, works?
* ok it passed
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* Update routine tags
This updates available routine tags.
I added other topics than not OpenBB menus. Let me know if anything is missing.
@jmaslek @andrewkenreich @deeleeramone
CC: @Disorrder
* Update constants.py
* Update constants.py
* Update constants.py
* no guest if installer
* prevent guest if logout from account
* this not true
* rename reloop var
* ask for email again if no email
* add tags to routines upload
* Update constants.py
* Update terminal_controller.py
* Update terminal_controller.py
* black
* ruff
* black
* Update constants.py
* point at .co
* mypy
* sneak in askobb timeout
* fix test
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* no guest if installer
* prevent guest if logout from account
* this not true
* rename reloop var
* ask for email again if no email
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* upload routine to hub on stop
* write cassette
* write cassette
* remove .openb from name
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>
* 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>
* split table and chart theme
* add comment
* add comment
* josé does not like white
* rename chart, style vars
* change settings controller help
* Update settings_controller.py
* 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>
* warn user if no token found - 404
* add spaces to colors and theme application
* be more explicit about which color preference is failing
---------
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
* 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
* remove sync and pull
* ruff
* remove runtime fetch configs
* add comment
* reset when logged
* update translation yml file
* sdk regen
* print bold red messages if logout process fails
* fix sources not being applied
* handle bad json
* update hub links
* save terminal crash when sources file is broken
* add user defaults to gitignore
* actually no needed, will just be more specific about richstyle coming from hub
* black
* rewrite stdout
* fix session_model tests
* fix sdk session tests
* move paths
* remove duplicate line
* fix user being reset in test_logout_user test
* remove unecessary recording
* change colors msg
* remove repeated code
* autogenerate credentials model
* revert to to_dict
* black
* mypy
* ruff
* ignore mypy
* degiro secret to replace me
* add safeguard for people not flashing keys
* ruff
* split local and hub keys
* warn if writing to .env
* warn if sending to hub
* update user on what's going on...
* update fixture
* rewrite expected
* rewrite cassettes
* rewrite controller cassettes
* too much changes, let's revert here
* rever env handler
* rewrite std output
* patch usermodel and rewrite cassettes
* delete unecessary cassettes and std out records
* remove controller cassettes
* ruff
* add exception for inconclusive api tests opening controller
* fix twitter key and env handler prints
* fix twitter test
---------
Co-authored-by: Henrique Joaquim <h.joaquim@campus.fct.unl.pt>
* simplifying the way we deal with the SystemModel by removing the need for system.json file
* removing the responsability of supression from the controllers
* supressing logs on reports
* fix etf report
* supressing logs on dashboards
* black
* typo
* ruff
* pylint
* refacotr def extract_parameters
---------
Co-authored-by: James Maslek <jmaslek11@gmail.com>