diff options
author | Christian Breunig <christian@breunig.cc> | 2024-04-05 21:22:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-05 21:22:04 +0200 |
commit | cc52f4748439ed16736001ca40f1bf3a1e07e1aa (patch) | |
tree | 7a5d6cadf12333e347b72841a3a94802aef004aa /src/op_mode | |
parent | b84d4cb9c65d89a8cff73c8ef2e8976a2b8510d6 (diff) | |
parent | 28a7195d8e200418d2fdc3b8839f14f514d788e7 (diff) | |
download | vyos-1x-cc52f4748439ed16736001ca40f1bf3a1e07e1aa.tar.gz vyos-1x-cc52f4748439ed16736001ca40f1bf3a1e07e1aa.zip |
Merge pull request #3255 from jestabro/remove-xml-lib
T6203: remove obsoleted xml lib
Diffstat (limited to 'src/op_mode')
-rwxr-xr-x | src/op_mode/otp.py | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/op_mode/otp.py b/src/op_mode/otp.py index 6d4298894..a4ab9b22b 100755 --- a/src/op_mode/otp.py +++ b/src/op_mode/otp.py @@ -20,9 +20,7 @@ import sys import os import vyos.opmode from jinja2 import Template -from vyos.configquery import ConfigTreeQuery -from vyos.xml import defaults -from vyos.configdict import dict_merge +from vyos.config import Config from vyos.utils.process import popen @@ -61,7 +59,7 @@ def _check_uname_otp(username:str): """ Check if "username" exists and have an OTP key """ - config = ConfigTreeQuery() + config = Config() base_key = ['system', 'login', 'user', username, 'authentication', 'otp', 'key'] if not config.exists(base_key): return None @@ -71,15 +69,13 @@ def _get_login_otp(username: str, info:str): """ Retrieve user settings from configuration and set some defaults """ - config = ConfigTreeQuery() + config = Config() base = ['system', 'login', 'user', username] if not config.exists(base): return None - user_otp = config.get_config_dict(base, key_mangling=('-', '_'), get_first_key=True) - # We have gathered the dict representation of the CLI, but there are default - # options which we need to update into the dictionary retrived. - default_values = defaults(['system', 'login', 'user']) - user_otp = dict_merge(default_values, user_otp) + user_otp = config.get_config_dict(base, key_mangling=('-', '_'), + get_first_key=True, + with_recursive_defaults=True) result = user_otp['authentication']['otp'] # Filling in the system and default options result['info'] = info @@ -94,7 +90,7 @@ def _get_login_otp(username: str, info:str): result['otp_url'] = ''.join(["otpauth://",token_type_acrn,"/",username,"@",\ result['hostname'],"?secret=",result['key_base32'],"&digits=",\ result['otp_length'],"&period=",result['interval']]) - result['qrcode'],err = popen('qrencode -t ansiutf8', input=result['otp_url']) + result['qrcode'],_ = popen('qrencode -t ansiutf8', input=result['otp_url']) return result def show_login(raw: bool, username: str, info:str): |