Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
3591f79b
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3591f79b
编写于
2月 07, 2013
作者:
G
Guido Günther
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove more trailing semicolons in Python files
上级
2198dadc
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
135 addition
and
135 deletion
+135
-135
docs/apibuild.py
docs/apibuild.py
+28
-28
docs/index.py
docs/index.py
+16
-16
examples/domain-events/events-python/event-test.py
examples/domain-events/events-python/event-test.py
+12
-12
python/generator.py
python/generator.py
+73
-73
python/libvirt-override-virConnect.py
python/libvirt-override-virConnect.py
+5
-5
python/tests/create.py
python/tests/create.py
+1
-1
未找到文件。
docs/apibuild.py
浏览文件 @
3591f79b
...
...
@@ -409,7 +409,7 @@ class CLexer:
return
self
.
lineno
def
push
(
self
,
token
):
self
.
tokens
.
insert
(
0
,
token
)
;
self
.
tokens
.
insert
(
0
,
token
)
def
debug
(
self
):
print
"Last token: "
,
self
.
last
...
...
@@ -429,7 +429,7 @@ class CLexer:
if
line
[
0
]
==
'#'
:
self
.
tokens
=
map
((
lambda
x
:
(
'preproc'
,
x
)),
string
.
split
(
line
))
break
;
break
l
=
len
(
line
)
if
line
[
0
]
==
'"'
or
line
[
0
]
==
"'"
:
end
=
line
[
0
]
...
...
@@ -699,7 +699,7 @@ class CParser:
if
self
.
top_comment
==
""
:
self
.
top_comment
=
com
if
self
.
comment
==
None
or
com
[
0
]
==
'*'
:
self
.
comment
=
com
;
self
.
comment
=
com
else
:
self
.
comment
=
self
.
comment
+
com
token
=
self
.
lexer
.
token
()
...
...
@@ -897,7 +897,7 @@ class CParser:
while
i
<
nbargs
:
if
args
[
i
][
1
]
==
arg
:
args
[
i
]
=
(
args
[
i
][
0
],
arg
,
desc
)
break
;
break
i
=
i
+
1
if
i
>=
nbargs
:
if
not
quiet
:
...
...
@@ -1141,10 +1141,10 @@ class CParser:
type
=
type
+
token
[
1
]
token
=
self
.
token
()
elif
token
!=
None
and
token
[
0
]
==
'sep'
and
token
[
1
]
==
';'
:
break
;
break
elif
token
!=
None
and
token
[
0
]
==
'name'
:
type
=
base_type
continue
;
continue
else
:
self
.
error
(
"parsing typedef: expecting ';'"
,
token
)
return
token
...
...
@@ -1239,7 +1239,7 @@ class CParser:
else
:
self
.
error
(
"parseStruct: name"
,
token
)
token
=
self
.
token
()
self
.
type
=
base_type
;
self
.
type
=
base_type
self
.
struct_fields
=
fields
#self.debug("end parseStruct", token)
#print fields
...
...
@@ -1289,7 +1289,7 @@ class CParser:
else
:
self
.
error
(
"parseUnion: name"
,
token
)
token
=
self
.
token
()
self
.
type
=
base_type
;
self
.
type
=
base_type
self
.
union_fields
=
fields
# self.debug("end parseUnion", token)
# print fields
...
...
@@ -1633,7 +1633,7 @@ class CParser:
self
.
type
=
self
.
type
+
token
[
1
]
token
=
self
.
token
()
if
token
==
None
or
token
[
0
]
!=
"name"
:
self
.
error
(
"parsing function type, name expected"
,
token
)
;
self
.
error
(
"parsing function type, name expected"
,
token
)
return
token
self
.
type
=
self
.
type
+
token
[
1
]
nametok
=
token
...
...
@@ -1643,14 +1643,14 @@ class CParser:
token
=
self
.
token
()
if
token
!=
None
and
token
[
0
]
==
"sep"
and
token
[
1
]
==
'('
:
token
=
self
.
token
()
type
=
self
.
type
;
token
=
self
.
parseSignature
(
token
)
;
self
.
type
=
type
;
type
=
self
.
type
token
=
self
.
parseSignature
(
token
)
self
.
type
=
type
else
:
self
.
error
(
"parsing function type, '(' expected"
,
token
)
;
self
.
error
(
"parsing function type, '(' expected"
,
token
)
return
token
else
:
self
.
error
(
"parsing function type, ')' expected"
,
token
)
;
self
.
error
(
"parsing function type, ')' expected"
,
token
)
return
token
self
.
lexer
.
push
(
token
)
token
=
nametok
...
...
@@ -1675,7 +1675,7 @@ class CParser:
self
.
type
=
self
.
type
+
token
[
1
]
token
=
self
.
token
()
else
:
self
.
error
(
"parsing array type, ']' expected"
,
token
)
;
self
.
error
(
"parsing array type, ']' expected"
,
token
)
return
token
elif
token
!=
None
and
token
[
0
]
==
"sep"
and
token
[
1
]
==
':'
:
# remove :12 in case it's a limited int size
...
...
@@ -1904,7 +1904,7 @@ class CParser:
self
.
index_add
(
self
.
name
,
self
.
filename
,
static
,
"function"
,
d
)
token
=
self
.
token
()
token
=
self
.
parseBlock
(
token
)
;
token
=
self
.
parseBlock
(
token
)
elif
token
[
1
]
==
','
:
self
.
comment
=
None
self
.
index_add
(
self
.
name
,
self
.
filename
,
static
,
...
...
@@ -2014,7 +2014,7 @@ class docBuilder:
for
header
in
self
.
headers
.
keys
():
parser
=
CParser
(
header
)
idx
=
parser
.
parse
()
self
.
headers
[
header
]
=
idx
;
self
.
headers
[
header
]
=
idx
self
.
idx
.
merge
(
idx
)
def
scanModules
(
self
):
...
...
@@ -2032,19 +2032,19 @@ class docBuilder:
skip
=
1
for
incl
in
self
.
includes
:
if
string
.
find
(
file
,
incl
)
!=
-
1
:
skip
=
0
;
skip
=
0
break
if
skip
==
0
:
self
.
modules
[
file
]
=
None
;
self
.
modules
[
file
]
=
None
files
=
glob
.
glob
(
directory
+
"/*.h"
)
for
file
in
files
:
skip
=
1
for
incl
in
self
.
includes
:
if
string
.
find
(
file
,
incl
)
!=
-
1
:
skip
=
0
;
skip
=
0
break
if
skip
==
0
:
self
.
headers
[
file
]
=
None
;
self
.
headers
[
file
]
=
None
self
.
scanHeaders
()
self
.
scanModules
()
...
...
@@ -2067,11 +2067,11 @@ class docBuilder:
val
=
eval
(
info
[
0
])
except
:
val
=
info
[
0
]
output
.
write
(
" value='%s'"
%
(
val
))
;
output
.
write
(
" value='%s'"
%
(
val
))
if
info
[
2
]
!=
None
and
info
[
2
]
!=
''
:
output
.
write
(
" type='%s'"
%
info
[
2
])
;
output
.
write
(
" type='%s'"
%
info
[
2
])
if
info
[
1
]
!=
None
and
info
[
1
]
!=
''
:
output
.
write
(
" info='%s'"
%
escape
(
info
[
1
]))
;
output
.
write
(
" info='%s'"
%
escape
(
info
[
1
]))
output
.
write
(
"/>
\n
"
)
def
serialize_macro
(
self
,
output
,
name
):
...
...
@@ -2119,7 +2119,7 @@ class docBuilder:
if
self
.
idx
.
structs
.
has_key
(
name
)
and
(
\
type
(
self
.
idx
.
structs
[
name
].
info
)
==
type
(())
or
type
(
self
.
idx
.
structs
[
name
].
info
)
==
type
([])):
output
.
write
(
">
\n
"
)
;
output
.
write
(
">
\n
"
)
try
:
for
field
in
self
.
idx
.
structs
[
name
].
info
:
desc
=
field
[
2
]
...
...
@@ -2136,7 +2136,7 @@ class docBuilder:
self
.
warning
(
"Failed to serialize struct %s"
%
(
name
))
output
.
write
(
" </struct>
\n
"
)
else
:
output
.
write
(
"/>
\n
"
)
;
output
.
write
(
"/>
\n
"
)
else
:
output
.
write
(
" <typedef name='%s' file='%s' type='%s'"
%
(
name
,
self
.
modulename_file
(
id
.
header
),
id
.
info
))
...
...
@@ -2176,7 +2176,7 @@ class docBuilder:
if
apstr
!=
""
:
apstr
=
apstr
+
" && "
apstr
=
apstr
+
cond
output
.
write
(
" <cond>%s</cond>
\n
"
%
(
apstr
))
;
output
.
write
(
" <cond>%s</cond>
\n
"
%
(
apstr
))
try
:
(
ret
,
params
,
desc
)
=
id
.
info
output
.
write
(
" <info><![CDATA[%s]]></info>
\n
"
%
(
desc
))
...
...
@@ -2388,7 +2388,7 @@ class docBuilder:
letter
=
id
[
0
]
output
.
write
(
" <letter name='%s'>
\n
"
%
(
letter
))
output
.
write
(
" <word name='%s'>
\n
"
%
(
id
))
tokens
=
index
[
id
]
;
tokens
=
index
[
id
]
tokens
.
sort
()
tok
=
None
for
token
in
tokens
:
...
...
docs/index.py
浏览文件 @
3591f79b
...
...
@@ -166,15 +166,15 @@ def checkTables(db, verbose = 1):
print
"table %s missing"
%
(
table
)
createTable
(
db
,
table
)
try
:
ret
=
c
.
execute
(
"SELECT count(*) from %s"
%
table
)
;
ret
=
c
.
execute
(
"SELECT count(*) from %s"
%
table
)
row
=
c
.
fetchone
()
if
verbose
:
print
"Table %s contains %d records"
%
(
table
,
row
[
0
])
except
:
print
"Troubles with table %s : repairing"
%
(
table
)
ret
=
c
.
execute
(
"repair table %s"
%
table
)
;
ret
=
c
.
execute
(
"repair table %s"
%
table
)
print
"repairing returned %d"
%
(
ret
)
ret
=
c
.
execute
(
"SELECT count(*) from %s"
%
table
)
;
ret
=
c
.
execute
(
"SELECT count(*) from %s"
%
table
)
row
=
c
.
fetchone
()
print
"Table %s contains %d records"
%
(
table
,
row
[
0
])
if
verbose
:
...
...
@@ -600,7 +600,7 @@ def addWordHTML(word, resource, id, section, relevance):
pass
else
:
wordsDictHTML
[
word
]
=
{}
d
=
wordsDictHTML
[
word
]
;
d
=
wordsDictHTML
[
word
]
d
[
resource
]
=
(
relevance
,
id
,
section
)
return
relevance
...
...
@@ -647,7 +647,7 @@ def addWordArchive(word, id, relevance):
pass
else
:
wordsDictArchive
[
word
]
=
{}
d
=
wordsDictArchive
[
word
]
;
d
=
wordsDictArchive
[
word
]
d
[
id
]
=
relevance
return
relevance
...
...
@@ -989,7 +989,7 @@ def analyzeHTML(doc, resource, p, section, id):
return
words
def
analyzeHTML
(
doc
,
resource
):
para
=
0
;
para
=
0
ctxt
=
doc
.
xpathNewContext
()
try
:
res
=
ctxt
.
xpathEval
(
"//head/title"
)
...
...
@@ -1079,7 +1079,7 @@ def scanXMLMsgArchive(url, title, force = 0):
try
:
print
"Loading %s"
%
(
url
)
doc
=
libxml2
.
htmlParseFile
(
url
,
None
)
;
doc
=
libxml2
.
htmlParseFile
(
url
,
None
)
except
:
doc
=
None
if
doc
==
None
:
...
...
@@ -1102,7 +1102,7 @@ def scanXMLDateArchive(t = None, force = 0):
url
=
getXMLDateArchive
(
t
)
print
"loading %s"
%
(
url
)
try
:
doc
=
libxml2
.
htmlParseFile
(
url
,
None
)
;
doc
=
libxml2
.
htmlParseFile
(
url
,
None
)
except
:
doc
=
None
if
doc
==
None
:
...
...
@@ -1150,7 +1150,7 @@ def analyzeArchives(t = None, force = 0):
refs
=
wordsDictArchive
[
word
]
if
refs
==
None
:
skipped
=
skipped
+
1
continue
;
continue
for
id
in
refs
.
keys
():
relevance
=
refs
[
id
]
updateWordArchive
(
word
,
id
,
relevance
)
...
...
@@ -1170,7 +1170,7 @@ def analyzeHTMLTop():
refs
=
wordsDictHTML
[
word
]
if
refs
==
None
:
skipped
=
skipped
+
1
continue
;
continue
for
resource
in
refs
.
keys
():
(
relevance
,
id
,
section
)
=
refs
[
resource
]
updateWordHTML
(
word
,
resource
,
section
,
id
,
relevance
)
...
...
@@ -1199,7 +1199,7 @@ def analyzeAPITop():
refs
=
wordsDict
[
word
]
if
refs
==
None
:
skipped
=
skipped
+
1
continue
;
continue
for
(
module
,
symbol
)
in
refs
.
keys
():
updateWord
(
word
,
symbol
,
refs
[(
module
,
symbol
)])
i
=
i
+
1
...
...
@@ -1228,26 +1228,26 @@ def main():
elif
args
[
i
]
==
'--archive'
:
analyzeArchives
(
None
,
force
)
elif
args
[
i
]
==
'--archive-year'
:
i
=
i
+
1
;
i
=
i
+
1
year
=
args
[
i
]
months
=
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
]
;
"November"
,
"December"
]
for
month
in
months
:
try
:
str
=
"%s-%s"
%
(
year
,
month
)
T
=
time
.
strptime
(
str
,
"%Y-%B"
)
t
=
time
.
mktime
(
T
)
+
3600
*
24
*
10
;
t
=
time
.
mktime
(
T
)
+
3600
*
24
*
10
analyzeArchives
(
t
,
force
)
except
:
print
"Failed to index month archive:"
print
sys
.
exc_type
,
sys
.
exc_value
elif
args
[
i
]
==
'--archive-month'
:
i
=
i
+
1
;
i
=
i
+
1
month
=
args
[
i
]
try
:
T
=
time
.
strptime
(
month
,
"%Y-%B"
)
t
=
time
.
mktime
(
T
)
+
3600
*
24
*
10
;
t
=
time
.
mktime
(
T
)
+
3600
*
24
*
10
analyzeArchives
(
t
,
force
)
except
:
print
"Failed to index month archive:"
...
...
examples/domain-events/events-python/event-test.py
浏览文件 @
3591f79b
...
...
@@ -289,7 +289,7 @@ class virEventLoopPure:
def
update_timer
(
self
,
timerID
,
interval
):
for
h
in
self
.
timers
:
if
h
.
get_id
()
==
timerID
:
h
.
set_interval
(
interval
)
;
h
.
set_interval
(
interval
)
self
.
interrupt
()
debug
(
"Update timer %d interval %d"
%
(
timerID
,
interval
))
...
...
@@ -325,25 +325,25 @@ class virEventLoopPure:
if
events
&
libvirt
.
VIR_EVENT_HANDLE_WRITABLE
:
ret
|=
select
.
POLLOUT
if
events
&
libvirt
.
VIR_EVENT_HANDLE_ERROR
:
ret
|=
select
.
POLLERR
;
ret
|=
select
.
POLLERR
if
events
&
libvirt
.
VIR_EVENT_HANDLE_HANGUP
:
ret
|=
select
.
POLLHUP
;
ret
|=
select
.
POLLHUP
return
ret
# Convert from poll() event constants, to libvirt events constants
def
events_from_poll
(
self
,
events
):
ret
=
0
;
ret
=
0
if
events
&
select
.
POLLIN
:
ret
|=
libvirt
.
VIR_EVENT_HANDLE_READABLE
;
ret
|=
libvirt
.
VIR_EVENT_HANDLE_READABLE
if
events
&
select
.
POLLOUT
:
ret
|=
libvirt
.
VIR_EVENT_HANDLE_WRITABLE
;
ret
|=
libvirt
.
VIR_EVENT_HANDLE_WRITABLE
if
events
&
select
.
POLLNVAL
:
ret
|=
libvirt
.
VIR_EVENT_HANDLE_ERROR
;
ret
|=
libvirt
.
VIR_EVENT_HANDLE_ERROR
if
events
&
select
.
POLLERR
:
ret
|=
libvirt
.
VIR_EVENT_HANDLE_ERROR
;
ret
|=
libvirt
.
VIR_EVENT_HANDLE_ERROR
if
events
&
select
.
POLLHUP
:
ret
|=
libvirt
.
VIR_EVENT_HANDLE_HANGUP
;
return
ret
;
ret
|=
libvirt
.
VIR_EVENT_HANDLE_HANGUP
return
ret
###########################################################################
...
...
@@ -437,8 +437,8 @@ def eventToString(event):
"Resumed"
,
"Stopped"
,
"Shutdown"
,
"PMSuspended"
)
;
return
eventStrings
[
event
]
;
"PMSuspended"
)
return
eventStrings
[
event
]
def
detailToString
(
event
,
detail
):
eventStrings
=
(
...
...
python/generator.py
浏览文件 @
3591f79b
...
...
@@ -615,7 +615,7 @@ def print_function_wrapper(module, name, output, export, include):
# Don't delete the function entry in the caller.
return
1
c_call
=
""
;
c_call
=
""
format
=
""
format_args
=
""
c_args
=
""
...
...
@@ -638,7 +638,7 @@ def print_function_wrapper(module, name, output, export, include):
c_args
=
c_args
+
" PyObject *pyobj_%s;
\n
"
%
(
arg
[
0
])
c_convert
=
c_convert
+
\
" %s = (%s) Py%s_Get(pyobj_%s);
\n
"
%
(
arg
[
0
],
arg
[
1
],
t
,
arg
[
0
])
;
arg
[
1
],
t
,
arg
[
0
])
else
:
format_args
=
format_args
+
", &%s"
%
(
arg
[
0
])
if
f
==
't#'
:
...
...
@@ -646,7 +646,7 @@ def print_function_wrapper(module, name, output, export, include):
c_args
=
c_args
+
" int py_buffsize%d;
\n
"
%
num_bufs
num_bufs
=
num_bufs
+
1
if
c_call
!=
""
:
c_call
=
c_call
+
", "
;
c_call
=
c_call
+
", "
c_call
=
c_call
+
"%s"
%
(
arg
[
0
])
else
:
if
skipped_types
.
has_key
(
arg
[
1
]):
...
...
@@ -671,7 +671,7 @@ def print_function_wrapper(module, name, output, export, include):
c_call
=
"
\n
%s->%s = %s;
\n
"
%
(
args
[
0
][
0
],
args
[
1
][
0
],
args
[
1
][
0
])
else
:
c_call
=
"
\n
%s(%s);
\n
"
%
(
name
,
c_call
)
;
c_call
=
"
\n
%s(%s);
\n
"
%
(
name
,
c_call
)
ret_convert
=
" Py_INCREF(Py_None);
\n
return Py_None;
\n
"
elif
py_types
.
has_key
(
ret
[
0
]):
(
f
,
t
,
n
,
c
)
=
py_types
[
ret
[
0
]]
...
...
@@ -679,13 +679,13 @@ def print_function_wrapper(module, name, output, export, include):
if
file
==
"python_accessor"
and
ret
[
2
]
!=
None
:
c_call
=
"
\n
c_retval = %s->%s;
\n
"
%
(
args
[
0
][
0
],
ret
[
2
])
else
:
c_call
=
"
\n
c_retval = %s(%s);
\n
"
%
(
name
,
c_call
)
;
c_call
=
"
\n
c_retval = %s(%s);
\n
"
%
(
name
,
c_call
)
ret_convert
=
" py_retval = libvirt_%sWrap((%s) c_retval);
\n
"
%
(
n
,
c
)
ret_convert
=
ret_convert
+
" return py_retval;
\n
"
elif
py_return_types
.
has_key
(
ret
[
0
]):
(
f
,
t
,
n
,
c
)
=
py_return_types
[
ret
[
0
]]
c_return
=
" %s c_retval;
\n
"
%
(
ret
[
0
])
c_call
=
"
\n
c_retval = %s(%s);
\n
"
%
(
name
,
c_call
)
;
c_call
=
"
\n
c_retval = %s(%s);
\n
"
%
(
name
,
c_call
)
ret_convert
=
" py_retval = libvirt_%sWrap((%s) c_retval);
\n
"
%
(
n
,
c
)
ret_convert
=
ret_convert
+
" return py_retval;
\n
"
else
:
...
...
@@ -705,31 +705,31 @@ def print_function_wrapper(module, name, output, export, include):
include
.
write
(
"PyObject * "
)
if
module
==
"libvirt"
:
include
.
write
(
"libvirt_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
;
include
.
write
(
"libvirt_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
export
.
write
(
" { (char *)
\"
%s
\"
, libvirt_%s, METH_VARARGS, NULL },
\n
"
%
(
name
,
name
))
elif
module
==
"libvirt-lxc"
:
include
.
write
(
"libvirt_lxc_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
;
include
.
write
(
"libvirt_lxc_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
export
.
write
(
" { (char *)
\"
%s
\"
, libvirt_lxc_%s, METH_VARARGS, NULL },
\n
"
%
(
name
,
name
))
elif
module
==
"libvirt-qemu"
:
include
.
write
(
"libvirt_qemu_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
;
include
.
write
(
"libvirt_qemu_%s(PyObject *self, PyObject *args);
\n
"
%
(
name
))
export
.
write
(
" { (char *)
\"
%s
\"
, libvirt_qemu_%s, METH_VARARGS, NULL },
\n
"
%
(
name
,
name
))
if
file
==
"python"
:
# Those have been manually generated
if
cond
!=
None
and
cond
!=
""
:
include
.
write
(
"#endif
\n
"
)
;
export
.
write
(
"#endif
\n
"
)
;
output
.
write
(
"#endif
\n
"
)
;
include
.
write
(
"#endif
\n
"
)
export
.
write
(
"#endif
\n
"
)
output
.
write
(
"#endif
\n
"
)
return
1
if
file
==
"python_accessor"
and
ret
[
0
]
!=
"void"
and
ret
[
2
]
is
None
:
# Those have been manually generated
if
cond
!=
None
and
cond
!=
""
:
include
.
write
(
"#endif
\n
"
)
;
export
.
write
(
"#endif
\n
"
)
;
output
.
write
(
"#endif
\n
"
)
;
include
.
write
(
"#endif
\n
"
)
export
.
write
(
"#endif
\n
"
)
output
.
write
(
"#endif
\n
"
)
return
1
output
.
write
(
"PyObject *
\n
"
)
...
...
@@ -756,9 +756,9 @@ def print_function_wrapper(module, name, output, export, include):
if
c_convert
!=
""
:
output
.
write
(
c_convert
+
"
\n
"
)
output
.
write
(
" LIBVIRT_BEGIN_ALLOW_THREADS;"
)
;
output
.
write
(
c_call
)
;
output
.
write
(
" LIBVIRT_END_ALLOW_THREADS;
\n
"
)
;
output
.
write
(
" LIBVIRT_BEGIN_ALLOW_THREADS;"
)
output
.
write
(
c_call
)
output
.
write
(
" LIBVIRT_END_ALLOW_THREADS;
\n
"
)
output
.
write
(
ret_convert
)
output
.
write
(
"}
\n\n
"
)
if
cond
!=
None
and
cond
!=
""
:
...
...
@@ -1195,7 +1195,7 @@ def writeDoc(module, name, args, indent, output):
if
funcs
[
name
][
0
]
is
None
or
funcs
[
name
][
0
]
==
""
:
return
val
=
funcs
[
name
][
0
]
val
=
string
.
replace
(
val
,
"NULL"
,
"None"
)
;
val
=
string
.
replace
(
val
,
"NULL"
,
"None"
)
output
.
write
(
indent
)
output
.
write
(
'"""'
)
i
=
string
.
find
(
val
,
"
\n
"
)
...
...
@@ -1261,7 +1261,7 @@ def buildWrappers(module):
ctypes_processed
[
type
]
=
()
for
name
in
functions
.
keys
():
found
=
0
;
found
=
0
(
desc
,
ret
,
args
,
file
,
mod
,
cond
)
=
functions
[
name
]
for
type
in
ctypes
:
classe
=
classes_type
[
type
][
2
]
...
...
@@ -1331,7 +1331,7 @@ def buildWrappers(module):
classes
.
write
(
"%s"
%
arg
[
0
])
n
=
n
+
1
classes
.
write
(
"):
\n
"
)
writeDoc
(
module
,
name
,
args
,
' '
,
classes
)
;
writeDoc
(
module
,
name
,
args
,
' '
,
classes
)
for
arg
in
args
:
if
classes_type
.
has_key
(
arg
[
1
]):
...
...
@@ -1340,19 +1340,19 @@ def buildWrappers(module):
classes
.
write
(
" else: %s__o = %s%s
\n
"
%
(
arg
[
0
],
arg
[
0
],
classes_type
[
arg
[
1
]][
0
]))
if
ret
[
0
]
!=
"void"
:
classes
.
write
(
" ret = "
)
;
classes
.
write
(
" ret = "
)
else
:
classes
.
write
(
" "
)
;
classes
.
write
(
" "
)
classes
.
write
(
"libvirtmod.%s("
%
name
)
n
=
0
for
arg
in
args
:
if
n
!=
0
:
classes
.
write
(
", "
)
;
classes
.
write
(
", "
)
classes
.
write
(
"%s"
%
arg
[
0
])
if
classes_type
.
has_key
(
arg
[
1
]):
classes
.
write
(
"__o"
)
;
classes
.
write
(
"__o"
)
n
=
n
+
1
classes
.
write
(
")
\n
"
)
;
classes
.
write
(
")
\n
"
)
if
ret
[
0
]
!=
"void"
:
if
classes_type
.
has_key
(
ret
[
0
]):
...
...
@@ -1360,15 +1360,15 @@ def buildWrappers(module):
# Raise an exception
#
if
functions_noexcept
.
has_key
(
name
):
classes
.
write
(
" if ret is None:return None
\n
"
)
;
classes
.
write
(
" if ret is None:return None
\n
"
)
else
:
classes
.
write
(
" if ret is None:raise libvirtError('%s() failed')
\n
"
%
(
name
))
classes
.
write
(
" return "
)
;
classes
.
write
(
classes_type
[
ret
[
0
]][
1
]
%
(
"ret"
))
;
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
" return "
)
classes
.
write
(
classes_type
[
ret
[
0
]][
1
]
%
(
"ret"
))
classes
.
write
(
"
\n
"
)
# For functions returning an integral type there are
# several things that we can do, depending on the
...
...
@@ -1398,7 +1398,7 @@ def buildWrappers(module):
else
:
classes
.
write
(
" return ret
\n
"
)
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
"
\n
"
)
for
classname
in
classes_list
:
if
classname
==
"None"
:
...
...
@@ -1441,14 +1441,14 @@ def buildWrappers(module):
classes
.
write
(
" self._dom = dom
\n
"
)
classes
.
write
(
" self._conn = dom.connect()
\n
"
)
classes
.
write
(
" if _obj != None:self._o = _obj;return
\n
"
)
classes
.
write
(
" self._o = None
\n\n
"
)
;
classes
.
write
(
" self._o = None
\n\n
"
)
destruct
=
None
if
classes_destructors
.
has_key
(
classname
):
classes
.
write
(
" def __del__(self):
\n
"
)
classes
.
write
(
" if self._o != None:
\n
"
)
classes
.
write
(
" libvirtmod.%s(self._o)
\n
"
%
classes_destructors
[
classname
])
;
classes
.
write
(
" self._o = None
\n\n
"
)
;
classes_destructors
[
classname
])
classes
.
write
(
" self._o = None
\n\n
"
)
destruct
=
classes_destructors
[
classname
]
if
not
class_skip_connect_impl
.
has_key
(
classname
):
...
...
@@ -1470,7 +1470,7 @@ def buildWrappers(module):
# to avoid double free
#
if
name
==
destruct
:
continue
;
continue
if
file
!=
oldfile
:
if
file
==
"python_accessor"
:
classes
.
write
(
" # accessors for %s
\n
"
%
(
classname
))
...
...
@@ -1487,7 +1487,7 @@ def buildWrappers(module):
classes
.
write
(
", %s"
%
arg
[
0
])
n
=
n
+
1
classes
.
write
(
"):
\n
"
)
writeDoc
(
module
,
name
,
args
,
' '
,
classes
)
;
writeDoc
(
module
,
name
,
args
,
' '
,
classes
)
n
=
0
for
arg
in
args
:
if
classes_type
.
has_key
(
arg
[
1
]):
...
...
@@ -1498,24 +1498,24 @@ def buildWrappers(module):
(
arg
[
0
],
arg
[
0
],
classes_type
[
arg
[
1
]][
0
]))
n
=
n
+
1
if
ret
[
0
]
!=
"void"
:
classes
.
write
(
" ret = "
)
;
classes
.
write
(
" ret = "
)
else
:
classes
.
write
(
" "
)
;
classes
.
write
(
" "
)
n
=
0
classes
.
write
(
"libvirtmod.%s("
%
name
)
for
arg
in
args
:
if
n
!=
0
:
classes
.
write
(
", "
)
;
classes
.
write
(
", "
)
if
n
!=
index
:
classes
.
write
(
"%s"
%
arg
[
0
])
if
classes_type
.
has_key
(
arg
[
1
]):
classes
.
write
(
"__o"
)
;
classes
.
write
(
"__o"
)
else
:
classes
.
write
(
"self"
)
;
classes
.
write
(
"self"
)
if
classes_type
.
has_key
(
arg
[
1
]):
classes
.
write
(
classes_type
[
arg
[
1
]][
0
])
n
=
n
+
1
classes
.
write
(
")
\n
"
)
;
classes
.
write
(
")
\n
"
)
if
name
==
"virConnectClose"
:
classes
.
write
(
" self._o = None
\n
"
)
...
...
@@ -1528,7 +1528,7 @@ def buildWrappers(module):
#
if
functions_noexcept
.
has_key
(
name
):
classes
.
write
(
" if ret is None:return None
\n
"
)
;
" if ret is None:return None
\n
"
)
else
:
if
classname
==
"virConnect"
:
classes
.
write
(
...
...
@@ -1566,9 +1566,9 @@ def buildWrappers(module):
#
# generate the returned class wrapper for the object
#
classes
.
write
(
" __tmp = "
)
;
classes
.
write
(
classes_type
[
ret
[
0
]][
1
]
%
(
"ret"
))
;
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
" __tmp = "
)
classes
.
write
(
classes_type
[
ret
[
0
]][
1
]
%
(
"ret"
))
classes
.
write
(
"
\n
"
)
#
# Sometime one need to keep references of the source
...
...
@@ -1586,28 +1586,28 @@ def buildWrappers(module):
# Post-processing - just before we return.
if
function_post
.
has_key
(
name
):
classes
.
write
(
" %s
\n
"
%
(
function_post
[
name
]))
;
(
function_post
[
name
]))
#
# return the class
#
classes
.
write
(
" return __tmp
\n
"
)
;
classes
.
write
(
" return __tmp
\n
"
)
elif
converter_type
.
has_key
(
ret
[
0
]):
#
# Raise an exception
#
if
functions_noexcept
.
has_key
(
name
):
classes
.
write
(
" if ret is None:return None"
)
;
" if ret is None:return None"
)
# Post-processing - just before we return.
if
function_post
.
has_key
(
name
):
classes
.
write
(
" %s
\n
"
%
(
function_post
[
name
]))
;
(
function_post
[
name
]))
classes
.
write
(
" return "
)
;
classes
.
write
(
converter_type
[
ret
[
0
]]
%
(
"ret"
))
;
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
" return "
)
classes
.
write
(
converter_type
[
ret
[
0
]]
%
(
"ret"
))
classes
.
write
(
"
\n
"
)
# For functions returning an integral type there
# are several things that we can do, depending on
...
...
@@ -1650,7 +1650,7 @@ def buildWrappers(module):
# Post-processing - just before we return.
if
function_post
.
has_key
(
name
):
classes
.
write
(
" %s
\n
"
%
(
function_post
[
name
]))
;
(
function_post
[
name
]))
classes
.
write
(
" return ret
\n
"
)
...
...
@@ -1692,7 +1692,7 @@ def buildWrappers(module):
# Post-processing - just before we return.
if
function_post
.
has_key
(
name
):
classes
.
write
(
" %s
\n
"
%
(
function_post
[
name
]))
;
(
function_post
[
name
]))
classes
.
write
(
" return ret
\n
"
)
...
...
@@ -1700,11 +1700,11 @@ def buildWrappers(module):
# Post-processing - just before we return.
if
function_post
.
has_key
(
name
):
classes
.
write
(
" %s
\n
"
%
(
function_post
[
name
]))
;
(
function_post
[
name
]))
classes
.
write
(
" return ret
\n
"
)
;
classes
.
write
(
" return ret
\n
"
)
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
"
\n
"
)
# Append "<classname>.py" to class def, iff it exists
try
:
extra
=
open
(
os
.
path
.
join
(
srcPref
,
"libvirt-override-"
+
classname
+
".py"
),
"r"
)
...
...
@@ -1726,7 +1726,7 @@ def buildWrappers(module):
items
.
sort
(
lambda
i1
,
i2
:
cmp
(
long
(
i1
[
1
]),
long
(
i2
[
1
])))
for
name
,
value
in
items
:
classes
.
write
(
"%s = %s
\n
"
%
(
name
,
value
))
classes
.
write
(
"
\n
"
)
;
classes
.
write
(
"
\n
"
)
classes
.
close
()
...
...
@@ -1776,7 +1776,7 @@ def qemuBuildWrappers(module):
fd
.
write
(
" if str(cyg_e).count(
\"
No module named
\"
):
\n
"
)
fd
.
write
(
" raise lib_e
\n\n
"
)
fd
.
write
(
"import libvirt
\n\n
"
)
;
fd
.
write
(
"import libvirt
\n\n
"
)
fd
.
write
(
"#
\n
# Functions from module %s
\n
#
\n\n
"
%
module
)
#
# Generate functions directly, no classes
...
...
@@ -1792,12 +1792,12 @@ def qemuBuildWrappers(module):
fd
.
write
(
"%s"
%
arg
[
0
])
n
=
n
+
1
fd
.
write
(
"):
\n
"
)
writeDoc
(
module
,
name
,
args
,
' '
,
fd
)
;
writeDoc
(
module
,
name
,
args
,
' '
,
fd
)
if
ret
[
0
]
!=
"void"
:
fd
.
write
(
" ret = "
)
;
fd
.
write
(
" ret = "
)
else
:
fd
.
write
(
" "
)
;
fd
.
write
(
" "
)
fd
.
write
(
"libvirtmod_qemu.%s("
%
name
)
n
=
0
...
...
@@ -1808,7 +1808,7 @@ def qemuBuildWrappers(module):
conn
=
arg
[
0
]
if
n
!=
0
:
fd
.
write
(
", "
)
;
fd
.
write
(
", "
)
if
arg
[
1
]
in
[
"virDomainPtr"
,
"virConnectPtr"
]:
# FIXME: This might have problem if the function
# has multiple args which are objects.
...
...
@@ -1816,7 +1816,7 @@ def qemuBuildWrappers(module):
else
:
fd
.
write
(
"%s"
%
arg
[
0
])
n
=
n
+
1
fd
.
write
(
")
\n
"
)
;
fd
.
write
(
")
\n
"
)
if
ret
[
0
]
!=
"void"
:
fd
.
write
(
" if ret is None: raise libvirt.libvirtError('"
+
name
+
"() failed')
\n
"
)
...
...
@@ -1837,7 +1837,7 @@ def qemuBuildWrappers(module):
items
.
sort
(
lambda
i1
,
i2
:
cmp
(
long
(
i1
[
1
]),
long
(
i2
[
1
])))
for
name
,
value
in
items
:
fd
.
write
(
"%s = %s
\n
"
%
(
name
,
value
))
fd
.
write
(
"
\n
"
)
;
fd
.
write
(
"
\n
"
)
fd
.
close
()
...
...
@@ -1888,7 +1888,7 @@ def lxcBuildWrappers(module):
fd
.
write
(
" if str(cyg_e).count(
\"
No module named
\"
):
\n
"
)
fd
.
write
(
" raise lib_e
\n\n
"
)
fd
.
write
(
"import libvirt
\n\n
"
)
;
fd
.
write
(
"import libvirt
\n\n
"
)
fd
.
write
(
"#
\n
# Functions from module %s
\n
#
\n\n
"
%
module
)
#
# Generate functions directly, no classes
...
...
@@ -1904,12 +1904,12 @@ def lxcBuildWrappers(module):
fd
.
write
(
"%s"
%
arg
[
0
])
n
=
n
+
1
fd
.
write
(
"):
\n
"
)
writeDoc
(
module
,
name
,
args
,
' '
,
fd
)
;
writeDoc
(
module
,
name
,
args
,
' '
,
fd
)
if
ret
[
0
]
!=
"void"
:
fd
.
write
(
" ret = "
)
;
fd
.
write
(
" ret = "
)
else
:
fd
.
write
(
" "
)
;
fd
.
write
(
" "
)
fd
.
write
(
"libvirtmod_lxc.%s("
%
name
)
n
=
0
...
...
@@ -1920,7 +1920,7 @@ def lxcBuildWrappers(module):
conn
=
arg
[
0
]
if
n
!=
0
:
fd
.
write
(
", "
)
;
fd
.
write
(
", "
)
if
arg
[
1
]
in
[
"virDomainPtr"
,
"virConnectPtr"
]:
# FIXME: This might have problem if the function
# has multiple args which are objects.
...
...
@@ -1928,7 +1928,7 @@ def lxcBuildWrappers(module):
else
:
fd
.
write
(
"%s"
%
arg
[
0
])
n
=
n
+
1
fd
.
write
(
")
\n
"
)
;
fd
.
write
(
")
\n
"
)
if
ret
[
0
]
!=
"void"
:
fd
.
write
(
" if ret is None: raise libvirt.libvirtError('"
+
name
+
"() failed')
\n
"
)
...
...
@@ -1949,7 +1949,7 @@ def lxcBuildWrappers(module):
items
.
sort
(
lambda
i1
,
i2
:
cmp
(
long
(
i1
[
1
]),
long
(
i2
[
1
])))
for
name
,
value
in
items
:
fd
.
write
(
"%s = %s
\n
"
%
(
name
,
value
))
fd
.
write
(
"
\n
"
)
;
fd
.
write
(
"
\n
"
)
fd
.
close
()
...
...
python/libvirt-override-virConnect.py
浏览文件 @
3591f79b
...
...
@@ -132,7 +132,7 @@
opaque
=
cbData
[
"opaque"
]
cb
(
self
,
virDomain
(
self
,
_obj
=
dom
),
oldSrcPath
,
newSrcPath
,
devAlias
,
reason
,
opaque
)
return
0
;
return
0
def
_dispatchDomainEventTrayChangeCallback
(
self
,
dom
,
devAlias
,
reason
,
cbData
):
"""Dispatches event to python user domain trayChange event callbacks
...
...
@@ -141,7 +141,7 @@
opaque
=
cbData
[
"opaque"
]
cb
(
self
,
virDomain
(
self
,
_obj
=
dom
),
devAlias
,
reason
,
opaque
)
return
0
;
return
0
def
_dispatchDomainEventPMWakeupCallback
(
self
,
dom
,
reason
,
cbData
):
"""Dispatches event to python user domain pmwakeup event callbacks
...
...
@@ -150,7 +150,7 @@
opaque
=
cbData
[
"opaque"
]
cb
(
self
,
virDomain
(
self
,
_obj
=
dom
),
reason
,
opaque
)
return
0
;
return
0
def
_dispatchDomainEventPMSuspendCallback
(
self
,
dom
,
reason
,
cbData
):
"""Dispatches event to python user domain pmsuspend event callbacks
...
...
@@ -159,7 +159,7 @@
opaque
=
cbData
[
"opaque"
]
cb
(
self
,
virDomain
(
self
,
_obj
=
dom
),
reason
,
opaque
)
return
0
;
return
0
def
_dispatchDomainEventBalloonChangeCallback
(
self
,
dom
,
actual
,
cbData
):
"""Dispatches events to python user domain balloon change event callbacks
...
...
@@ -177,7 +177,7 @@
opaque
=
cbData
[
"opaque"
]
cb
(
self
,
virDomain
(
self
,
_obj
=
dom
),
reason
,
opaque
)
return
0
;
return
0
def
domainEventDeregisterAny
(
self
,
callbackID
):
"""Removes a Domain Event Callback. De-registering for a
...
...
python/tests/create.py
浏览文件 @
3591f79b
...
...
@@ -128,7 +128,7 @@ while i < 30:
except
:
okay
=
0
t
=
-
1
break
;
break
if
t
==
0
:
break
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录