mirror of https://github.com/jumpserver/jumpserver
修复cli 端资产列表显示 (#226)
* modify(jperm) 授权列表模糊搜索 修改授权规则搜索为模糊搜索 * fix(cli nav align) Max Hostname length 30, else will be truncate.pull/230/head
parent
ecfaf9f02d
commit
9f171da570
20
connect.py
20
connect.py
|
@ -508,16 +508,30 @@ class Nav(object):
|
||||||
# 如果没有输入就展现所有
|
# 如果没有输入就展现所有
|
||||||
self.search_result = self.perm_assets
|
self.search_result = self.perm_assets
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def truncate_str(str_, length=30):
|
||||||
|
str_ = str_.decode('utf-8')
|
||||||
|
if len(str_) > length:
|
||||||
|
return str_[:14] + '..' + str_[-14:]
|
||||||
|
else:
|
||||||
|
return str_
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_max_asset_property_length(assets, property_='hostname'):
|
||||||
|
return max([len(getattr(asset, property_)) for asset in assets])
|
||||||
|
|
||||||
def print_search_result(self):
|
def print_search_result(self):
|
||||||
color_print('[%-3s] %-12s %-15s %-5s %-10s %s' % ('ID', '主机名', 'IP', '端口', '系统用户', '备注'), 'title')
|
hostname_max_length = self.get_max_asset_property_length(self.search_result)
|
||||||
|
line = '[%-3s] %-16s %-5s %-' + str(hostname_max_length) + 's %-10s %s'
|
||||||
|
color_print(line % ('ID', 'IP', 'Port', 'Hostname', 'SysUser', 'Comment'), 'title')
|
||||||
if hasattr(self.search_result, '__iter__'):
|
if hasattr(self.search_result, '__iter__'):
|
||||||
for index, asset in enumerate(self.search_result):
|
for index, asset in enumerate(self.search_result):
|
||||||
# 获取该资产信息
|
# 获取该资产信息
|
||||||
asset_info = get_asset_info(asset)
|
asset_info = get_asset_info(asset)
|
||||||
# 获取该资产包含的角色
|
# 获取该资产包含的角色
|
||||||
role = [str(role.name) for role in self.user_perm.get('asset').get(asset).get('role')]
|
role = [str(role.name) for role in self.user_perm.get('asset').get(asset).get('role')]
|
||||||
print '[%-3s] %-15s %-15s %-5s %-10s %s' % (index, asset.hostname, asset.ip, asset_info.get('port'),
|
print line % (index, asset.ip, asset_info.get('port'),
|
||||||
role, asset.comment)
|
self.truncate_str(asset.hostname), str(role).replace("'", ''), asset.comment)
|
||||||
print
|
print
|
||||||
|
|
||||||
def try_connect(self):
|
def try_connect(self):
|
||||||
|
|
Loading…
Reference in New Issue