self.extra = extra
self.lineno = lineno
self.static = 0
- if conditionals == None or len(conditionals) == 0:
+ if conditionals is None or len(conditionals) == 0:
self.conditionals = None
else:
self.conditionals = conditionals[:]
r = "%s %s:" % (self.type, self.name)
if self.static:
r = r + " static"
- if self.module != None:
+ if self.module is not None:
r = r + " from %s" % (self.module)
- if self.info != None:
+ if self.info is not None:
r = r + " " + `self.info`
- if self.extra != None:
+ if self.extra is not None:
r = r + " " + `self.extra`
- if self.conditionals != None:
+ if self.conditionals is not None:
r = r + " " + `self.conditionals`
return r
def set_static(self, static):
self.static = static
def set_conditionals(self, conditionals):
- if conditionals == None or len(conditionals) == 0:
+ if conditionals is None or len(conditionals) == 0:
self.conditionals = None
else:
self.conditionals = conditionals[:]
if self.name == debugsym and not quiet:
print "=> update %s : %s" % (debugsym, (module, type, info,
extra, conditionals))
- if header != None and self.header == None:
+ if header is not None and self.header is None:
self.set_header(module)
- if module != None and (self.module == None or self.header == self.module):
+ if module is not None and (self.module is None or self.header == self.module):
self.set_module(module)
- if type != None and self.type == None:
+ if type is not None and self.type is None:
self.set_type(type)
- if info != None:
+ if info is not None:
self.set_info(info)
- if extra != None:
+ if extra is not None:
self.set_extra(extra)
- if conditionals != None:
+ if conditionals is not None:
self.set_conditionals(conditionals)
class index:
d = identifier(name, header, module, type, lineno, info, extra, conditionals)
self.identifiers[name] = d
- if d != None and static == 1:
+ if d is not None and static == 1:
d.set_static(1)
- if d != None and name != None and type != None:
+ if d is not None and name is not None and type is not None:
self.references[name] = d
if name == debugsym and not quiet:
d = identifier(name, header, module, type, lineno, info, extra, conditionals)
self.identifiers[name] = d
- if d != None and static == 1:
+ if d is not None and static == 1:
d.set_static(1)
- if d != None and name != None and type != None:
+ if d is not None and name is not None and type is not None:
if type == "function":
self.functions[name] = d
elif type == "functype":
else:
line = self.line
self.line = ""
- if line == None:
+ if line is None:
return None
if line[0] == '#':
tok = tok + line
if found == 0:
line = self.getline()
- if line == None:
+ if line is None:
return None
self.last = ('string', tok)
return self.last
tok = tok + line
if found == 0:
line = self.getline()
- if line == None:
+ if line is None:
return None
self.last = ('comment', tok)
return self.last
self.is_header = 0
self.input = open(filename)
self.lexer = CLexer(self.input)
- if idx == None:
+ if idx is None:
self.index = index()
else:
self.index = idx
com = token[1]
if self.top_comment == "":
self.top_comment = com
- if self.comment == None or com[0] == '*':
+ if self.comment is None or com[0] == '*':
self.comment = com
else:
self.comment = self.comment + com
args = []
desc = ""
- if self.comment == None:
+ if self.comment is None:
if not quiet:
self.warning("Missing comment for type %s" % (name))
return((args, desc))
args = []
desc = ""
- if self.comment == None:
+ if self.comment is None:
if not quiet:
self.warning("Missing comment for macro %s" % (name))
return((args, desc))
desc = ""
retdesc = ""
- if self.comment == None:
+ if self.comment is None:
if not quiet:
self.warning("Missing comment for function %s" % (name))
return(((ret[0], retdesc), args, desc))
#
i = 0
while i < nbargs:
- if args[i][2] == None and args[i][0] != "void" and args[i][1] != None:
+ if args[i][2] is None and args[i][0] != "void" and args[i][1] is not None:
self.warning("Function comment for %s lacks description of arg %s" % (name, args[i][1]))
i = i + 1
if retdesc == "" and ret[0] != "void":
name = token[1]
if name == "#include":
token = self.lexer.token()
- if token == None:
+ if token is None:
return None
if token[0] == 'preproc':
self.index_add(token[1], self.filename, not self.is_header,
return token
if name == "#define":
token = self.lexer.token()
- if token == None:
+ if token is None:
return None
if token[0] == 'preproc':
# TODO macros with arguments
name = token[1]
lst = []
token = self.lexer.token()
- while token != None and token[0] == 'preproc' and \
+ while token is not None and token[0] == 'preproc' and \
token[1][0] != '#':
lst.append(token[1])
token = self.lexer.token()
self.conditionals = self.conditionals[:-1]
self.defines = self.defines[:-1]
token = self.lexer.token()
- while token != None and token[0] == 'preproc' and \
+ while token is not None and token[0] == 'preproc' and \
token[1][0] != '#':
token = self.lexer.token()
return token
global ignored_words
token = self.lexer.token()
- while token != None:
+ while token is not None:
if token[0] == 'comment':
token = self.parseComment(token)
continue
return token
elif token[0] == "name" and token[1] == "__attribute":
token = self.lexer.token()
- while token != None and token[1] != ";":
+ while token is not None and token[1] != ";":
token = self.lexer.token()
return token
elif token[0] == "name" and ignored_words.has_key(token[1]):
# Parse a typedef, it records the type and its name.
#
def parseTypedef(self, token):
- if token == None:
+ if token is None:
return None
token = self.parseType(token)
- if token == None:
+ if token is None:
self.error("parsing typedef")
return None
base_type = self.type
type = base_type
#self.debug("end typedef type", token)
- while token != None:
+ while token is not None:
if token[0] == "name":
name = token[1]
signature = self.signature
- if signature != None:
+ if signature is not None:
type = string.split(type, '(')[0]
d = self.mergeFunctionComment(name,
((type, None), signature), 1)
self.error("parsing typedef: expecting a name")
return token
#self.debug("end typedef", token)
- if token != None and token[0] == 'sep' and token[1] == ',':
+ if token is not None and token[0] == 'sep' and token[1] == ',':
type = base_type
token = self.token()
- while token != None and token[0] == "op":
+ while token is not None and token[0] == "op":
type = type + token[1]
token = self.token()
- elif token != None and token[0] == 'sep' and token[1] == ';':
+ elif token is not None and token[0] == 'sep' and token[1] == ';':
break
- elif token != None and token[0] == 'name':
+ elif token is not None and token[0] == 'name':
type = base_type
continue
else:
# the balancing } included
#
def parseBlock(self, token):
- while token != None:
+ while token is not None:
if token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseBlock(token)
def parseStruct(self, token):
fields = []
#self.debug("start parseStruct", token)
- while token != None:
+ while token is not None:
if token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
#self.debug("before parseType", token)
token = self.parseType(token)
#self.debug("after parseType", token)
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
fname = token[1]
token = self.token()
if token[0] == "sep" and token[1] == ";":
self.comment = None
else:
self.error("parseStruct: expecting ;", token)
- elif token != None and token[0] == "sep" and token[1] == "{":
+ elif token is not None and token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
token = self.token()
- if token != None and token[0] == "sep" and token[1] == ";":
+ if token is not None and token[0] == "sep" and token[1] == ";":
token = self.token()
else:
self.error("parseStruct: expecting ;", token)
def parseUnion(self, token):
fields = []
# self.debug("start parseUnion", token)
- while token != None:
+ while token is not None:
if token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
# self.debug("before parseType", token)
token = self.parseType(token)
# self.debug("after parseType", token)
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
fname = token[1]
token = self.token()
if token[0] == "sep" and token[1] == ";":
self.comment = None
else:
self.error("parseUnion: expecting ;", token)
- elif token != None and token[0] == "sep" and token[1] == "{":
+ elif token is not None and token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
token = self.token()
- if token != None and token[0] == "sep" and token[1] == ";":
+ if token is not None and token[0] == "sep" and token[1] == ";":
token = self.token()
else:
self.error("parseUnion: expecting ;", token)
self.comment = None
comment = ""
value = "0"
- while token != None:
+ while token is not None:
if token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
elif token[0] == "sep" and token[1] == "}":
- if name != None:
+ if name is not None:
self.cleanupComment()
- if self.comment != None:
+ if self.comment is not None:
comment = self.comment
self.comment = None
self.enums.append((name, value, comment))
return token
elif token[0] == "name":
self.cleanupComment()
- if name != None:
- if self.comment != None:
+ if name is not None:
+ if self.comment is not None:
comment = string.strip(self.comment)
self.comment = None
self.enums.append((name, value, comment))
# the balancing }
#
def parseTypeBlock(self, token):
- while token != None:
+ while token is not None:
if token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseTypeBlock(token)
self.struct_fields = []
self.union_fields = []
self.signature = None
- if token == None:
+ if token is None:
return token
while token[0] == "name" and (
if token[0] == "name":
nametok = token
token = self.token()
- if token != None and token[0] == "sep" and token[1] == "{":
+ if token is not None and token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseStruct(token)
- elif token != None and token[0] == "op" and token[1] == "*":
+ elif token is not None and token[0] == "op" and token[1] == "*":
self.type = self.type + " " + nametok[1] + " *"
token = self.token()
- while token != None and token[0] == "op" and token[1] == "*":
+ while token is not None and token[0] == "op" and token[1] == "*":
self.type = self.type + " *"
token = self.token()
if token[0] == "name":
else:
self.error("struct : expecting name", token)
return token
- elif token != None and token[0] == "name" and nametok != None:
+ elif token is not None and token[0] == "name" and nametok is not None:
self.type = self.type + " " + nametok[1]
return token
- if nametok != None:
+ if nametok is not None:
self.lexer.push(token)
token = nametok
return token
if token[0] == "name":
nametok = token
token = self.token()
- if token != None and token[0] == "sep" and token[1] == "{":
+ if token is not None and token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseUnion(token)
- elif token != None and token[0] == "name" and nametok != None:
+ elif token is not None and token[0] == "name" and nametok is not None:
self.type = self.type + " " + nametok[1]
return token
- if nametok != None:
+ if nametok is not None:
self.lexer.push(token)
token = nametok
return token
self.type = self.type + " " + token[1]
self.enums = []
token = self.token()
- if token != None and token[0] == "sep" and token[1] == "{":
+ if token is not None and token[0] == "sep" and token[1] == "{":
token = self.token()
token = self.parseEnumBlock(token)
else:
self.error("parsing enum: expecting '{'", token)
enum_type = None
- if token != None and token[0] != "name":
+ if token is not None and token[0] != "name":
self.lexer.push(token)
token = ("name", "enum")
else:
return token
elif token[0] == "name" and token[1] == "VIR_ENUM_DECL":
token = self.token()
- if token != None and token[0] == "sep" and token[1] == "(":
+ if token is not None and token[0] == "sep" and token[1] == "(":
token = self.token()
token = self.parseVirEnumDecl(token)
else:
self.error("parsing VIR_ENUM_DECL: expecting '('", token)
- if token != None:
+ if token is not None:
self.lexer.push(token)
token = ("name", "virenumdecl")
return token
elif token[0] == "name" and token[1] == "VIR_ENUM_IMPL":
token = self.token()
- if token != None and token[0] == "sep" and token[1] == "(":
+ if token is not None and token[0] == "sep" and token[1] == "(":
token = self.token()
token = self.parseVirEnumImpl(token)
else:
self.error("parsing VIR_ENUM_IMPL: expecting '('", token)
- if token != None:
+ if token is not None:
self.lexer.push(token)
token = ("name", "virenumimpl")
return token
token)
return token
token = self.token()
- while token != None and (token[0] == "op" or
+ while token is not None and (token[0] == "op" or
token[0] == "name" and token[1] == "const"):
self.type = self.type + " " + token[1]
token = self.token()
#
# if there is a parenthesis here, this means a function type
#
- if token != None and token[0] == "sep" and token[1] == '(':
+ if token is not None and token[0] == "sep" and token[1] == '(':
self.type = self.type + token[1]
token = self.token()
- while token != None and token[0] == "op" and token[1] == '*':
+ while token is not None and token[0] == "op" and token[1] == '*':
self.type = self.type + token[1]
token = self.token()
- if token == None or token[0] != "name" :
+ if token is None or token[0] != "name" :
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] == ')':
+ if token is not None and token[0] == "sep" and token[1] == ')':
self.type = self.type + token[1]
token = self.token()
- if token != None and token[0] == "sep" and token[1] == '(':
+ if token is not None and token[0] == "sep" and token[1] == '(':
token = self.token()
type = self.type
token = self.parseSignature(token)
#
# do some lookahead for arrays
#
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
nametok = token
token = self.token()
- if token != None and token[0] == "sep" and token[1] == '[':
+ if token is not None and token[0] == "sep" and token[1] == '[':
self.type = self.type + " " + nametok[1]
- while token != None and token[0] == "sep" and token[1] == '[':
+ while token is not None and token[0] == "sep" and token[1] == '[':
self.type = self.type + token[1]
token = self.token()
- while token != None and token[0] != 'sep' and \
+ while token is not None and token[0] != 'sep' and \
token[1] != ']' and token[1] != ';':
self.type = self.type + token[1]
token = self.token()
- if token != None and token[0] == 'sep' and token[1] == ']':
+ if token is not None and token[0] == 'sep' and token[1] == ']':
self.type = self.type + token[1]
token = self.token()
else:
self.error("parsing array type, ']' expected", token)
return token
- elif token != None and token[0] == "sep" and token[1] == ':':
+ elif token is not None and token[0] == "sep" and token[1] == ':':
# remove :12 in case it's a limited int size
token = self.token()
token = self.token()
# up to the ')' included
def parseSignature(self, token):
signature = []
- if token != None and token[0] == "sep" and token[1] == ')':
+ if token is not None and token[0] == "sep" and token[1] == ')':
self.signature = []
token = self.token()
return token
- while token != None:
+ while token is not None:
token = self.parseType(token)
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
signature.append((self.type, token[1], None))
token = self.token()
- elif token != None and token[0] == "sep" and token[1] == ',':
+ elif token is not None and token[0] == "sep" and token[1] == ',':
token = self.token()
continue
- elif token != None and token[0] == "sep" and token[1] == ')':
+ elif token is not None and token[0] == "sep" and token[1] == ')':
# only the type was provided
if self.type == "...":
signature.append((self.type, "...", None))
else:
signature.append((self.type, None, None))
- if token != None and token[0] == "sep":
+ if token is not None and token[0] == "sep":
if token[1] == ',':
token = self.token()
continue
static = 0
if token[1] == 'extern':
token = self.token()
- if token == None:
+ if token is None:
return token
if token[0] == 'string':
if token[1] == 'C':
token = self.token()
- if token == None:
+ if token is None:
return token
if token[0] == 'sep' and token[1] == "{":
token = self.token()
# print 'Entering extern "C line ', self.lineno()
- while token != None and (token[0] != 'sep' or
+ while token is not None and (token[0] != 'sep' or
token[1] != "}"):
if token[0] == 'name':
token = self.parseGlobal(token)
elif token[1] == 'static':
static = 1
token = self.token()
- if token == None or token[0] != 'name':
+ if token is None or token[0] != 'name':
return token
if token[1] == 'typedef':
else:
token = self.parseType(token)
type_orig = self.type
- if token == None or token[0] != "name":
+ if token is None or token[0] != "name":
return token
type = type_orig
self.name = token[1]
token = self.token()
- while token != None and (token[0] == "sep" or token[0] == "op"):
+ while token is not None and (token[0] == "sep" or token[0] == "op"):
if token[0] == "sep":
if token[1] == "[":
type = type + token[1]
token = self.token()
- while token != None and (token[0] != "sep" or \
+ while token is not None and (token[0] != "sep" or \
token[1] != ";"):
type = type + token[1]
token = self.token()
- if token != None and token[0] == "op" and token[1] == "=":
+ if token is not None and token[0] == "op" and token[1] == "=":
#
# Skip the initialization of the variable
#
token = self.parseBlock(token)
else:
self.comment = None
- while token != None and (token[0] != "sep" or \
+ while token is not None and (token[0] != "sep" or \
(token[1] != ';' and token[1] != ',')):
token = self.token()
self.comment = None
- if token == None or token[0] != "sep" or (token[1] != ';' and
+ if token is None or token[0] != "sep" or (token[1] != ';' and
token[1] != ','):
self.error("missing ';' or ',' after value")
- if token != None and token[0] == "sep":
+ if token is not None and token[0] == "sep":
if token[1] == ";":
self.comment = None
token = self.token()
elif token[1] == "(":
token = self.token()
token = self.parseSignature(token)
- if token == None:
+ if token is None:
return None
if token[0] == "sep" and token[1] == ";":
self.checkLongLegacyFunction(self.name, type, self.signature)
"variable", type)
type = type_orig
token = self.token()
- while token != None and token[0] == "sep":
+ while token is not None and token[0] == "sep":
type = type + token[1]
token = self.token()
- if token != None and token[0] == "name":
+ if token is not None and token[0] == "name":
self.name = token[1]
token = self.token()
else:
if not quiet:
print "Parsing %s" % (self.filename)
token = self.token()
- while token != None:
+ while token is not None:
if token[0] == 'name':
token = self.parseGlobal(token)
else:
print >>sys.stderr, "Error:", msg
def indexString(self, id, str):
- if str == None:
+ if str is None:
return
str = string.replace(str, "'", ' ')
str = string.replace(str, '"', ' ')
id = self.idx.enums[name]
output.write(" <enum name='%s' file='%s'" % (name,
self.modulename_file(id.header)))
- if id.info != None:
+ if id.info is not None:
info = id.info
- if info[0] != None and info[0] != '':
+ if info[0] is not None and info[0] != '':
try:
val = eval(info[0])
except:
val = info[0]
output.write(" value='%s'" % (val))
- if info[2] != None and info[2] != '':
+ if info[2] is not None and info[2] != '':
output.write(" type='%s'" % info[2])
- if info[1] != None and info[1] != '':
+ if info[1] is not None and info[1] != '':
output.write(" info='%s'" % escape(info[1]))
output.write("/>\n")
id = self.idx.macros[name]
output.write(" <macro name='%s' file='%s'>\n" % (name,
self.modulename_file(id.header)))
- if id.info != None:
+ if id.info is not None:
try:
(args, desc) = id.info
- if desc != None and desc != "":
+ if desc is not None and desc != "":
output.write(" <info><![CDATA[%s]]></info>\n" % (desc))
self.indexString(name, desc)
for arg in args:
(name, desc) = arg
- if desc != None and desc != "":
+ if desc is not None and desc != "":
output.write(" <arg name='%s' info='%s'/>\n" % (
name, escape(desc)))
self.indexString(name, desc)
output.write(" <union>\n")
for f in field[3]:
desc = f[2]
- if desc == None:
+ if desc is None:
desc = ''
else:
desc = escape(desc)
for field in self.idx.structs[name].info:
desc = field[2]
self.indexString(name, desc)
- if desc == None:
+ if desc is None:
desc = ''
else:
desc = escape(desc)
name, self.modulename_file(id.header), id.info))
try:
desc = id.extra
- if desc != None and desc != "":
+ if desc is not None and desc != "":
output.write(">\n <info><![CDATA[%s]]></info>\n" % (desc))
output.write(" </typedef>\n")
else:
def serialize_variable(self, output, name):
id = self.idx.variables[name]
- if id.info != None:
+ if id.info is not None:
output.write(" <variable name='%s' file='%s' type='%s'/>\n" % (
name, self.modulename_file(id.header), id.info))
else:
#
# Processing of conditionals modified by Bill 1/1/05
#
- if id.conditionals != None:
+ if id.conditionals is not None:
apstr = ""
for cond in id.conditionals:
if apstr != "":
(ret, params, desc) = id.info
output.write(" <info><![CDATA[%s]]></info>\n" % (desc))
self.indexString(name, desc)
- if ret[0] != None:
+ if ret[0] is not None:
if ret[0] == "void":
output.write(" <return type='void'/>\n")
- elif (ret[1] == None or ret[1] == '') and not ignored_functions.has_key(name):
+ elif (ret[1] is None or ret[1] == '') and not ignored_functions.has_key(name):
self.error("Missing documentation for return of function `%s'" % name)
else:
output.write(" <return type='%s' info='%s'/>\n" % (
for param in params:
if param[0] == 'void':
continue
- if (param[2] == None or param[2] == ''):
+ if (param[2] is None or param[2] == ''):
if ignored_functions.has_key(name):
output.write(" <arg name='%s' type='%s' info=''/>\n" % (param[1], param[0]))
else:
module = self.modulename_file(file)
output.write(" <file name='%s'>\n" % (module))
dict = self.headers[file]
- if dict.info != None:
+ if dict.info is not None:
for data in ('Summary', 'Description', 'Author'):
try:
output.write(" <%s>%s</%s>\n" % (
ids.sort()
for id in ids:
if id[0] != letter:
- if letter != None:
+ if letter is not None:
output.write(" </letter>\n")
letter = id[0]
output.write(" <letter name='%s'>\n" % (letter))
output.write(" <ref name='%s'/>\n" % (id))
- if letter != None:
+ if letter is not None:
output.write(" </letter>\n")
def serialize_xrefs_references(self, output):
if len(index[id]) > 30:
continue
if id[0] != letter:
- if letter == None or count > 200:
- if letter != None:
+ if letter is None or count > 200:
+ if letter is not None:
output.write(" </letter>\n")
output.write(" </chunk>\n")
count = 0
output.write(" <chunk name='chunk%s'>\n" % (chunk))
first_letter = id[0]
chunk = chunk + 1
- elif letter != None:
+ elif letter is not None:
output.write(" </letter>\n")
letter = id[0]
output.write(" <letter name='%s'>\n" % (letter))
output.write(" <ref name='%s'/>\n" % (token))
count = count + 1
output.write(" </word>\n")
- if letter != None:
+ if letter is not None:
output.write(" </letter>\n")
output.write(" </chunk>\n")
if count != 0:
def createTable(db, name):
global TABLES
- if db == None:
+ if db is None:
return -1
- if name == None:
+ if name is None:
return -1
c = db.cursor()
def checkTables(db, verbose = 1):
global TABLES
- if db == None:
+ if db is None:
return -1
c = db.cursor()
nbtables = c.execute("show tables")
def openMySQL(db="libvir", passwd=None, verbose = 1):
global DB
- if passwd == None:
+ if passwd is None:
try:
passwd = os.environ["MySQL_PASS"]
except:
sys.exit(1)
DB = MySQLdb.connect(passwd=passwd, db=db)
- if DB == None:
+ if DB is None:
return -1
ret = checkTables(DB, verbose)
return ret
def updateWord(name, symbol, relevance):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if name == None:
+ if name is None:
return -1
- if symbol == None:
+ if symbol is None:
return -1
c = DB.cursor()
global DB
updateWord(name, name, 50)
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if name == None:
+ if name is None:
return -1
- if module == None:
+ if module is None:
return -1
- if type == None:
+ if type is None:
return -1
try:
def addPage(resource, title):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if resource == None:
+ if resource is None:
return -1
c = DB.cursor()
def updateWordHTML(name, resource, desc, id, relevance):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if name == None:
+ if name is None:
return -1
- if resource == None:
+ if resource is None:
return -1
- if id == None:
+ if id is None:
id = ""
- if desc == None:
+ if desc is None:
desc = ""
else:
try:
def checkXMLMsgArchive(url):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if url == None:
+ if url is None:
return -1
c = DB.cursor()
ret = c.execute(
"""SELECT ID FROM archives WHERE resource='%s'""" % (url))
row = c.fetchone()
- if row == None:
+ if row is None:
return -1
except:
return -1
def addXMLMsgArchive(url, title):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if url == None:
+ if url is None:
return -1
- if title == None:
+ if title is None:
title = ""
else:
title = string.replace(title, "'", " ")
cmd = """SELECT ID FROM archives WHERE resource='%s'""" % (url)
ret = c.execute(cmd)
row = c.fetchone()
- if row == None:
+ if row is None:
print "addXMLMsgArchive failed to get the ID: %s" % (url)
return -1
except:
def updateWordArchive(name, id, relevance):
global DB
- if DB == None:
+ if DB is None:
openMySQL()
- if DB == None:
+ if DB is None:
return -1
- if name == None:
+ if name is None:
return -1
- if id == None:
+ if id is None:
return -1
c = DB.cursor()
def addWord(word, module, symbol, relevance):
global wordsDict
- if word == None or len(word) < 3:
+ if word is None or len(word) < 3:
return -1
- if module == None or symbol == None:
+ if module is None or symbol is None:
return -1
if dropWords.has_key(word):
return 0
if wordsDict.has_key(word):
d = wordsDict[word]
- if d == None:
+ if d is None:
return 0
if len(d) > 500:
wordsDict[word] = None
return relevance
def addString(str, module, symbol, relevance):
- if str == None or len(str) < 3:
+ if str is None or len(str) < 3:
return -1
ret = 0
str = cleanupWordsString(str)
def addWordHTML(word, resource, id, section, relevance):
global wordsDictHTML
- if word == None or len(word) < 3:
+ if word is None or len(word) < 3:
return -1
- if resource == None or section == None:
+ if resource is None or section is None:
return -1
if dropWords.has_key(word):
return 0
if wordsDictHTML.has_key(word):
d = wordsDictHTML[word]
- if d == None:
+ if d is None:
print "skipped %s" % (word)
return 0
try:
(r,i,s) = d[resource]
- if i != None:
+ if i is not None:
id = i
- if s != None:
+ if s is not None:
section = s
relevance = relevance + r
except:
return relevance
def addStringHTML(str, resource, id, section, relevance):
- if str == None or len(str) < 3:
+ if str is None or len(str) < 3:
return -1
ret = 0
str = cleanupWordsString(str)
def addWordArchive(word, id, relevance):
global wordsDictArchive
- if word == None or len(word) < 3:
+ if word is None or len(word) < 3:
return -1
- if id == None or id == -1:
+ if id is None or id == -1:
return -1
if dropWords.has_key(word):
return 0
if wordsDictArchive.has_key(word):
d = wordsDictArchive[word]
- if d == None:
+ if d is None:
print "skipped %s" % (word)
return 0
try:
return relevance
def addStringArchive(str, id, relevance):
- if str == None or len(str) < 3:
+ if str is None or len(str) < 3:
return -1
ret = 0
str = cleanupWordsString(str)
return doc
def foundExport(file, symbol):
- if file == None:
+ if file is None:
return 0
- if symbol == None:
+ if symbol is None:
return 0
addFunction(symbol, file)
l = splitIdentifier(symbol)
count = 0
name = top.prop("name")
cur = top.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
count = 0
cur = top.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
def analyzeAPIEnum(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
addEnum(symbol, file)
def analyzeAPIConst(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
addConst(symbol, file)
def analyzeAPIType(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
addType(symbol, file)
def analyzeAPIFunctype(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
addFunctype(symbol, file)
def analyzeAPIStruct(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
addStruct(symbol, file)
addWord(word, file, symbol, 10)
info = top.prop("info")
- if info != None:
+ if info is not None:
info = string.replace(info, "'", " ")
info = string.strip(info)
l = string.split(info)
def analyzeAPIMacro(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
symbol = string.replace(symbol, "'", " ")
symbol = string.strip(symbol)
info = None
cur = top.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
for word in l:
addWord(word, file, symbol, 10)
- if info == None:
+ if info is None:
addMacro(symbol, file)
print "Macro %s description has no <info>" % (symbol)
return 0
def analyzeAPIFunction(top):
file = top.prop("file")
- if file == None:
+ if file is None:
return 0
symbol = top.prop("name")
- if symbol == None:
+ if symbol is None:
return 0
symbol = string.replace(symbol, "'", " ")
symbol = string.strip(symbol)
info = None
cur = top.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
info = cur.content
elif cur.name == "return":
rinfo = cur.prop("info")
- if rinfo != None:
+ if rinfo is not None:
rinfo = string.replace(rinfo, "'", " ")
rinfo = string.strip(rinfo)
addString(rinfo, file, symbol, 7)
elif cur.name == "arg":
ainfo = cur.prop("info")
- if ainfo != None:
+ if ainfo is not None:
ainfo = string.replace(ainfo, "'", " ")
ainfo = string.strip(ainfo)
addString(ainfo, file, symbol, 5)
name = cur.prop("name")
- if name != None:
+ if name is not None:
name = string.replace(name, "'", " ")
name = string.strip(name)
addWord(name, file, symbol, 7)
cur = cur.next
- if info == None:
+ if info is None:
print "Function %s description has no <info>" % (symbol)
addFunction(symbol, file, "")
else:
count = 0
cur = top.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
def analyzeAPI(doc):
count = 0
- if doc == None:
+ if doc is None:
return -1
root = doc.getRootElement()
if root.name != "api":
print "Unexpected root name"
return -1
cur = root.children
- while cur != None:
+ while cur is not None:
if cur.type == 'text':
cur = cur.next
continue
import time
def getXMLDateArchive(t = None):
- if t == None:
+ if t is None:
t = time.time()
T = time.gmtime(t)
month = time.strftime("%B", T)
return url
def scanXMLMsgArchive(url, title, force = 0):
- if url == None or title == None:
+ if url is None or title is None:
return 0
ID = checkXMLMsgArchive(url)
doc = libxml2.htmlParseFile(url, None)
except:
doc = None
- if doc == None:
+ if doc is None:
print "Failed to parse %s" % (url)
return 0
doc = libxml2.htmlParseFile(url, None)
except:
doc = None
- if doc == None:
+ if doc is None:
print "Failed to parse %s" % (url)
return -1
ctxt = doc.xpathNewContext()
newmsg = 0
for anchor in anchors:
href = anchor.prop("href")
- if href == None or href[0:3] != "msg":
+ if href is None or href[0:3] != "msg":
continue
try:
links = links + 1
msg = libxml2.buildURI(href, url)
title = anchor.content
- if title != None and title[0:4] == 'Re: ':
+ if title is not None and title[0:4] == 'Re: ':
title = title[4:]
- if title != None and title[0:6] == '[xml] ':
+ if title is not None and title[0:6] == '[xml] ':
title = title[6:]
newmsg = newmsg + scanXMLMsgArchive(msg, title, force)
skipped = 0
for word in wordsDictArchive.keys():
refs = wordsDictArchive[word]
- if refs == None:
+ if refs is None:
skipped = skipped + 1
continue
for id in refs.keys():
skipped = 0
for word in wordsDictHTML.keys():
refs = wordsDictHTML[word]
- if refs == None:
+ if refs is None:
skipped = skipped + 1
continue
for resource in refs.keys():
skipped = 0
for word in wordsDict.keys():
refs = wordsDict[word]
- if refs == None:
+ if refs is None:
skipped = skipped + 1
continue
for (module, symbol) in refs.keys():