Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
蜕变的菜鸟
glances
提交
f644ddb6
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,体验更适合开发者的 AI 搜索 >>
提交
f644ddb6
编写于
3月 10, 2014
作者:
N
Nicolas Hennion
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
First try for client
上级
e8730ec5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
106 addition
and
0 deletion
+106
-0
glances/core/glances_client.py
glances/core/glances_client.py
+106
-0
未找到文件。
glances/core/glances_client.py
0 → 100644
浏览文件 @
f644ddb6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Glances - An eye on your system
#
# Copyright (C) 2014 Nicolargo <nicolas@nicolargo.com>
#
# Glances is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Glances is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Import system libs
import
sys
import
socket
import
json
# Import Glances libs
from
..core.glances_globals
import
__version__
from
..core.glances_limits
import
glancesLimits
from
..core.glances_monitor_list
import
monitorList
from
..core.glances_stats
import
GlancesStatsServer
from
..core.glances_timer
import
Timer
# Other imports
try
:
# Python 2
from
SimpleXMLRPCServer
import
SimpleXMLRPCRequestHandler
from
SimpleXMLRPCServer
import
SimpleXMLRPCServer
except
ImportError
:
# Python 3
from
xmlrpc.server
import
SimpleXMLRPCRequestHandler
from
xmlrpc.server
import
SimpleXMLRPCServer
try
:
# Python 2
from
xmlrpclib
import
ServerProxy
,
ProtocolError
except
ImportError
:
# Python 3
from
xmlrpc.client
import
ServerProxy
,
ProtocolError
class
GlancesClient
():
"""
This class creates and manages the TCP client
"""
def
__init__
(
self
,
server_address
,
server_port
=
61209
,
username
=
"glances"
,
password
=
""
):
# Build the URI
if
password
!=
""
:
uri
=
'http://%s:%s@%s:%d'
%
(
username
,
password
,
server_address
,
server_port
)
else
:
uri
=
'http://%s:%d'
%
(
server_address
,
server_port
)
# Try to connect to the URI
try
:
self
.
client
=
ServerProxy
(
uri
)
except
Exception
:
print
(
_
(
"Error: creating client socket"
)
+
" %s"
%
uri
)
pass
return
def
client_init
(
self
):
try
:
client_version
=
self
.
client
.
init
()
except
ProtocolError
as
err
:
if
str
(
err
).
find
(
" 401 "
)
>
0
:
print
(
_
(
"Error: Connection to server failed. Bad password."
))
sys
.
exit
(
-
1
)
else
:
print
(
_
(
"Error: Connection to server failed. Unknown error."
))
sys
.
exit
(
-
1
)
return
__version__
[:
3
]
==
client_version
[:
3
]
def
client_get_limits
(
self
):
try
:
serverlimits
=
json
.
loads
(
self
.
client
.
getAllLimits
())
except
Exception
:
return
{}
else
:
return
serverlimits
def
client_get_monitored
(
self
):
try
:
servermonitored
=
json
.
loads
(
self
.
client
.
getAllMonitored
())
except
Exception
:
return
[]
else
:
return
servermonitored
def
client_get
(
self
):
try
:
stats
=
json
.
loads
(
self
.
client
.
getAll
())
except
Exception
:
return
{}
else
:
return
stats
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录