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
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]
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()
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:
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
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
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
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
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
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
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,
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):
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()
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):
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]
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))
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))
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:
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:
pass
else:
wordsDictHTML[word] = {}
- d = wordsDictHTML[word];
+ d = wordsDictHTML[word]
d[resource] = (relevance, id, section)
return relevance
pass
else:
wordsDictArchive[word] = {}
- d = wordsDictArchive[word];
+ d = wordsDictArchive[word]
d[id] = relevance
return relevance
return words
def analyzeHTML(doc, resource):
- para = 0;
+ para = 0
ctxt = doc.xpathNewContext()
try:
res = ctxt.xpathEval("//head/title")
try:
print "Loading %s" % (url)
- doc = libxml2.htmlParseFile(url, None);
+ doc = libxml2.htmlParseFile(url, None)
except:
doc = None
if doc == None:
url = getXMLDateArchive(t)
print "loading %s" % (url)
try:
- doc = libxml2.htmlParseFile(url, None);
+ doc = libxml2.htmlParseFile(url, None)
except:
doc = None
if doc == None:
refs = wordsDictArchive[word]
if refs == None:
skipped = skipped + 1
- continue;
+ continue
for id in refs.keys():
relevance = refs[id]
updateWordArchive(word, id, relevance)
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)
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
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:"
# Don't delete the function entry in the caller.
return 1
- c_call = "";
+ c_call = ""
format=""
format_args=""
c_args=""
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#':
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]):
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]]
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:
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")
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 != "":
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")
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]
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]):
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]):
# 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
else:
classes.write(" return ret\n")
- classes.write("\n");
+ classes.write("\n")
for classname in classes_list:
if classname == "None":
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):
# to avoid double free
#
if name == destruct:
- continue;
+ continue
if file != oldfile:
if file == "python_accessor":
classes.write(" # accessors for %s\n" % (classname))
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]):
(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")
#
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(
#
# 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
# 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
# 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")
# 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")
# 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")
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()
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
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
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.
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")
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()
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
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
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.
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")
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()