RemoteRF 2.2.1__tar.gz → 2.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {remoterf-2.2.1/src/remoterf.egg-info → remoterf-2.2.2}/PKG-INFO +1 -1
- {remoterf-2.2.1 → remoterf-2.2.2}/pyproject.toml +1 -1
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/remoterf_cli.py +2 -4
- {remoterf-2.2.1 → remoterf-2.2.2/src/remoterf.egg-info}/PKG-INFO +1 -1
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_cli_login_fresh.py +11 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_homes.py +1 -6
- {remoterf-2.2.1 → remoterf-2.2.2}/LICENSE +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/README.md +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/setup.cfg +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/deployment_capabilities.proto +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/deployment_capabilities_pb2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/deployment_capabilities_pb2_grpc.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/grpc.proto +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/grpc_pb2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/grpc_pb2_grpc.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/v2_codec.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/tos_notice.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/ansi_codes.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/api_token.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/banner.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/list_string.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/utils/process_arg.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/config/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/config/cert_fetcher.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/config/config.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/acc_login.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/app.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/banner_note.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/direct_path.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/dynamic_v2_transport.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/grpc_acc.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/grpc_client.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/secure_channel.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/core/v2_errors.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/backend.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/direct.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/homes.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/http.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/deployment/state.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/_virtual.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/adalm_pluto/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/adalm_pluto/adalm_pluto_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/dynamic_device.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/dynamic_v2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/hackrf/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/hackrf/hackrf_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/rtl_sdr/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/rtl_sdr/rtl_sdr_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/sim_sdr/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/sim_sdr/sim_sdr_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/support/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/support/ti_mmwave.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/support/uhd.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/support/uhd_dsp.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/support/uhd_v2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/ti_mmwave/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/ti_mmwave/ti_mmwave_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/usrp/__init__.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/usrp/usrp_remote.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/drivers/usrp/usrp_remote.pyi +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/version.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.egg-info/SOURCES.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.egg-info/dependency_links.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.egg-info/entry_points.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.egg-info/requires.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.egg-info/top_level.txt +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_banner.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_config_address.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_deployment_accounts.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_direct_path_fixed.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_direct_path_partner.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_direct_path_race.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_dynamic_device_codegen.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_dynamic_v2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_federated_devices.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_fetch_idl_fallback.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_finish_prompt.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_gate_i_direct_path.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_grpc_client_target.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_native_account_credentials.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_native_devices.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_partner_dynamic_v2.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_pluto_virtual.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_process_arg.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_remoterf_cli.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_ti_mmwave.py +0 -0
- {remoterf-2.2.1 → remoterf-2.2.2}/tests/test_upgrade_rescue.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoterf
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
|
|
5
5
|
Author-email: Ethan Ge <ethoGalaxy@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "remoterf"
|
|
7
|
-
version = "2.2.
|
|
7
|
+
version = "2.2.2"
|
|
8
8
|
description = "A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = "GPL-3.0-or-later"
|
|
@@ -400,10 +400,8 @@ def _login(target: str | None) -> int:
|
|
|
400
400
|
return _register()
|
|
401
401
|
return _account_shell(register=False)
|
|
402
402
|
if target == 'global':
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
printf('Run: ', Sty.GRAY, 'remoterf --register', Sty.CYAN)
|
|
406
|
-
return 2
|
|
403
|
+
# Global's address is built in, so a fresh install can log in to an
|
|
404
|
+
# existing Global account without registering again.
|
|
407
405
|
return _use_global(register=False)
|
|
408
406
|
if target not in homes.homes():
|
|
409
407
|
printf(f'No saved home named {target!r}.', Sty.WARNING)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: remoterf
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.2
|
|
4
4
|
Summary: A python API to remotely access signal centric hardware. Client-side only! Courtesy of Wireless Lab @ UCLA & Prof. Ian Roberts.
|
|
5
5
|
Author-email: Ethan Ge <ethoGalaxy@gmail.com>
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
@@ -25,6 +25,17 @@ def test_login_on_a_fresh_install_registers():
|
|
|
25
25
|
shell.assert_not_called()
|
|
26
26
|
|
|
27
27
|
|
|
28
|
+
def test_login_global_on_a_fresh_install_logs_in_to_global():
|
|
29
|
+
from remoterf import remoterf_cli
|
|
30
|
+
|
|
31
|
+
tmp, env = _fresh_home()
|
|
32
|
+
with tmp, env, \
|
|
33
|
+
mock.patch("remoterf.config.config.require_tos_for_login", return_value=True), \
|
|
34
|
+
mock.patch.object(remoterf_cli, "_use_global", return_value=0) as use_global:
|
|
35
|
+
assert remoterf_cli._login("global") == 0
|
|
36
|
+
use_global.assert_called_once_with(register=False)
|
|
37
|
+
|
|
38
|
+
|
|
28
39
|
def test_login_with_a_legacy_address_still_logs_in_there():
|
|
29
40
|
from remoterf import remoterf_cli
|
|
30
41
|
|
|
@@ -366,13 +366,8 @@ def test_login_names_a_home_explicitly(monkeypatch, reachable):
|
|
|
366
366
|
assert run_cli(["-l", "nope"], monkeypatch, _account_shell=shell) == 2
|
|
367
367
|
|
|
368
368
|
|
|
369
|
-
def
|
|
369
|
+
def test_login_global_works_without_a_saved_global_account(monkeypatch):
|
|
370
370
|
homes.save_home("ucla", document())
|
|
371
|
-
assert run_cli(["-l", "global"], monkeypatch, _account_shell=mock.Mock()) == 2
|
|
372
|
-
|
|
373
|
-
homes.remember_global_account(
|
|
374
|
-
"https://global.remoterf.net", "897541e5-b61f-45f7-a814-8ffeaad2ae69"
|
|
375
|
-
)
|
|
376
371
|
used_global = mock.Mock(return_value=0)
|
|
377
372
|
assert run_cli(["-l", "global"], monkeypatch, _use_global=used_global) == 0
|
|
378
373
|
used_global.assert_called_once_with(register=False)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{remoterf-2.2.1 → remoterf-2.2.2}/src/remoterf/common/grpc/deployment_capabilities_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|