def setup_extensions_source_code(): try: from MTfit.utilities.extensions import get_extensions except Exception: # Haven't installed the package so add src to the system path sys.path.insert(0, 'src') from MTfit.utilities.extensions import get_extensions ext_source_code_names, ext_source_code = get_extensions( 'MTfit.source_code') extensions_source_code = """ MTfit.extensions ==================== Contents *********** .. toctree:: :maxdepth: 1 MTfit.extensions.scatangle<source-scatangle>""" + '\n '.join([ ext.replace('_', ' ').capitalize() + ' <' + ext + '>' for ext in ext_source_code_names ]) + """ For the extensions documentation see :ref:`extensions`""" with open('./docs/source/source-extensions.rst', 'w') as f: f.write(extensions_source_code) for ext in ext_source_code_names: with open('./docs/source/' + ext + '.rst', 'w') as f: f.write(ext_source_code[ext])
def setup_extensions(): try: from MTfit.utilities.extensions import get_extensions from MTfit.extensions import rst_table, rst_docs, __doc1__ except Exception: # Haven't installed the package so add src to the system path sys.path.insert(0, 'src') from MTfit.utilities.extensions import get_extensions from MTfit.extensions import rst_table, rst_docs, __doc1__ ext_doc_names, ext_docs = get_extensions('MTfit.documentation') if len(ext_doc_names): # Have extension documentation so add extensions as toc including entry_points entry_points_file = 'entry_points' entry_points = """********************************* MTfit Entry Points ********************************* """ for ext in ext_doc_names: with open('./docs/source/' + ext + '.rst', 'w') as f: f.write(ext_docs[ext]) else: entry_points_file = 'extensions' entry_points = """********************************* Extending MTfit ********************************* """ try: entry_points += """MTfit has been written with the view that it is desirable to be able to easily extend the code. This is done using `entry points <https://pythonhosted.org/setuptools/pkg_resources.html#entry-points>`_ from the `setuptools <https://pythonhosted.org/setuptools>`_ module. The entry points are: """ entry_points = entry_points.replace( 'The entry points are:', 'The entry points are:\n\n.. only:: latex\n\n .. tabularcolumns:: |l|L|\n\n' + rst_table + '\n\n' + __doc1__.replace( 'extensions/scatangle.py', ':download:`extensions/scatangle.py <../../src/MTfit/extensions/scatangle.py>`' ).replace('setup.py', '``setup.py``') + '\n\n' + rst_docs) with open('./docs/source/' + entry_points_file + '.rst', 'w') as f: f.write(entry_points) except Exception: traceback.print_exc() setup_extensions_source_code()
def test_get_extensions(self): from MTfit.utilities.extensions import get_extensions (name, extensions) = get_extensions('MTfit.parsers') self.assertTrue(any(['.hyp' in u for u in name])) self.assertTrue(any(['.csv' in u for u in name]))
def test_suite(verbosity=2): test_suites = [scatangle_test_suite(verbosity)] extension_names, extensions = get_extensions('MTfit.tests') for extension in extensions: test_suites.append(extension) return unittest.TestSuite(test_suites)