Skip to content

client_from_login_flow does not work if token is not expired #185

@GarrettAndersen

Description

@GarrettAndersen

client_from_manual_flow does work however

Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 122, in spawn_main
exitcode = _main(fd, parent_sentinel)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 131, in _main
prepare(preparation_data)
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 246, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 297, in _fixup_main_from_path
main_content = runpy.run_path(main_path,
^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 286, in run_path
File "", line 98, in _run_module_code
File "", line 88, in _run_code
File "c:\Users\Garrett Andersen\Documents\stocks\schwab_login.py", line 3, in
client = schwab.schwab_client(False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\Garrett Andersen\Documents\stocks\trading_no_trigger.py", line 62, in schwab_client
client = auth.client_from_login_flow(api_key, secret, 'https://127.0.0.1:8080', token_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\schwab\auth.py", line 281, in client_from_login_flow
with callback_server():
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\contextlib.py", line 137, in enter
return next(self.gen)
^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\schwab\auth.py", line 271, in callback_server
server.start()
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\process.py", line 121, in start
self._popen = self._Popen(self)
^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\context.py", line 337, in _Popen
return Popen(process_obj)
^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\popen_spawn_win32.py", line 46, in init
prep_data = spawn.get_preparation_data(process_obj._name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 164, in get_preparation_data
_check_not_importing_main()
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\multiprocess\spawn.py", line 140, in _check_not_importing_main
raise RuntimeError('''
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.

    This probably means that you are not using fork to start your
    child processes and you have forgotten to use the proper idiom
    in the main module:

        if __name__ == '__main__':
            freeze_support()
            ...

    The "freeze_support()" line can be omitted if the program
    is not going to be frozen to produce an executable.

    To fix this issue, refer to the "Safe importing of main module"
    section in https://docs.python.org/3/library/multiprocessing.html

Traceback (most recent call last):
File "c:\Users\Garrett Andersen\Documents\stocks\schwab_login.py", line 3, in
client = schwab.schwab_client(False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users\Garrett Andersen\Documents\stocks\trading_no_trigger.py", line 62, in schwab_client
client = auth.client_from_login_flow(api_key, secret, 'https://127.0.0.1:8080', token_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Garrett Andersen\AppData\Local\Programs\Python\Python312\Lib\site-packages\schwab\auth.py", line 287, in client_from_login_flow
raise RedirectServerExitedError(
schwab.auth.RedirectServerExitedError: Redirect server exited. Are you attempting to use a callback URL without a port number specified?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions