Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
蜕变的菜鸟
glances
提交
7044f279
G
glances
项目概览
蜕变的菜鸟
/
glances
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
glances
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7044f279
编写于
11月 23, 2014
作者:
N
Nicolargo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Display a specific message during the first scan
上级
8a20b5d9
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
50 addition
and
21 deletion
+50
-21
glances/__init__.py
glances/__init__.py
+1
-1
glances/core/glances_autodiscover.py
glances/core/glances_autodiscover.py
+8
-2
glances/core/glances_client_browser.py
glances/core/glances_client_browser.py
+8
-3
glances/core/glances_config.py
glances/core/glances_config.py
+11
-6
glances/core/glances_main.py
glances/core/glances_main.py
+12
-8
glances/outputs/glances_curses.py
glances/outputs/glances_curses.py
+10
-1
未找到文件。
glances/__init__.py
浏览文件 @
7044f279
...
...
@@ -121,7 +121,7 @@ def main():
standalone
.
serve_forever
()
elif
core
.
is_client
():
if
core
.
is_client_
autodiscov
er
():
if
core
.
is_client_
brows
er
():
logger
.
info
(
"Start client mode (browser)"
)
# Import the Glances client browser module
...
...
glances/core/glances_autodiscover.py
浏览文件 @
7044f279
...
...
@@ -20,6 +20,7 @@
"""Manage autodiscover Glances server (thk to the ZeroConf protocol)."""
# Import system libs
import
sys
import
socket
try
:
import
netifaces
...
...
@@ -136,13 +137,18 @@ class GlancesAutoDiscoverServer(object):
def
__init__
(
self
,
args
=
None
):
if
zeroconf_tag
:
logger
.
info
(
"Init autodiscover mode (Zeroconf protocol)"
)
self
.
zeroconf
=
Zeroconf
()
try
:
self
.
zeroconf
=
Zeroconf
()
except
socker
.
error
as
e
:
logger
.
critical
(
"Can not start Zeroconf (%s)"
%
e
)
sys
.
exit
(
2
)
self
.
listener
=
GlancesAutoDiscoverListener
()
self
.
browser
=
ServiceBrowser
(
self
.
zeroconf
,
zeroconf_type
,
self
.
listener
)
else
:
logger
.
error
(
logger
.
critical
(
"Can not start autodiscover mode (Zeroconf lib is not installed)"
)
sys
.
exit
(
2
)
def
get_servers_list
(
self
):
"""Return the current server list (dict of dict)"""
...
...
glances/core/glances_client_browser.py
浏览文件 @
7044f279
...
...
@@ -45,16 +45,21 @@ class GlancesClientBrowser(object):
self
.
config
=
config
# Start the autodiscover mode (Zeroconf listener)
if
self
.
args
.
autodiscover
:
if
not
self
.
args
.
disable_
autodiscover
:
self
.
autodiscover_server
=
GlancesAutoDiscoverServer
()
else
:
self
.
autodiscover_server
=
None
# Init screen
self
.
screen
=
GlancesCursesBrowser
(
args
=
self
.
args
)
def
get_servers_list
(
self
):
"""Return the current server list (list of dict)"""
if
self
.
args
.
autodiscover
:
return
self
.
autodiscover_server
.
get_servers_list
()
if
self
.
args
.
browser
:
if
self
.
autodiscover_server
is
not
None
:
return
self
.
autodiscover_server
.
get_servers_list
()
else
:
return
{}
else
:
return
{}
...
...
glances/core/glances_config.py
浏览文件 @
7044f279
...
...
@@ -53,7 +53,7 @@ class Config(object):
def
__init__
(
self
,
location
=
None
):
self
.
location
=
location
self
.
config_filename
=
'glances.conf'
self
.
parser
=
RawConfigParser
()
...
...
@@ -72,7 +72,8 @@ class Config(object):
self
.
parser
.
read
(
config_file
)
logger
.
info
(
_
(
"Read configuration file %s"
)
%
config_file
)
except
UnicodeDecodeError
as
e
:
logger
.
error
(
_
(
"Cannot decode configuration file '{0}': {1}"
).
format
(
config_file
,
e
))
logger
.
error
(
_
(
"Cannot decode configuration file '{0}': {1}"
).
format
(
config_file
,
e
))
sys
.
exit
(
1
)
# Save the loaded configuration file path (issue #374)
self
.
_loaded_config_file
=
config_file
...
...
@@ -100,7 +101,8 @@ class Config(object):
* {/usr/local,}/etc directory (system-wide settings)
"""
paths
=
[]
conf_path
=
os
.
path
.
realpath
(
os
.
path
.
join
(
work_path
,
'..'
,
'..'
,
'conf'
))
conf_path
=
os
.
path
.
realpath
(
os
.
path
.
join
(
work_path
,
'..'
,
'..'
,
'conf'
))
if
self
.
location
is
not
None
:
paths
.
append
(
self
.
location
)
...
...
@@ -110,12 +112,15 @@ class Config(object):
if
is_linux
or
is_bsd
:
paths
.
append
(
os
.
path
.
join
(
os
.
environ
.
get
(
'XDG_CONFIG_HOME'
)
or
os
.
path
.
expanduser
(
'~/.config'
),
os
.
environ
.
get
(
'XDG_CONFIG_HOME'
)
or
os
.
path
.
expanduser
(
'~/.config'
),
appname
,
self
.
config_filename
))
if
hasattr
(
sys
,
'real_prefix'
)
or
is_bsd
:
paths
.
append
(
os
.
path
.
join
(
sys
.
prefix
,
'etc'
,
appname
,
self
.
config_filename
))
paths
.
append
(
os
.
path
.
join
(
sys
.
prefix
,
'etc'
,
appname
,
self
.
config_filename
))
else
:
paths
.
append
(
os
.
path
.
join
(
'/etc'
,
appname
,
self
.
config_filename
))
paths
.
append
(
os
.
path
.
join
(
'/etc'
,
appname
,
self
.
config_filename
))
elif
is_mac
:
paths
.
append
(
os
.
path
.
join
(
os
.
path
.
expanduser
(
'~/Library/Application Support/'
),
...
...
glances/core/glances_main.py
浏览文件 @
7044f279
...
...
@@ -96,10 +96,10 @@ class GlancesMain(object):
help
=
_
(
'connect to a Glances server by IPv4/IPv6 address or hostname'
))
parser
.
add_argument
(
'-s'
,
'--server'
,
action
=
'store_true'
,
default
=
False
,
dest
=
'server'
,
help
=
_
(
'run Glances in server mode'
))
parser
.
add_argument
(
'--
autodiscov
er'
,
action
=
'store_true'
,
default
=
False
,
dest
=
'
autodiscover'
,
help
=
_
(
'autodetect all Glances servers on your local area network
'
))
parser
.
add_argument
(
'--
brows
er'
,
action
=
'store_true'
,
default
=
False
,
dest
=
'
browser'
,
help
=
_
(
'start the client browser (list of servers)
'
))
parser
.
add_argument
(
'--disable-autodiscover'
,
action
=
'store_true'
,
default
=
False
,
dest
=
'disable_autodiscover'
,
help
=
_
(
'disable
server announcement on the local area network
'
))
dest
=
'disable_autodiscover'
,
help
=
_
(
'disable
autodiscover feature
'
))
parser
.
add_argument
(
'-p'
,
'--port'
,
default
=
None
,
type
=
int
,
dest
=
'port'
,
help
=
_
(
'define the client/server TCP port [default: {0}]'
).
format
(
self
.
server_port
))
parser
.
add_argument
(
'-B'
,
'--bind'
,
default
=
'0.0.0.0'
,
dest
=
'bind_address'
,
...
...
@@ -164,6 +164,10 @@ class GlancesMain(object):
else
:
args
.
port
=
self
.
server_port
# Autodiscover
if
args
.
disable_autodiscover
:
logger
.
info
(
"Auto discover mode is disabled"
)
# In web server mode, defaul refresh time: 5 sec
if
args
.
webserver
:
args
.
time
=
5
...
...
@@ -240,15 +244,15 @@ class GlancesMain(object):
def
is_standalone
(
self
):
"""Return True if Glances is running in standalone mode."""
return
not
self
.
args
.
client
and
not
self
.
args
.
autodiscov
er
and
not
self
.
args
.
server
and
not
self
.
args
.
webserver
return
not
self
.
args
.
client
and
not
self
.
args
.
brows
er
and
not
self
.
args
.
server
and
not
self
.
args
.
webserver
def
is_client
(
self
):
"""Return True if Glances is running in client mode."""
return
(
self
.
args
.
client
or
self
.
args
.
autodiscov
er
)
and
not
self
.
args
.
server
return
(
self
.
args
.
client
or
self
.
args
.
brows
er
)
and
not
self
.
args
.
server
def
is_client_
autodiscov
er
(
self
):
"""Return True if Glances is running in client
mode with autodiscover
."""
return
self
.
args
.
autodiscov
er
and
not
self
.
args
.
server
def
is_client_
brows
er
(
self
):
"""Return True if Glances is running in client
browser mode
."""
return
self
.
args
.
brows
er
and
not
self
.
args
.
server
def
is_server
(
self
):
"""Return True if Glances is running in server mode."""
...
...
glances/outputs/glances_curses.py
浏览文件 @
7044f279
...
...
@@ -836,6 +836,10 @@ class GlancesCursesBrowser(_GlancesCurses):
# Init the father class
_GlancesCurses
.
__init__
(
self
,
args
=
args
)
# First time scan tag
# Used to display a specific message when the browser is started
self
.
first_scan
=
True
# Init refresh time
self
.
__refresh_time
=
args
.
time
...
...
@@ -956,12 +960,17 @@ class GlancesCursesBrowser(_GlancesCurses):
# Display top header
if
len
(
servers_list
)
==
0
:
msg
=
_
(
"No Glances server detected on your network"
)
if
self
.
first_scan
:
msg
=
_
(
"Glances is scanning your network (please wait)..."
)
else
:
msg
=
_
(
"No Glances server detected on your network"
)
elif
len
(
servers_list
)
==
1
:
msg
=
_
(
"One Glances server detected on your network"
)
else
:
msg
=
_
(
"%d Glances servers detected on your network"
%
len
(
servers_list
))
if
self
.
args
.
disable_autodiscover
:
msg
+=
' '
+
_
(
"(autodiscover is disabled)"
)
self
.
term_window
.
addnstr
(
y
,
x
,
msg
,
screen_x
-
x
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录