From: Ole Streicher <olebole@debian.org>
Date: Thu, 12 Jan 2017 11:37:47 +0100
Subject: Use external python modules instead of convenience copies

---
 astropy/coordinates/angle_utilities.py |  2 +-
 astropy/extern/configobj.py            |  5 ++++-
 astropy/extern/six.py                  |  2 +-
 astropy/table/jsviewer.py              | 14 ++++++++------
 astropy/table/tests/test_jsviewer.py   |  6 +++---
 astropy/tests/helper.py                |  2 +-
 astropy/units/format/cds.py            |  4 ++--
 astropy/units/format/generic.py        |  4 ++--
 astropy/units/format/ogip.py           |  4 ++--
 9 files changed, 24 insertions(+), 19 deletions(-)

diff --git a/astropy/coordinates/angle_utilities.py b/astropy/coordinates/angle_utilities.py
index ddaeaf6..06eefaf 100644
--- a/astropy/coordinates/angle_utilities.py
+++ b/astropy/coordinates/angle_utilities.py
@@ -64,7 +64,7 @@ class _AngleParser(object):
 
     @classmethod
     def _make_parser(cls):
-        from ..extern.ply import lex, yacc
+        from ply import lex, yacc
 
         # List of token names.
         tokens = (
diff --git a/astropy/extern/configobj.py b/astropy/extern/configobj.py
index 8d1bd8c..e3bb0e0 100644
--- a/astropy/extern/configobj.py
+++ b/astropy/extern/configobj.py
@@ -7,5 +7,8 @@ currently installed version of python.
 Also, this should actually never actually show up as a docstring, because
 it should get overwritten by the appropriate configobj docstring.
 """
+from __future__ import absolute_import
+import validate
+import configobj
+
 
-from .configobj import configobj, validate, __doc__
diff --git a/astropy/extern/six.py b/astropy/extern/six.py
index 5398fc0..fb3a30c 100644
--- a/astropy/extern/six.py
+++ b/astropy/extern/six.py
@@ -13,7 +13,7 @@ _SIX_MIN_VERSION = StrictVersion('1.10.0')
 # Update this to prevent Astropy from using its bundled copy of six
 # (but only if some other version of at least _SIX_MIN_VERSION can
 # be provided)
-_SIX_SEARCH_PATH = ['astropy.extern.bundled.six', 'six']
+_SIX_SEARCH_PATH = ['six']
 
 
 def _find_module(name, path=None):
diff --git a/astropy/table/jsviewer.py b/astropy/table/jsviewer.py
index ae99eb9..d856cf8 100644
--- a/astropy/table/jsviewer.py
+++ b/astropy/table/jsviewer.py
@@ -30,8 +30,8 @@ class Conf(_config.ConfigNamespace):
 conf = Conf()
 
 
-EXTERN_JS_DIR = abspath(join(dirname(extern.__file__), 'js'))
-EXTERN_CSS_DIR = abspath(join(dirname(extern.__file__), 'css'))
+EXTERN_JS_DIR = '/usr/share/javascript'
+EXTERN_CSS_DIR = EXTERN_JS_DIR
 
 IPYNB_JS_SCRIPT = """
 <script>
@@ -108,22 +108,24 @@ class JSViewer(object):
     @property
     def jquery_urls(self):
         if self._use_local_files:
-            return ['file://' + join(EXTERN_JS_DIR, 'jquery-3.1.1.min.js'),
-                    'file://' + join(EXTERN_JS_DIR, 'jquery.dataTables.min.js')]
+            return ['file://' + join(EXTERN_JS_DIR, 'jquery', 'jquery.min.js'),
+                    'file://' + join(EXTERN_JS_DIR, 'jquery-datatables',
+                                     'jquery.dataTables.min.js')]
         else:
             return [conf.jquery_url, conf.datatables_url]
 
     @property
     def css_urls(self):
         if self._use_local_files:
-            return ['file://' + join(EXTERN_CSS_DIR,
+            return ['file://' + join(EXTERN_CSS_DIR, 'jquery-datatables', 'css',
                                      'jquery.dataTables.css')]
         else:
             return conf.css_urls
 
     def _jstable_file(self):
         if self._use_local_files:
-            return 'file://' + join(EXTERN_JS_DIR, 'jquery.dataTables.min')
+            return 'file://' + join(EXTERN_JS_DIR, 'jquery-datatables',
+                                    'jquery.dataTables.min')
         else:
             return conf.datatables_url[:-3]
 
diff --git a/astropy/table/tests/test_jsviewer.py b/astropy/table/tests/test_jsviewer.py
index af04b7e..e02d4be 100644
--- a/astropy/table/tests/test_jsviewer.py
+++ b/astropy/table/tests/test_jsviewer.py
@@ -127,9 +127,9 @@ def test_write_jsviewer_local(tmpdir):
         table_id='test',
         length='50',
         display_length='10, 25, 50, 100, 500, 1000',
-        datatables_css_url='file://' + join(EXTERN_DIR, 'css', 'jquery.dataTables.css'),
-        datatables_js_url='file://' + join(EXTERN_DIR, 'js', 'jquery.dataTables.min.js'),
-        jquery_url='file://' + join(EXTERN_DIR, 'js', 'jquery-3.1.1.min.js')
+        datatables_css_url='file:///usr/share/javascript/jquery-datatables/css/jquery.dataTables.css',
+        datatables_js_url='file:///usr/share/javascript/jquery-datatables/jquery.dataTables.min.js',
+        jquery_url='file:///usr/share/javascript/jquery/jquery.min.js'
     )
     with open(tmpfile) as f:
         assert f.read().strip() == ref.strip()
diff --git a/astropy/tests/helper.py b/astropy/tests/helper.py
index 9b0bf3b..b9743c5 100644
--- a/astropy/tests/helper.py
+++ b/astropy/tests/helper.py
@@ -40,7 +40,7 @@ __all__ = ['raises', 'enable_deprecations_as_exceptions', 'remote_data',
            'pickle_protocol', 'generic_recursive_equality_test']
 
 
-if os.environ.get('ASTROPY_USE_SYSTEM_PYTEST') or '_pytest' in sys.modules:
+if True:
     import pytest
 
 else:
diff --git a/astropy/units/format/cds.py b/astropy/units/format/cds.py
index ecb78e2..d864738 100644
--- a/astropy/units/format/cds.py
+++ b/astropy/units/format/cds.py
@@ -78,7 +78,7 @@ class CDS(Base):
 
     @classmethod
     def _make_lexer(cls):
-        from ...extern.ply import lex
+        from ply import lex
 
         tokens = cls._tokens
 
@@ -141,7 +141,7 @@ class CDS(Base):
         <https://bitbucket.org/nxg/unity/>`_.
         """
 
-        from ...extern.ply import yacc
+        from ply import yacc
 
         tokens = cls._tokens
 
diff --git a/astropy/units/format/generic.py b/astropy/units/format/generic.py
index f4aa8c0..d404017 100644
--- a/astropy/units/format/generic.py
+++ b/astropy/units/format/generic.py
@@ -102,7 +102,7 @@ class Generic(Base):
 
     @classmethod
     def _make_lexer(cls):
-        from ...extern.ply import lex
+        from ply import lex
 
         tokens = cls._tokens
 
@@ -181,7 +181,7 @@ class Generic(Base):
         formats, the only difference being the set of available unit
         strings.
         """
-        from ...extern.ply import yacc
+        from ply import yacc
 
         tokens = cls._tokens
 
diff --git a/astropy/units/format/ogip.py b/astropy/units/format/ogip.py
index 7c66a6b..9eed1de 100644
--- a/astropy/units/format/ogip.py
+++ b/astropy/units/format/ogip.py
@@ -110,7 +110,7 @@ class OGIP(generic.Generic):
 
     @classmethod
     def _make_lexer(cls):
-        from ...extern.ply import lex
+        from ply import lex
 
         tokens = cls._tokens
 
@@ -179,7 +179,7 @@ class OGIP(generic.Generic):
         <https://bitbucket.org/nxg/unity/>`_.
         """
 
-        from ...extern.ply import yacc
+        from ply import yacc
 
         tokens = cls._tokens
 
