Revision caeffaa0

b/lib/jqueue.py
509 509
    self.queue = queue
510 510

  
511 511

  
512
class JobQueue(object):
513
  """Queue used to manage the jobs.
512
def _RequireOpenQueue(fn):
513
  """Decorator for "public" functions.
514 514

  
515
  @cvar _RE_JOB_FILE: regex matching the valid job file names
515
  This function should be used for all 'public' functions. That is,
516
  functions usually called from other classes. Note that this should
517
  be applied only to methods (not plain functions), since it expects
518
  that the decorated function is called with a first argument that has
519
  a '_queue_lock' argument.
516 520

  
517
  """
518
  _RE_JOB_FILE = re.compile(r"^job-(%s)$" % constants.JOB_ID_TEMPLATE)
521
  @warning: Use this decorator only after utils.LockedMethod!
519 522

  
520
  def _RequireOpenQueue(fn):
521
    """Decorator for "public" functions.
523
  Example::
524
    @utils.LockedMethod
525
    @_RequireOpenQueue
526
    def Example(self):
527
      pass
522 528

  
523
    This function should be used for all 'public' functions. That is,
524
    functions usually called from other classes.
529
  """
530
  def wrapper(self, *args, **kwargs):
531
    assert self._queue_lock is not None, "Queue should be open"
532
    return fn(self, *args, **kwargs)
533
  return wrapper
525 534

  
526
    @warning: Use this decorator only after utils.LockedMethod!
527 535

  
528
    Example::
529
      @utils.LockedMethod
530
      @_RequireOpenQueue
531
      def Example(self):
532
        pass
536
class JobQueue(object):
537
  """Queue used to manage the jobs.
533 538

  
534
    """
535
    def wrapper(self, *args, **kwargs):
536
      assert self._queue_lock is not None, "Queue should be open"
537
      return fn(self, *args, **kwargs)
538
    return wrapper
539
  @cvar _RE_JOB_FILE: regex matching the valid job file names
540

  
541
  """
542
  _RE_JOB_FILE = re.compile(r"^job-(%s)$" % constants.JOB_ID_TEMPLATE)
539 543

  
540 544
  def __init__(self, context):
541 545
    """Constructor for JobQueue.
b/lib/utils.py
2125 2125

  
2126 2126
    @type field: str
2127 2127
    @param field: the string to match
2128
    @return: either False or a regular expression match object
2128
    @return: either None or a regular expression match object
2129 2129

  
2130 2130
    """
2131 2131
    for m in itertools.ifilter(None, (val.match(field) for val in self.items)):
2132 2132
      return m
2133
    return False
2133
    return None
2134 2134

  
2135 2135
  def NonMatching(self, items):
2136 2136
    """Returns the list of fields not matching the current set

Also available in: Unified diff