Remove query.default_query and all related references

* Pass process env vars to script.sh ran from Query
This commit is contained in:
Franciszek Stachura 2024-02-06 00:09:45 +01:00 committed by Michael Opdenacker
parent bc4be252df
commit 76b7a8a659
8 changed files with 38 additions and 38 deletions

View file

@ -31,19 +31,20 @@ query_project = form.getvalue('p')
# Get project dirs
basedir = os.environ['LXR_PROJ_DIR']
os.environ['LXR_DATA_DIR'] = basedir + '/' + query_project + '/data'
os.environ['LXR_REPO_DIR'] = basedir + '/' + query_project + '/repo'
datadir = basedir + '/' + query_project + '/data'
repodir = basedir + '/' + query_project + '/repo'
# Import query
sys.path = [ sys.path[0] + '/..' ] + sys.path
from query import query
from query import Query
q = Query(datadir, repodir)
# Create tmp directory for autocomplete
tmpdir = '/tmp/autocomplete/' + query_project
if not(os.path.isdir(tmpdir)):
os.makedirs(tmpdir, exist_ok=True)
latest = query('latest')
latest = q.query('latest')
# Define some specific values for some families
if query_family == 'B':
@ -65,7 +66,7 @@ if not f.readline()[:-1] == latest:
f.seek(0)
f.truncate()
f.write(latest + "\n")
f.write('\n'.join([process(x.decode()) for x in query('keys', name)]))
f.write('\n'.join([process(x.decode()) for x in q.query('keys', name)]))
f.seek(0)
f.readline() # Skip first line that store the version number

View file

@ -5,7 +5,7 @@ dtscompB = []
def keep_dtscompB(m):
text = m.group(1)
if query('dts-comp-exists', parse.quote(text)):
if q.query('dts-comp-exists', parse.quote(text)):
dtscompB.append(text)
return '__KEEPDTSCOMPB__' + encode_number(len(dtscompB))
else:

View file

@ -9,7 +9,7 @@ def keep_makefiledir(m):
if dir_name != '/':
dir_name += '/'
if query('exist', tag, dir_name + m.group(1) + '/Makefile'):
if q.query('exist', tag, dir_name + m.group(1) + '/Makefile'):
makefiledir.append(m.group(1))
return '__KEEPMAKEFILEDIR__' + encode_number(len(makefiledir)) + '/' + m.group(2)
else:

View file

@ -8,7 +8,7 @@ def keep_makefilefile(m):
if dir_name != '/':
dir_name += '/'
if query('exist', tag, dir_name + m.group(1)):
if q.query('exist', tag, dir_name + m.group(1)):
makefilefile.append(m.group(1))
return '__KEEPMAKEFILEFILE__' + encode_number(len(makefilefile)) + m.group(2)
else:

View file

@ -3,7 +3,7 @@
makefilesrctree = []
def keep_makefilesrctree(m):
if query('exist', tag, '/' + m.group(1)):
if q.query('exist', tag, '/' + m.group(1)):
makefilesrctree.append(m.group(1))
return '__KEEPMAKEFILESRCTREE__' + encode_number(len(makefilesrctree)) + m.group(2)
else:

View file

@ -131,12 +131,13 @@ for (dirpath, dirnames, filenames) in os.walk(basedir):
break
projects.sort()
from query import query
from query import Query
dts_comp_support = query('dts-comp')
q = Query(datadir, repodir)
dts_comp_support = q.query('dts-comp')
if version_decoded == 'latest':
tag = query('latest')
tag = q.query('latest')
else:
tag = version_decoded
@ -154,7 +155,7 @@ data = {
'breadcrumb': '<a class="project" href="'+version+'/source">/</a>'
}
versions = query('versions')
versions = q.query('versions')
v = ''
b = 1
@ -207,12 +208,12 @@ if mode == 'source':
lines = ['null - - -']
type = query('type', tag, path)
type = q.query('type', tag, path)
if len(type) > 0:
if type == 'tree':
lines += query('dir', tag, path)
lines += q.query('dir', tag, path)
elif type == 'blob':
code = query('file', tag, path)
code = q.query('file', tag, path)
else:
print('<div class="lxrerror"><h2>This file does not exist.</h2></div>')
status = 404
@ -240,7 +241,7 @@ if mode == 'source':
# 120000 permission means it's a symlink
# So we need to handle that correctly
dir_name = os.path.dirname(path)
rel_path = query('file', tag, path2)
rel_path = q.query('file', tag, path2)
if dir_name != '/':
dir_name += '/'
@ -271,7 +272,7 @@ if mode == 'source':
fdir, fname = os.path.split(path)
filename, extension = os.path.splitext(fname)
extension = extension[1:].lower()
family = query('family', fname)
family = q.query('family', fname)
# Source common filter definitions
os.chdir('filters')
@ -331,7 +332,7 @@ if mode == 'source':
elif mode == 'ident':
data['title'] = ident+' identifier - '+title_suffix
symbol_definitions, symbol_references, symbol_doccomments = query('ident', tag, ident, family)
symbol_definitions, symbol_references, symbol_doccomments = q.query('ident', tag, ident, family)
print('<div class="lxrident">')
if len(symbol_definitions) or len(symbol_references):

View file

@ -58,6 +58,7 @@ class Query:
def getEnv(self):
return {
**os.environ,
"LXR_REPO_DIR": self.repo_dir,
"LXR_DATA_DIR": self.data_dir,
}
@ -387,13 +388,8 @@ class Query:
return symbol_definitions, symbol_references, symbol_doccomments
default_query = Query(lib.getDataDir(), lib.getRepoDir())
def query(cmd, *args):
return default_query.query(cmd, *args)
def cmd_ident(version, ident, family, **kwargs):
symbol_definitions, symbol_references, symbol_doccomments = query("ident", version, ident, family)
def cmd_ident(q, version, ident, family, **kwargs):
symbol_definitions, symbol_references, symbol_doccomments = q.query("ident", version, ident, family)
print("Symbol Definitions:")
for symbol_definition in symbol_definitions:
print(symbol_definition)
@ -406,13 +402,15 @@ def cmd_ident(version, ident, family, **kwargs):
for symbol_doccomment in symbol_doccomments:
print(symbol_doccomment)
def cmd_file(version, path, **kwargs):
code = query("file", version, path)
def cmd_file(q, version, path, **kwargs):
code = q.query("file", version, path)
print(code)
if __name__ == "__main__":
import argparse
query = Query(lib.getDataDir(), lib.getRepoDir())
parser = argparse.ArgumentParser()
parser.add_argument("version", help="The version of the project", type=str, default="latest")
subparsers = parser.add_subparsers()
@ -420,11 +418,11 @@ if __name__ == "__main__":
ident_subparser = subparsers.add_parser('ident', help="Get definitions and references of an identifier")
ident_subparser.add_argument('ident', type=str, help="The name of the identifier")
ident_subparser.add_argument('family', type=str, help="The file family requested")
ident_subparser.set_defaults(func=cmd_ident)
ident_subparser.set_defaults(func=cmd_ident, q=query)
file_subparser = subparsers.add_parser('file', help="Get a source file")
file_subparser.add_argument('path', type=str, help="The path of the source file")
file_subparser.set_defaults(func=cmd_file)
file_subparser.set_defaults(func=cmd_file, q=query)
args = parser.parse_args()
args.func(**vars(args))

View file

@ -75,24 +75,24 @@ def init_query(project):
return None;
basedir = os.environ['LXR_PROJ_DIR']
os.environ['LXR_DATA_DIR']= basedir + '/' + project + '/data'
os.environ['LXR_REPO_DIR'] = basedir + '/' + project + '/repo'
datadir = basedir + '/' + project + '/data'
repodir = basedir + '/' + project + '/repo'
import query
return query.query
from query import Query
return Query(datadir, repodir)
def get_ident(ident, version):
if version == 'latest':
version = query('latest')
version = query.query('latest')
return query('ident', version, ident[0], ident[1])
return query.query('ident', version, ident[0], ident[1])
def get_file(path, version):
if version == 'latest':
version = query('latest')
version = query.query('latest')
return query('file', version, path)
return query.query('file', version, path)
#Read arguments