old_contents: #!/usr/bin/env python
  
  from os.path import abspath, join, dirname
  from setuptools import find_packages, setup
  
  
  CURDIR = dirname(abspath(__file__))
  
  with open(join(CURDIR, 'src', 'robot', 'version.py')) as f:
      exec(f.read())
      VERSION = get_version()
  with open(join(CURDIR, 'README.rst')) as f:
      LONG_DESCRIPTION = f.read()
      base_url = 'https://github.com/robotframework/robotframework/blob/master'
      for text in ('INSTALL', 'CONTRIBUTING'):
          search = '`<{0}.rst>`__'.format(text)
          replace = '`{0}.rst <{1}/{0}.rst>`__'.format(text, base_url)
          if search not in LONG_DESCRIPTION:
              raise RuntimeError('{} not found from README.rst'.format(search))
          LONG_DESCRIPTION = LONG_DESCRIPTION.replace(search, replace)
  CLASSIFIERS = """
  Development Status :: 5 - Production/Stable
  License :: OSI Approved :: Apache Software License
  Operating System :: OS Independent
  Programming Language :: Python :: 2
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Programming Language :: Python :: 3.4
  Programming Language :: Python :: 3.5
  Programming Language :: Python :: 3.6
  Programming Language :: Python :: Implementation :: CPython
  Programming Language :: Python :: Implementation :: Jython
  Programming Language :: Python :: Implementation :: IronPython
  Programming Language :: Python :: Implementation :: PyPy
  Topic :: Software Development :: Testing
  Framework :: Robot Framework
  """.strip().splitlines()
  KEYWORDS = 'robotframework testing testautomation acceptancetesting atdd bdd'
  PACKAGE_DATA = [join('htmldata', directory, pattern)
                  for directory in ('rebot', 'libdoc', 'testdoc', 'lib', 'common')
                  for pattern in ('*.html', '*.css', '*.js')]
  
  
  setup(
      name         = 'robotframework',
      version      = VERSION,
      author       = 'Robot Framework Developers',
      author_email = 'robotframework@gmail.com',
      url          = 'http://robotframework.org',
      download_url = 'https://pypi.python.org/pypi/robotframework',
      license      = 'Apache License 2.0',
      description  = 'A generic test automation framework',
      long_description = LONG_DESCRIPTION,
      keywords     = KEYWORDS,
      platforms    = 'any',
      classifiers  = CLASSIFIERS,
      package_dir  = {'': 'src'},
      package_data = {'robot': PACKAGE_DATA},
      packages     = find_packages('src'),
      entry_points = {'console_scripts': ['robot = robot.run:run_cli',
                                          'rebot = robot.rebot:rebot_cli']}
  )
  
new_contents: #!/usr/bin/env python
  
  from os.path import abspath, join, dirname
  from setuptools import find_packages, setup
  
  
  CURDIR = dirname(abspath(__file__))
  
  with open(join(CURDIR, 'src', 'robot', 'version.py')) as f:
      exec(f.read())
      VERSION = get_version()
  with open(join(CURDIR, 'README.rst')) as f:
      LONG_DESCRIPTION = f.read()
      base_url = 'https://github.com/robotframework/robotframework/blob/master'
      for text in ('INSTALL', 'CONTRIBUTING'):
          search = '`<{0}.rst>`__'.format(text)
          replace = '`{0}.rst <{1}/{0}.rst>`__'.format(text, base_url)
          if search not in LONG_DESCRIPTION:
              raise RuntimeError('{} not found from README.rst'.format(search))
          LONG_DESCRIPTION = LONG_DESCRIPTION.replace(search, replace)
  CLASSIFIERS = """
  Development Status :: 5 - Production/Stable
  License :: OSI Approved :: Apache Software License
  Operating System :: OS Independent
  Programming Language :: Python :: 2
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3
  Programming Language :: Python :: 3.4
  Programming Language :: Python :: 3.5
  Programming Language :: Python :: 3.6
  Programming Language :: Python :: Implementation :: CPython
  Programming Language :: Python :: Implementation :: Jython
  Programming Language :: Python :: Implementation :: IronPython
  Programming Language :: Python :: Implementation :: PyPy
  Topic :: Software Development :: Testing
  Framework :: Robot Framework
  """.strip().splitlines()
  KEYWORDS = 'robotframework testing testautomation acceptancetesting atdd bdd'
  PACKAGE_DATA = [join('htmldata', directory, pattern)
                  for directory in ('rebot', 'libdoc', 'testdoc', 'lib', 'common')
                  for pattern in ('*.html', '*.css', '*.js')]
  
  
  setup(
      name         = 'robotframework',
      version      = VERSION,
      author       = u'Pekka Klärck',
      author_email = 'peke@eliga.fi',
      url          = 'http://robotframework.org',
      download_url = 'https://pypi.python.org/pypi/robotframework',
      license      = 'Apache License 2.0',
      description  = 'A generic test automation framework',
      long_description = LONG_DESCRIPTION,
      keywords     = KEYWORDS,
      platforms    = 'any',
      classifiers  = CLASSIFIERS,
      package_dir  = {'': 'src'},
      package_data = {'robot': PACKAGE_DATA},
      packages     = find_packages('src'),
      entry_points = {'console_scripts': ['robot = robot.run:run_cli',
                                          'rebot = robot.rebot:rebot_cli']}
  )
  
subject: Mark myself the author