So you are saying the case where a keyword argument is passed as a
positional, yes?  In that case then you're right, you'll have to use
**kwargs, annoyingly, in case someone called using positional arguments.

Adam


On Thu, Jan 23, 2014 at 12:35 AM, CBWhiz <notifications@github.com> wrote:

> In fsq/scan.py:
>
> > @@ -118,6 +118,28 @@ def next(self):
> >          # if we break through loop with no exception, we're done
> >          raise StopIteration()
> >
> > +def scan_forever(queue, *args, **kwargs):
> > +    """Return an infinite iterator over an fsq queue that blocks waiting
> > +       for the queue trigger. Work is yielded as FSQWorkItem objects when
> > +       available, assuming the default generator (FSQScanGenerator) is
> > +       in use.
> > +
> > +       Essentially, this function wraps fsq.scan() and blocks for more work.
> > +
> > +       It takes all the same parameters as scan(), plus process_once_now,
> > +       which is a boolean to determine if an initial .scan() is run before
> > +       listening to the trigger. This argument defaults to True.
> > +    """
> > +    process_once_now = kwargs.get('process_once_now', True)
>
> Yes, but not if I want to maintain positional *args order. To do so would
> require keyword-only arguments, only available in Python 3.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/axialmarket/fsq/pull/6/files#r9103543>
> .
>