old_contents: # -*- coding: utf-8 -*-
  import os
  import sys
  import webbrowser
  
  from invoke import task, run
  
  docs_dir = 'docs'
  build_dir = os.path.join(docs_dir, '_build')
  
  @task
  def test(watch=False, last_failing=False):
      """Run the tests.
  
      Note: --watch requires pytest-xdist to be installed.
      """
      import pytest
      flake()
      args = []
      if watch:
          args.append('-f')
      if last_failing:
          args.append('--lf')
      retcode = pytest.main(args)
      sys.exit(retcode)
  
  @task
  def flake():
      """Run flake8 on codebase."""
      run('flake8 .', echo=True)
  
  @task
  def clean():
      run("rm -rf build")
      run("rm -rf dist")
      run("rm -rf webtest-aiohttp.egg-info")
      print("Cleaned up.")
  
  @task
  def readme(browse=False):
      run('rst2html.py README.rst > README.html')
      if browse:
          webbrowser.open_new_tab('README.html')
  
  @task
  def publish(test=False):
      """Publish to the cheeseshop."""
      clean()
      if test:
          run('python setup.py register -r test sdist bdist_wheel', echo=True)
          run('twine upload dist/* -r test', echo=True)
      else:
          run('python setup.py register sdist bdist_wheel', echo=True)
          run('twine upload dist/*', echo=True)
  
new_contents: # -*- coding: utf-8 -*-
  import os
  import sys
  import webbrowser
  
  from invoke import task, run
  
  docs_dir = 'docs'
  build_dir = os.path.join(docs_dir, '_build')
  
  @task
  def test(ctx, watch=False, last_failing=False):
      """Run the tests.
  
      Note: --watch requires pytest-xdist to be installed.
      """
      import pytest
      flake(ctx)
      args = []
      if watch:
          args.append('-f')
      if last_failing:
          args.append('--lf')
      retcode = pytest.main(args)
      sys.exit(retcode)
  
  @task
  def flake(ctx):
      """Run flake8 on codebase."""
      run('flake8 .', echo=True)
  
  @task
  def clean(ctx):
      run("rm -rf build")
      run("rm -rf dist")
      run("rm -rf webtest-aiohttp.egg-info")
      print("Cleaned up.")
  
  @task
  def readme(ctx, browse=False):
      run('rst2html.py README.rst > README.html')
      if browse:
          webbrowser.open_new_tab('README.html')
  
  @task
  def publish(ctx, test=False):
      """Publish to the cheeseshop."""
      clean(ctx)
      if test:
          run('python setup.py register -r test sdist bdist_wheel', echo=True)
          run('twine upload dist/* -r test', echo=True)
      else:
          run('python setup.py register sdist bdist_wheel', echo=True)
          run('twine upload dist/*', echo=True)
  
subject: Update compatiblity with invoke>=0.13.0