blob: 1698a475cde6e3847b0bf0bde89ee12137f66290 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import sys, os, subprocess, glob
class ValidateDocbook():
def __init__(self):
jing_dir = os.environ.get('JING_DIR')
if jing_dir == None:
raise IOError('You need to set the variable "JING_DIR"')
jing_jar = os.path.join(jing_dir, 'bin', 'jing.jar')
if not os.path.isfile(jing_jar):
raise IOError('You need download the jing.jar')
self.jing_jar = jing_jar
valid_home = os.environ.get('VALIDATE_HOME')
if valid_home == None:
raise IOError('You need to set the variable "VALIDATE_HOME"')
docbook_rng = os.path.join(valid_home, 'relax', 'docbook.rng')
if not os.path.isfile(docbook_rng):
msg = 'cannot find "{0}"'.format(docbook_rng)
msg += '\nYou need download docbook.rng'
raise IOError(msg)
self.docbook_rng = docbook_rng
def is_valid(self, in_files):
command_list = ['java', '-jar', self.jing_jar, self.docbook_rng]
if isinstance(in_files, list):
for f in in_files:
command_list.append(f)
else:
command_list.append(in_files)
exit_status = subprocess.call(command_list)
if exit_status:
return False
return True
if __name__ == '__main__':
in_files = sys.argv[1:]
valid_obj = ValidateDocbook()
valid = valid_obj.is_valid(in_files = in_files)
|