DocBook: in configure.py, DeclareDocBookClass doesn't need to be checked anymore.

This commit is contained in:
Thibaut Cuvelier 2020-09-11 03:05:04 +02:00
parent f28c193569
commit 41a15f7b6d

View File

@ -1311,7 +1311,7 @@ def _checkForClassExtension(x):
return x.strip() return x.strip()
def processLayoutFile(file): def processLayoutFile(file):
''' process layout file and get a line of result """ process layout file and get a line of result
Declare lines look like this: Declare lines look like this:
@ -1336,38 +1336,36 @@ def processLayoutFile(file):
"article" "article" "article" "false" "article.cls" "Articles" "article" "article" "article" "false" "article.cls" "Articles"
"scrbook" "scrbook" "book (koma-script)" "false" "scrbook.cls" "Books" "scrbook" "scrbook" "book (koma-script)" "false" "scrbook.cls" "Books"
"svjog" "svjour" "article (Springer - svjour/jog)" "false" "svjour.cls,svjog.clo" "" "svjog" "svjour" "article (Springer - svjour/jog)" "false" "svjour.cls,svjog.clo" ""
''' """
classname = file.split(os.sep)[-1].split('.')[0] classname = file.split(os.sep)[-1].split('.')[0]
# return ('LaTeX', '[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article} # return ('[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article}
p = re.compile('\s*#\s*\\\\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}\s*$') p = re.compile('\s*#\s*\\\\DeclareLaTeXClass\s*(\[([^,]*)(,.*)*])*\s*{(.*)}\s*$')
q = re.compile('\s*#\s*\\\\DeclareCategory{(.*)}\s*$') q = re.compile('\s*#\s*\\\\DeclareCategory{(.*)}\s*$')
classdeclaration = "" classdeclaration = ""
categorydeclaration = '""' categorydeclaration = '""'
for line in open(file, 'r', encoding='utf8').readlines(): for line in open(file, 'r', encoding='utf8').readlines():
res = p.match(line) res = p.match(line)
qres = q.match(line) qres = q.match(line)
if res != None: if res is not None:
(classtype, optAll, opt, opt1, desc) = res.groups() (optAll, opt, opt1, desc) = res.groups()
avai = {'LaTeX': 'false', 'DocBook': 'true'}[classtype] if opt is None:
if opt == None:
opt = classname opt = classname
prereq_latex = _checkForClassExtension(classname) prereq = _checkForClassExtension(classname)
else: else:
prereq_list = optAll[1:-1].split(',') prereq_list = optAll[1:-1].split(',')
prereq_list = list(map(_checkForClassExtension, prereq_list)) prereq_list = list(map(_checkForClassExtension, prereq_list))
prereq_latex = ','.join(prereq_list) prereq = ','.join(prereq_list)
prereq = {'LaTeX': prereq_latex, 'DocBook': ''}[classtype]
classdeclaration = ('"%s" "%s" "%s" "%s" "%s"' classdeclaration = ('"%s" "%s" "%s" "%s" "%s"'
% (classname, opt, desc, avai, prereq)) % (classname, opt, desc, 'false', prereq))
if categorydeclaration != '""': if categorydeclaration != '""':
return classdeclaration + " " + categorydeclaration return classdeclaration + " " + categorydeclaration
if qres != None: if qres is not None:
categorydeclaration = '"%s"' % (qres.groups()[0]) categorydeclaration = '"%s"' % (qres.groups()[0])
if classdeclaration: if classdeclaration:
return classdeclaration + " " + categorydeclaration return classdeclaration + " " + categorydeclaration
if classdeclaration: if classdeclaration:
return classdeclaration + " " + categorydeclaration return classdeclaration + " " + categorydeclaration
logger.warning("Layout file " + file + " has no \DeclareXXClass line. ") logger.warning("Layout file " + file + " has no \\DeclareLaTeXClass line. ")
return "" return ""
@ -1434,7 +1432,7 @@ def checkLatexConfig(check_config):
# Construct the list of classes to test for. # Construct the list of classes to test for.
# build the list of available layout files and convert it to commands # build the list of available layout files and convert it to commands
# for chkconfig.ltx # for chkconfig.ltx
declare = re.compile('\\s*#\\s*\\\\Declare(LaTeX|DocBook)Class\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$') declare = re.compile('\\s*#\\s*\\\\DeclareLaTeXClass\\s*(\[([^,]*)(,.*)*\])*\\s*{(.*)}\\s*$')
category = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$') category = re.compile('\\s*#\\s*\\\\DeclareCategory{(.*)}\\s*$')
empty = re.compile('\\s*$') empty = re.compile('\\s*$')
testclasses = list() testclasses = list()
@ -1455,10 +1453,10 @@ def checkLatexConfig(check_config):
nodeclaration = True nodeclaration = True
# A class, but no category declaration. Just break. # A class, but no category declaration. Just break.
break break
if declare.match(line) != None: if declare.match(line) is not None:
decline = "\\TestDocClass{%s}{%s}" % (classname, line[1:].strip()) decline = "\\TestDocClass{%s}{%s}" % (classname, line[1:].strip())
testclasses.append(decline) testclasses.append(decline)
elif category.match(line) != None: elif category.match(line) is not None:
catline = ("\\DeclareCategory{%s}{%s}" catline = ("\\DeclareCategory{%s}{%s}"
% (classname, category.match(line).groups()[0])) % (classname, category.match(line).groups()[0]))
testclasses.append(catline) testclasses.append(catline)