code: def success(item):
      '''Successful finish'''
      try:
          # mv to done
          trg_queue = item.queue
          os.rename(fsq_path.item(trg_queue, item.id, host=item.host),
                    os.path.join(fsq_path.done(trg_queue, host=item.host),
                                 item.id))
      except AttributeError, e:
          # DuckType TypeError'ing
          raise TypeError(u'item must be an FSQWorkItem, not:'\
                          u' {0}'.format(item.__class__.__name__))
      except (OSError, IOError, ), e:
          raise FSQDoneError(e.errno, u'cannot mv item to done: {0}:'\
                             u' {1}'.format(item.id, wrap_io_os_err(e))f success(item):
      '''Successful finish'''
      try:
          # mv to done
          trg_queue = item.queue
          os.rename(fsq_path.item(trg_queue, item.id, host=item.host),
                    os.path.join(fsq_path.done(trg_queue, host=item.host),
                                 item.id))
      except AttributeError, e:
          # DuckType TypeError'ing
          raise TypeError(u'item must be an FSQWorkItem, not:'\
                          u' {0}'.format(item.__class__.__name__))
      except (OSError, IOError, ), e:
          raise FSQDoneError(e.errno, u'cannot mv item to done: {0}:'\
                             u' {1}'.format(item.id, wrap_io_os_err(e)))
docs: Successful finish