Skip to content

Commit 067b2c7

Browse files
committed
Separate CodeFileOptions
1 parent 9124078 commit 067b2c7

1 file changed

Lines changed: 42 additions & 19 deletions

File tree

tools/Examples.py

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,28 @@ def copyAntBuildFiles():
119119
shutil.copy(str(github / "Ant-Common.xml"), str(destination))
120120

121121

122+
class CodeFileOptions(object):
123+
"""docstring for CodeFileOptions"""
124+
def __init__(self, codeFile):
125+
self.codeFile = codeFile
126+
127+
self.cmdargs = None
128+
if "{Args:" in self.codeFile.code:
129+
for line in self.codeFile.lines:
130+
if "{Args:" in line:
131+
self.cmdargs = line.split("{Args:")[1].strip()[:-1]
132+
133+
self.runbyhand = "{RunByHand}" in self.codeFile.code
134+
135+
self.exclude = None
136+
if "{CompileTimeError}" in self.codeFile.code:
137+
self.exclude = self.codeFile.name + ".java"
138+
if self.codeFile.subdirs:
139+
self.exclude = '/'.join(self.codeFile.subdirs) + '/' + self.exclude
140+
print(self.exclude)
141+
142+
self.throwsexception = "{ThrowsException}" in self.codeFile.code
143+
122144
class CodeFile:
123145
def __init__(self, javaFile, chapterDir):
124146
self.chapter_dir = chapterDir
@@ -139,30 +161,31 @@ def __init__(self, javaFile, chapterDir):
139161
self.tagLine = self.lines[0][4:]
140162
self.relpath = '../' + '/'.join(self.tagLine.split('/')[:-1])
141163
self.name = javaFile.name.split('.')[0]
142-
self.cmdargs = None
143-
if "{Args:" in self.code:
144-
for line in self.lines:
145-
if "{Args:" in line:
146-
self.cmdargs = line.split("{Args:")[1].strip()[:-1]
147-
self.runbyhand = "{RunByHand}" in self.code
148-
self.exclude = None
149-
if "{CompileTimeError}" in self.code:
150-
self.exclude = self.name + ".java"
151-
if self.subdirs:
152-
self.exclude = '/'.join(self.subdirs) + '/' + self.exclude
153-
print(self.exclude)
154-
self.throwsexception = "{ThrowsException}" in self.code
164+
self.options = CodeFileOptions(self)
165+
# self.cmdargs = None
166+
# if "{Args:" in self.code:
167+
# for line in self.lines:
168+
# if "{Args:" in line:
169+
# self.cmdargs = line.split("{Args:")[1].strip()[:-1]
170+
# self.runbyhand = "{RunByHand}" in self.code
171+
# self.exclude = None
172+
# if "{CompileTimeError}" in self.code:
173+
# self.exclude = self.name + ".java"
174+
# if self.subdirs:
175+
# self.exclude = '/'.join(self.subdirs) + '/' + self.exclude
176+
# print(self.exclude)
177+
# self.throwsexception = "{ThrowsException}" in self.code
155178

156179
def run_command(self):
157180
if not self.main:
158181
return ""
159182
if self.package:
160-
if self.cmdargs:
161-
return """ <jrun cls="%s" dirpath="%s" arguments='%s'/>\n""" % (self.packageName() + '.' + self.name, self.relpath, self.cmdargs)
183+
if self.options.cmdargs:
184+
return """ <jrun cls="%s" dirpath="%s" arguments='%s'/>\n""" % (self.packageName() + '.' + self.name, self.relpath, self.options.cmdargs)
162185
else:
163186
return """ <jrun cls="%s" dirpath="%s"/>\n""" % (self.packageName() + '.' + self.name, self.relpath)
164-
if self.cmdargs:
165-
return """ <jrun cls="%s" arguments='%s'/>\n""" % (self.name, self.cmdargs)
187+
if self.options.cmdargs:
188+
return """ <jrun cls="%s" arguments='%s'/>\n""" % (self.name, self.options.cmdargs)
166189
else:
167190
return """ <jrun cls="%s"/>\n""" % self.name
168191

@@ -188,7 +211,7 @@ class Chapter:
188211
def __init__(self, dir):
189212
self.dir = dir
190213
self.code_files = [CodeFile(javaFile, dir) for javaFile in dir.glob("**/*.java")]
191-
self.excludes = [cf.exclude for cf in self.code_files if cf.exclude]
214+
self.excludes = [cf.options.exclude for cf in self.code_files if cf.options.exclude]
192215

193216
def __repr__(self):
194217
result = "-" * 80
@@ -210,7 +233,7 @@ def checkPackages(self):
210233
def makeBuildFile(self):
211234
buildFile = startBuild % (self.dir.name, " ".join(self.excludes))
212235
for cf in self.code_files:
213-
if any([cf.name + ".java" in f for f in self.excludes]) or cf.runbyhand:
236+
if any([cf.name + ".java" in f for f in self.excludes]) or cf.options.runbyhand:
214237
continue
215238
buildFile += cf.run_command()
216239
buildFile += endBuild

0 commit comments

Comments
 (0)