Skip to content

Conversation

@panda361
Copy link

TLDR: 支持自定义 srun 认证 portal,兼容外校/不同认证地址。

修改内容:

  1. 在 user.py 相关逻辑中增加了 auth_url 参数,所有认证相关请求均可自定义 portal 地址。
  2. 对所有的CLI命令(如 login/logout/status)均支持 --auth_url 参数,用户可通过命令行指定认证 portal。
  3. README 增加了“Srun at other campuses”部分,说明如何通过 auth_url 字段或 CLI 参数兼容其他学校或自定义 portal。

需要讨论+可能可以改进的地方:

  1. 我在status和log{in/out}分别添加了auth_url的命令行参数,是否有更优雅的方法
  2. 需要review是否影响了不添加auth_url时的代码表现

@panda361
Copy link
Author

Ruff把参数拆成了多行,是因为太长了吗🤔

@YDX-2147483647
Copy link
Member

YDX-2147483647 commented Sep 16, 2025

我在status和log{in/out}分别添加了auth_url的命令行参数,是否有更优雅的方法

这种不敏感又不常改变的参数,可能用环境变量比较好?click 内置支持。不过已经有配置文件了,环境变量倒是也没太大优势。

Ruff把参数拆成了多行,是因为太长了吗🤔

估计是吧。可能参数多了后,分多行 git diff 比较清楚……

@cli.command()
@click.option('--json/--no-json', default=False, help='Output in JSON format.')
def status(json: bool):
@click.option('-a', '--auth_url', default='http://10.0.0.55', help='Authentication portal URL. (Optional)')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
@click.option('-a', '--auth_url', default='http://10.0.0.55', help='Authentication portal URL. (Optional)')
@click.option('-a', '--auth-url', default='http://10.0.0.55', help='Authentication portal URL. (Optional)')

上面--no-json-而非_,最好保持一致。(如果这个参数要保留的话)

@panda361
Copy link
Author

这种不敏感又不常改变的参数,可能用环境变量比较好?click 内置支持。不过已经有配置文件了,环境变量倒是也没太大优势。

我研究研究

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants