Lines 238-243
class Task(object):
Link Here
|
238 |
self.name = "%s.%s" % (func.__module__, func.__name__) |
238 |
self.name = "%s.%s" % (func.__module__, func.__name__) |
239 |
self.option_names = set() |
239 |
self.option_names = set() |
240 |
self.user_options = [] |
240 |
self.user_options = [] |
|
|
241 |
self.negative_opt = {} |
241 |
try: |
242 |
try: |
242 |
self.__doc__ = func.__doc__ |
243 |
self.__doc__ = func.__doc__ |
243 |
except AttributeError: |
244 |
except AttributeError: |
Lines 250-256
class Task(object):
Link Here
|
250 |
|
251 |
|
251 |
def __repr__(self): |
252 |
def __repr__(self): |
252 |
return "Task: " + self.__name__ |
253 |
return "Task: " + self.__name__ |
253 |
|
254 |
|
254 |
@property |
255 |
@property |
255 |
def parser(self): |
256 |
def parser(self): |
256 |
options = self.user_options |
257 |
options = self.user_options |
Lines 265-270
class Task(object):
Link Here
|
265 |
if not task: |
266 |
if not task: |
266 |
raise PavementError("Task %s needed by %s does not exist" |
267 |
raise PavementError("Task %s needed by %s does not exist" |
267 |
% (task_name, self)) |
268 |
% (task_name, self)) |
|
|
269 |
|
268 |
for option in task.user_options: |
270 |
for option in task.user_options: |
269 |
try: |
271 |
try: |
270 |
longname = option[0] |
272 |
longname = option[0] |
Lines 294-299
by another task in the dependency chain.""" % (self, option, task))
Link Here
|
294 |
except IndexError: |
296 |
except IndexError: |
295 |
raise PavementError("Invalid option format provided for %r: %s" |
297 |
raise PavementError("Invalid option format provided for %r: %s" |
296 |
% (self, option)) |
298 |
% (self, option)) |
|
|
299 |
|
297 |
return parser |
300 |
return parser |
298 |
|
301 |
|
299 |
def display_help(self, parser=None): |
302 |
def display_help(self, parser=None): |
Lines 320-334
by another task in the dependency chain.""" % (self, option, task))
Link Here
|
320 |
sys.exit(0) |
323 |
sys.exit(0) |
321 |
|
324 |
|
322 |
for task_name, option_name in self.option_names: |
325 |
for task_name, option_name in self.option_names: |
|
|
326 |
dist_option_name = option_name |
323 |
option_name = option_name.replace('-', '_') |
327 |
option_name = option_name.replace('-', '_') |
324 |
try: |
328 |
try: |
325 |
optholder = environment.options[task_name] |
329 |
optholder = environment.options[task_name] |
326 |
except KeyError: |
330 |
except KeyError: |
327 |
optholder = paver.options.Bunch() |
331 |
optholder = paver.options.Bunch() |
328 |
environment.options[task_name] = optholder |
332 |
environment.options[task_name] = optholder |
|
|
333 |
|
329 |
value = getattr(options, option_name) |
334 |
value = getattr(options, option_name) |
330 |
if value is not None: |
335 |
if value is not None: |
331 |
optholder[option_name] = getattr(options, option_name) |
336 |
if dist_option_name in getattr(self, "negative_opt"): |
|
|
337 |
optholder[self.negative_opt[dist_option_name].replace('-', '_')] = False |
338 |
else: |
339 |
optholder[option_name] = getattr(options, option_name) |
340 |
|
332 |
return args |
341 |
return args |
333 |
|
342 |
|
334 |
@property |
343 |
@property |