Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
55667c31
Commit
55667c31
authored
Mar 05, 2013
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
(python): добавил единый модуль uniset, чтоб для работы достаточно было сделать…
(python): добавил единый модуль uniset, чтоб для работы достаточно было сделать только: import uniset
parent
06f0854e
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
298 deletions
+53
-298
libuniset.spec
conf/libuniset.spec
+4
-1
TestSuiteGlobal.py
python/lib/TestSuiteGlobal.py
+0
-245
UGlobal.py
python/lib/UGlobal.py
+45
-52
uniset.py
python/lib/uniset.py
+4
-0
No files found.
conf/libuniset.spec
View file @
55667c31
...
@@ -252,7 +252,7 @@ mv -f %buildroot%python_sitelibdir_noarch/%oname/%oname.py %buildroot%python_sit
...
@@ -252,7 +252,7 @@ mv -f %buildroot%python_sitelibdir_noarch/%oname/%oname.py %buildroot%python_sit
%if_enabled python
%if_enabled python
%files python-modules-%oname
%files python-modules-%oname
%dir %python_sitelibdir/%oname
%dir %python_sitelibdir/%oname
#
%python_sitelibdir/*
%python_sitelibdir/*
%python_sitelibdir/%oname/*
%python_sitelibdir/%oname/*
%endif
%endif
...
@@ -316,6 +316,9 @@ mv -f %buildroot%python_sitelibdir_noarch/%oname/%oname.py %buildroot%python_sit
...
@@ -316,6 +316,9 @@ mv -f %buildroot%python_sitelibdir_noarch/%oname/%oname.py %buildroot%python_sit
%exclude %_pkgconfigdir/libUniSet.pc
%exclude %_pkgconfigdir/libUniSet.pc
%changelog
%changelog
* Tue Mar 05 2013 Pavel Vainerman <pv@altlinux.ru> 1.6-alt0.3
- new build
* Tue Mar 05 2013 Pavel Vainerman <pv@altlinux.ru> 1.6-alt0.2
* Tue Mar 05 2013 Pavel Vainerman <pv@altlinux.ru> 1.6-alt0.2
- test build (with python)
- test build (with python)
...
...
python/lib/TestSuiteGlobal.py
deleted
100644 → 0
View file @
06f0854e
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from
pyUConnector
import
*
import
time
# различные глобальные вспомогательные функции
t_NONE
=
""
t_FAILED
=
"FAILED"
t_PASSED
=
"PASSED"
t_IGNORE
=
"IGNORE"
t_BREAK
=
"BREAK"
t_PAUSE
=
"PAUSE"
t_WARNING
=
"WARNING"
t_UNKNOWN
=
"UNKNOWN"
def
is_id
(
str_id
):
if
str_id
.
__class__
.
__name__
==
"int"
:
return
True
if
str_id
.
strip
()
.
isdigit
():
return
True
return
False
def
to_int
(
s
):
if
s
==
None
or
s
==
""
:
return
0
if
s
.
__class__
.
__name__
==
"int"
:
return
s
if
len
(
s
)
>
2
and
s
[
0
]
==
'0'
and
s
[
1
]
==
'x'
:
return
int
(
s
,
16
)
if
s
.
upper
()
==
"TRUE"
:
return
1
if
s
.
upper
()
==
"FALSE"
:
return
0
return
int
(
s
.
strip
())
def
to_str
(
s_val
):
if
s_val
==
None
:
return
""
return
str
(
s_val
)
def
bool2str
(
state
):
if
state
:
return
"1"
return
"0"
def
get_sinfo
(
raw
,
sep
=
'@'
):
raw
=
to_str
(
raw
)
v
=
raw
.
strip
()
.
split
(
sep
)
if
len
(
v
)
>
1
:
return
[
v
[
0
],
v
[
1
]]
return
[
v
[
0
],
""
]
# Функция требует инициализированного UConnector
# (т.е. загруженного configure.xml)
def
to_sid
(
str_id
,
ui
):
if
str_id
==
None
or
str_id
==
""
:
return
[
DefaultID
,
DefaultID
,
""
]
if
is_id
(
str_id
):
return
[
int
(
str_id
),
DefaultID
,
ui
.
getShortName
(
int
(
str_id
))]
s
=
get_sinfo
(
str_id
)
s_id
=
s
[
0
]
s_node
=
s
[
1
]
if
s_id
==
""
:
return
[
DefaultID
,
DefaultID
,
"?@?"
]
s_name
=
""
if
is_id
(
s_id
):
s_id
=
int
(
s_id
)
s_name
=
ui
.
getShortName
(
s_id
)
else
:
s_name
=
s_id
s_id
=
ui
.
getSensorID
(
s_id
)
if
s_node
==
""
:
return
[
s_id
,
DefaultID
,
s_name
]
n_name
=
""
if
is_id
(
s_node
):
s_node
=
int
(
s_node
)
n_name
=
ui
.
getShortName
(
s_node
)
else
:
n_name
=
s_node
s_node
=
ui
.
getNodeID
(
s_node
)
return
[
s_id
,
s_node
,
str
(
s_name
+
"@"
+
n_name
)]
# Получение списка пар [id,val,node] из строки "id1@node1=val1,id2=val2,.."
def
get_list
(
raw_str
,
ui
,
sep
=
'='
):
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
slist
=
[]
l
=
raw_str
.
split
(
","
)
for
s
in
l
:
v
=
s
.
split
(
sep
)
if
len
(
v
)
>
1
:
slist
.
append
([
v
[
0
],
to_int
(
v
[
1
])])
else
:
print
"(get_list:WARNING): (v=x) undefined value for "
+
str
(
s
)
slist
.
append
([
v
[
0
],
0
])
return
slist
def
list_to_str
(
lst
,
sep
=
'='
):
res
=
""
for
v
in
lst
:
if
res
!=
""
:
res
+=
",
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
else
:
res
+=
"
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
return
res
# Получение списка пар [s1,2] для реализации шаблонов
def
get_str_list
(
raw_str
,
sep
=
'='
):
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
slist
=
[]
l
=
raw_str
.
split
(
","
)
for
s
in
l
:
v
=
s
.
split
(
"="
)
if
len
(
v
)
>
1
:
slist
.
append
([
v
[
0
],
v
[
1
]])
else
:
print
"(get_str_list:WARNING): (v=x) undefined value for "
+
str
(
s
)
slist
.
append
([
v
[
0
],
""
])
return
slist
# Получение списка пар [key,val] из строки "key1=val1,key2=val2,.."
def
get_replace_list
(
raw_str
):
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
slist
=
[]
l
=
raw_str
.
split
(
","
)
for
s
in
l
:
v
=
s
.
split
(
":"
)
if
len
(
v
)
>
1
:
key
=
to_str
(
v
[
0
])
.
strip
()
.
strip
(
"
\n
"
)
val
=
to_str
(
v
[
1
])
.
strip
()
.
strip
(
"
\n
"
)
slist
.
append
([
key
,
val
])
else
:
print
"(get_replace_list:WARNING): (v:x) undefined value for "
+
str
(
s
)
key
=
to_str
(
v
[
0
])
.
strip
()
.
strip
(
"
\n
"
)
slist
.
append
([
key
,
0
])
return
slist
# Парсинг строки вида hostname:port
def
get_mbslave_param
(
raw_str
,
sep
=
':'
):
if
to_str
(
raw_str
)
==
""
:
return
[
None
,
None
]
l
=
raw_str
.
split
(
sep
)
if
len
(
l
)
>
2
:
print
"(get_mbslave_param:WARNING): BAD STRING FORMAT! strig='
%
s'. Must be 'hostname:port'"
%
(
raw_str
)
return
[
None
,
None
]
if
len
(
l
)
==
2
:
return
[
l
[
0
],
to_int
(
l
[
1
])
]
#default modbus port = 502
return
[
l
[
1
],
502
]
# Парсинг строки вида "mbreg@mbaddr:mbfunc:nbit:vtype"
def
get_mbquery_param
(
raw_str
,
def_mbfunc
=
"0x04"
,
ret_str
=
False
):
raw_str
=
to_str
(
raw_str
)
l
=
raw_str
.
split
(
':'
)
vtype
=
"signed"
if
len
(
l
)
>
3
:
vtype
=
l
[
3
]
nbit
=
-
1
if
len
(
l
)
>
2
:
nbit
=
l
[
2
]
mbfunc
=
def_mbfunc
if
len
(
l
)
>
1
:
mbfunc
=
l
[
1
]
if
mbfunc
.
startswith
(
"0x"
):
mbfunc
=
str
(
int
(
mbfunc
,
16
))
else
:
mbfunc
=
str
(
int
(
mbfunc
,
10
))
mbreg
=
None
mbaddr
=
"0x01"
if
len
(
l
)
>
0
:
p
=
l
[
0
]
.
split
(
'@'
)
mbreg
=
p
[
0
]
if
len
(
p
)
>
1
:
mbaddr
=
p
[
1
]
if
len
(
mbaddr
)
==
0
or
len
(
mbreg
)
==
0
or
len
(
mbfunc
)
==
0
:
if
ret_str
==
True
:
return
[
""
,
""
,
""
,
""
,
""
]
#print "(get_mbquery_param:WARNING): BAD STRING FORMAT! strig='%s'. Must be 'mbreg@mbaddr:mbfunc:nbit:vtype'"%(raw_str)
return
[
None
,
None
,
None
,
None
,
None
]
if
ret_str
==
False
:
return
[
to_int
(
mbaddr
),
to_int
(
mbreg
),
to_int
(
mbfunc
),
to_int
(
nbit
),
vtype
]
return
[
mbaddr
,
mbreg
,
mbfunc
,
nbit
,
vtype
]
def
fcalibrate
(
raw
,
rawMin
,
rawMax
,
calMin
,
calMax
):
if
rawMax
==
rawMin
:
return
0
;
# деление на 0!!!
return
1.0
*
(
raw
-
rawMin
)
*
(
calMax
-
calMin
)
/
(
rawMax
-
rawMin
)
+
calMin
;
class
TestSuiteException
(
Exception
):
def
__init__
(
self
,
e
=
""
,
test_time
=-
1
):
self
.
err
=
e
self
.
ftime
=
test_time
if
test_time
==
-
1
:
self
.
ftime
=
time
.
time
()
def
getError
(
self
):
return
self
.
err
def
getFinishTime
(
self
):
return
self
.
ftime
python/lib/UGlobal.py
View file @
55667c31
...
@@ -3,10 +3,19 @@
...
@@ -3,10 +3,19 @@
from
pyUConnector
import
*
from
pyUConnector
import
*
import
time
import
time
import
sys
# различные глобальные вспомогательные функции
t_NONE
=
""
t_FAILED
=
"FAILED"
t_PASSED
=
"PASSED"
t_IGNORE
=
"IGNORE"
t_BREAK
=
"BREAK"
t_PAUSE
=
"PAUSE"
t_WARNING
=
"WARNING"
t_UNKNOWN
=
"UNKNOWN"
def
is_id
(
str_id
):
def
is_id
(
str_id
):
if
str_id
.
__class__
.
__name__
==
"int"
or
str_id
.
__class__
.
__name__
==
"long"
:
if
str_id
.
__class__
.
__name__
==
"int"
:
return
True
return
True
if
str_id
.
strip
()
.
isdigit
():
if
str_id
.
strip
()
.
isdigit
():
...
@@ -19,12 +28,9 @@ def to_int(s):
...
@@ -19,12 +28,9 @@ def to_int(s):
if
s
==
None
or
s
==
""
:
if
s
==
None
or
s
==
""
:
return
0
return
0
if
s
.
__class__
.
__name__
==
"int"
or
s
.
__class__
.
__name__
==
"long"
:
if
s
.
__class__
.
__name__
==
"int"
:
return
s
return
s
if
s
.
__class__
.
__name__
==
"float"
:
return
int
(
s
)
if
len
(
s
)
>
2
and
s
[
0
]
==
'0'
and
s
[
1
]
==
'x'
:
if
len
(
s
)
>
2
and
s
[
0
]
==
'0'
and
s
[
1
]
==
'x'
:
return
int
(
s
,
16
)
return
int
(
s
,
16
)
...
@@ -35,7 +41,7 @@ def to_int(s):
...
@@ -35,7 +41,7 @@ def to_int(s):
return
0
return
0
return
int
(
s
.
strip
())
return
int
(
s
.
strip
())
def
to_str
(
s_val
):
def
to_str
(
s_val
):
if
s_val
==
None
:
if
s_val
==
None
:
...
@@ -60,17 +66,17 @@ def get_sinfo(raw, sep='@'):
...
@@ -60,17 +66,17 @@ def get_sinfo(raw, sep='@'):
def
to_sid
(
str_id
,
ui
):
def
to_sid
(
str_id
,
ui
):
if
str_id
==
None
or
str_id
==
""
:
if
str_id
==
None
or
str_id
==
""
:
return
[
DefaultID
,
DefaultID
,
""
]
return
[
DefaultID
,
DefaultID
,
""
]
if
is_id
(
str_id
):
if
is_id
(
str_id
):
return
[
int
(
str_id
),
DefaultID
,
ui
.
getShortName
(
int
(
str_id
))]
return
[
int
(
str_id
),
DefaultID
,
ui
.
getShortName
(
int
(
str_id
))]
s
=
get_sinfo
(
str_id
)
s
=
get_sinfo
(
str_id
)
s_id
=
s
[
0
]
s_id
=
s
[
0
]
s_node
=
s
[
1
]
s_node
=
s
[
1
]
if
s_id
==
""
:
if
s_id
==
""
:
return
[
DefaultID
,
DefaultID
,
"?@?"
]
return
[
DefaultID
,
DefaultID
,
"?@?"
]
s_name
=
""
s_name
=
""
if
is_id
(
s_id
):
if
is_id
(
s_id
):
s_id
=
int
(
s_id
)
s_id
=
int
(
s_id
)
...
@@ -78,10 +84,10 @@ def to_sid(str_id, ui):
...
@@ -78,10 +84,10 @@ def to_sid(str_id, ui):
else
:
else
:
s_name
=
s_id
s_name
=
s_id
s_id
=
ui
.
getSensorID
(
s_id
)
s_id
=
ui
.
getSensorID
(
s_id
)
if
s_node
==
""
:
if
s_node
==
""
:
return
[
s_id
,
DefaultID
,
s_name
]
return
[
s_id
,
DefaultID
,
s_name
]
n_name
=
""
n_name
=
""
if
is_id
(
s_node
):
if
is_id
(
s_node
):
s_node
=
int
(
s_node
)
s_node
=
int
(
s_node
)
...
@@ -89,15 +95,15 @@ def to_sid(str_id, ui):
...
@@ -89,15 +95,15 @@ def to_sid(str_id, ui):
else
:
else
:
n_name
=
s_node
n_name
=
s_node
s_node
=
ui
.
getNodeID
(
s_node
)
s_node
=
ui
.
getNodeID
(
s_node
)
return
[
s_id
,
s_node
,
str
(
s_name
+
"@"
+
n_name
)]
return
[
s_id
,
s_node
,
str
(
s_name
+
"@"
+
n_name
)]
# Получение списка пар [id
@node,int(val)
] из строки "id1@node1=val1,id2=val2,.."
# Получение списка пар [id
,val,node
] из строки "id1@node1=val1,id2=val2,.."
def
get_
int_list
(
raw_str
,
sep
=
'='
):
def
get_
list
(
raw_str
,
ui
,
sep
=
'='
):
if
raw_str
==
None
or
raw_str
==
""
:
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
return
[]
slist
=
[]
slist
=
[]
l
=
raw_str
.
split
(
","
)
l
=
raw_str
.
split
(
","
)
for
s
in
l
:
for
s
in
l
:
...
@@ -116,15 +122,15 @@ def list_to_str(lst,sep='='):
...
@@ -116,15 +122,15 @@ def list_to_str(lst,sep='='):
res
+=
",
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
res
+=
",
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
else
:
else
:
res
+=
"
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
res
+=
"
%
s=
%
s"
%
(
v
[
0
],
v
[
1
])
return
res
return
res
# Получение списка пар [s
X,kX] из строки "s1=k1,s2=k2,.."
# Получение списка пар [s
1,2] для реализации шаблонов
def
get_str_list
(
raw_str
,
sep
=
'='
):
def
get_str_list
(
raw_str
,
sep
=
'='
):
if
raw_str
==
None
or
raw_str
==
""
:
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
return
[]
slist
=
[]
slist
=
[]
l
=
raw_str
.
split
(
","
)
l
=
raw_str
.
split
(
","
)
for
s
in
l
:
for
s
in
l
:
...
@@ -136,9 +142,9 @@ def get_str_list(raw_str,sep='='):
...
@@ -136,9 +142,9 @@ def get_str_list(raw_str,sep='='):
slist
.
append
([
v
[
0
],
""
])
slist
.
append
([
v
[
0
],
""
])
return
slist
return
slist
# Получение списка пар [key,val] из строки "key1
:val1,key2:
val2,.."
# Получение списка пар [key,val] из строки "key1
=val1,key2=
val2,.."
def
get_replace_list
(
raw_str
):
def
get_replace_list
(
raw_str
):
if
raw_str
==
None
or
raw_str
==
""
:
if
raw_str
==
None
or
raw_str
==
""
:
return
[]
return
[]
slist
=
[]
slist
=
[]
...
@@ -153,7 +159,7 @@ def get_replace_list(raw_str):
...
@@ -153,7 +159,7 @@ def get_replace_list(raw_str):
print
"(get_replace_list:WARNING): (v:x) undefined value for "
+
str
(
s
)
print
"(get_replace_list:WARNING): (v:x) undefined value for "
+
str
(
s
)
key
=
to_str
(
v
[
0
])
.
strip
()
.
strip
(
"
\n
"
)
key
=
to_str
(
v
[
0
])
.
strip
()
.
strip
(
"
\n
"
)
slist
.
append
([
key
,
0
])
slist
.
append
([
key
,
0
])
return
slist
return
slist
# Парсинг строки вида hostname:port
# Парсинг строки вида hostname:port
...
@@ -208,7 +214,7 @@ def get_mbquery_param( raw_str, def_mbfunc="0x04", ret_str=False ):
...
@@ -208,7 +214,7 @@ def get_mbquery_param( raw_str, def_mbfunc="0x04", ret_str=False ):
if
len
(
mbaddr
)
==
0
or
len
(
mbreg
)
==
0
or
len
(
mbfunc
)
==
0
:
if
len
(
mbaddr
)
==
0
or
len
(
mbreg
)
==
0
or
len
(
mbfunc
)
==
0
:
if
ret_str
==
True
:
if
ret_str
==
True
:
return
[
""
,
""
,
""
,
""
,
""
]
return
[
""
,
""
,
""
,
""
,
""
]
#print "(get_mbquery_param:WARNING): BAD STRING FORMAT! strig='%s'. Must be 'mbreg@mbaddr:mbfunc:nbit:vtype'"%(raw_str)
#print "(get_mbquery_param:WARNING): BAD STRING FORMAT! strig='%s'. Must be 'mbreg@mbaddr:mbfunc:nbit:vtype'"%(raw_str)
return
[
None
,
None
,
None
,
None
,
None
]
return
[
None
,
None
,
None
,
None
,
None
]
...
@@ -224,29 +230,16 @@ def fcalibrate( raw, rawMin, rawMax, calMin, calMax ):
...
@@ -224,29 +230,16 @@ def fcalibrate( raw, rawMin, rawMax, calMin, calMax ):
return
1.0
*
(
raw
-
rawMin
)
*
(
calMax
-
calMin
)
/
(
rawMax
-
rawMin
)
+
calMin
;
return
1.0
*
(
raw
-
rawMin
)
*
(
calMax
-
calMin
)
/
(
rawMax
-
rawMin
)
+
calMin
;
def
getArgParam
(
param
,
defval
=
""
):
class
TestSuiteException
(
Exception
):
for
i
in
range
(
0
,
len
(
sys
.
argv
)):
if
sys
.
argv
[
i
]
==
param
:
def
__init__
(
self
,
e
=
""
,
test_time
=-
1
):
if
i
+
1
<
len
(
sys
.
argv
):
self
.
err
=
e
return
sys
.
argv
[
i
+
1
]
self
.
ftime
=
test_time
else
:
if
test_time
==
-
1
:
break
;
self
.
ftime
=
time
.
time
()
return
defval
def
getError
(
self
):
return
self
.
err
def
getArgInt
(
param
,
defval
=
0
):
for
i
in
range
(
0
,
len
(
sys
.
argv
)):
def
getFinishTime
(
self
):
if
sys
.
argv
[
i
]
==
param
:
return
self
.
ftime
if
i
+
1
<
len
(
sys
.
argv
):
return
to_int
(
sys
.
argv
[
i
+
1
])
else
:
break
;
return
defval
def
checkArgParam
(
param
,
defval
=
""
):
for
i
in
range
(
0
,
len
(
sys
.
argv
)):
if
sys
.
argv
[
i
]
==
param
:
return
True
return
defval
python/lib/uniset.py
View file @
55667c31
...
@@ -8,3 +8,7 @@ _py_dir = os.path.dirname(os.path.abspath(os.path.normpath(__file__)))
...
@@ -8,3 +8,7 @@ _py_dir = os.path.dirname(os.path.abspath(os.path.normpath(__file__)))
_py_uniset_dir
=
os
.
path
.
normpath
(
'
%
s/uniset'
%
_py_dir
)
_py_uniset_dir
=
os
.
path
.
normpath
(
'
%
s/uniset'
%
_py_dir
)
sys
.
path
.
append
(
_py_uniset_dir
)
sys
.
path
.
append
(
_py_uniset_dir
)
from
pyUConnector
import
*
from
pyUExceptions
import
*
from
pyUModbus
import
*
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment