diff --git a/doc/en/plugins_index/plugins_index.py b/doc/en/plugins_index/plugins_index.py index 48ddae93a..021dbf3d6 100644 --- a/doc/en/plugins_index/plugins_index.py +++ b/doc/en/plugins_index/plugins_index.py @@ -58,18 +58,25 @@ def obtain_plugins_table(plugins, client): ''' rows = [] ColumnData = namedtuple('ColumnData', 'text link') - headers = ['Name', 'Author', 'Summary'] + headers = ['Name', 'Author', 'Downloads', 'Summary'] - for package_name, version in plugins: + plugins = list(plugins) + for index, (package_name, version) in enumerate(plugins): + print package_name, version, '...', + release_data = client.release_data(package_name, version) + download_count = release_data['downloads']['last_month'] row = ( ColumnData(package_name + '-' + version, release_data['release_url']), ColumnData(release_data['author'], release_data['author_email']), + ColumnData(str(download_count), None), ColumnData(release_data['summary'], None), ) assert len(row) == len(headers) rows.append(row) + print 'OK (%d%%)' % ((index + 1) * 100 / len(plugins)) + return headers, rows @@ -124,7 +131,8 @@ def generate_plugins_index_from_table(filename, headers, rows): print >> f print >> f, get_row_limiter('=') print >> f - + print >> f, '*(Downloads are given from last month only)*' + print >> f print >> f, '*(Updated on %s)*' % _get_today_as_str() @@ -167,7 +175,9 @@ def main(argv): client = xmlrpclib.ServerProxy(options.url) generate_plugins_index(client, options.filename) - print 'OK' + + print + print '%s Updated.' % options.filename return 0 #=================================================================================================== diff --git a/doc/en/plugins_index/plugins_index.txt b/doc/en/plugins_index/plugins_index.txt index 07c6c8ae5..f2a75790d 100644 --- a/doc/en/plugins_index/plugins_index.txt +++ b/doc/en/plugins_index/plugins_index.txt @@ -3,59 +3,61 @@ List of Third-Party Plugins =========================== -========================================================================================== ==================================================================================== ============================================================================================================================================= - Name Author Summary -========================================================================================== ==================================================================================== ============================================================================================================================================= - `pytest-bdd-0.6.1 `_ `Oleg Pidsadnyi `_ BDD for pytest - `pytest-bdd-splinter-0.5.2 `_ `Oleg Pidsadnyi `_ Splinter subplugin for Pytest BDD plugin - `pytest-bench-0.1.0 `_ `Concordus Applications `_ Benchmark utility that plugs into pytest. - `pytest-blockage-0.1 `_ `UNKNOWN `_ Disable network requests during a test run. - `pytest-browsermob-proxy-0.1 `_ `Dave Hunt `_ BrowserMob proxy plugin for py.test. - `pytest-bugzilla-0.2 `_ `Noufal Ibrahim `_ py.test bugzilla integration plugin - `pytest-cache-1.0 `_ `Holger Krekel `_ pytest plugin with mechanisms for caching across test runs - `pytest-capturelog-0.7 `_ `Meme Dough `_ py.test plugin to capture log messages - `pytest-codecheckers-0.2 `_ `Ronny Pfannschmidt `_ pytest plugin to add source code sanity checks (pep8 and friends) - `pytest-contextfixture-0.1.1 `_ `Andreas Pelme `_ Define pytest fixtures as context managers. - `pytest-couchdbkit-0.5.1 `_ `RonnyPfannschmidt `_ py.test extension for per-test couchdb databases using couchdbkit - `pytest-cov-1.6 `_ `Meme Dough `_ py.test plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing - `pytest-dbfixtures-0.3.8.3 `_ `Clearcode - The A Room `_ dbfixtures plugin for py.test. - `pytest-django-2.3.1 `_ `Andreas Pelme `_ A Django plugin for py.test. - `pytest-django-lite-0.1.0 `_ `David Cramer `_ The bare minimum to integrate py.test with Django. - `pytest-figleaf-1.0 `_ `holger krekel `_ py.test figleaf coverage plugin - `pytest-flakes-0.2 `_ `Florian Schulze, Holger Krekel and Ronny Pfannschmidt `_ pytest plugin to check source code with pyflakes - `pytest-greendots-0.2 `_ `UNKNOWN `_ Green progress dots - `pytest-growl-0.1 `_ `Anthony Long `_ Growl notifications for pytest results. - `pytest-incremental-0.3.0 `_ `Eduardo Naufel Schettino `_ an incremental test runner (pytest plugin) - `pytest-instafail-0.1.0 `_ `Janne Vanhala `_ py.test plugin to show failures instantly - `pytest-ipdb-0.1-prerelease `_ `Matthew de Verteuil `_ A py.test plug-in to enable drop to ipdb debugger on test failure. - `pytest-konira-0.2 `_ `Alfredo Deza `_ Run Konira DSL tests with py.test - `pytest-localserver-0.3 `_ `Sebastian Rahlf `_ py.test plugin to test server connections locally. - `pytest-marker-bugzilla-0.06 `_ `Eric Sammons `_ py.test bugzilla integration plugin, using markers - `pytest-markfiltration-0.8 `_ `adam goucher `_ UNKNOWN - `pytest-marks-0.4 `_ `adam goucher `_ UNKNOWN - `pytest-monkeyplus-1.1.0 `_ `Virgil Dupras `_ pytest's monkeypatch subclass with extra functionalities - `pytest-mozwebqa-1.1.1 `_ `Dave Hunt `_ Mozilla WebQA plugin for py.test. - `pytest-oerp-0.2.0 `_ `Leonardo Santagada `_ pytest plugin to test OpenERP modules - `pytest-osxnotify-0.1.4 `_ `Daniel Bader `_ OS X notifications for py.test results. - `pytest-paste-config-0.1 `_ `UNKNOWN `_ Allow setting the path to a paste config file - `pytest-pep8-1.0.5 `_ `Holger Krekel and Ronny Pfannschmidt `_ pytest plugin to check PEP8 requirements - `pytest-poo-0.2 `_ `Andreas Pelme `_ Visualize your crappy tests - `pytest-pydev-0.1 `_ `Sebastian Rahlf `_ py.test plugin to connect to a remote debug server with PyDev or PyCharm. - `pytest-qt-1.0.2 `_ `Bruno Oliveira `_ pytest plugin that adds fixtures for testing Qt (PyQt and PySide) applications. - `pytest-quickcheck-0.7 `_ `Tetsuya Morimoto `_ pytest plugin to generate random data inspired by QuickCheck - `pytest-rage-0.1 `_ `Leonardo Santagada `_ pytest plugin to implement PEP712 - `pytest-random-0.02 `_ `Leah Klearman `_ py.test plugin to randomize tests - `pytest-rerunfailures-0.03 `_ `Leah Klearman `_ py.test plugin to re-run tests to eliminate flakey failures - `pytest-runfailed-0.3 `_ `Dimitri Merejkowsky `_ implement a --failed option for pytest - `pytest-runner-2.0 `_ `Jason R. Coombs `_ UNKNOWN - `pytest-sugar-0.2.2 `_ `Teemu, Janne Vanhala `_ py.test plugin that adds instafail, ETA and neat graphics - `pytest-timeout-0.3 `_ `Floris Bruynooghe `_ pytest plugin to abort tests after a timeout - `pytest-twisted-1.4 `_ `Ralf Schmitt `_ A twisted plugin for py.test. - `pytest-xdist-1.9 `_ `holger krekel and contributors `_ py.test xdist plugin for distributed testing and loop-on-failing modes - `pytest-xprocess-0.8 `_ `Holger Krekel `_ pytest plugin to manage external processes across test runs - `pytest-yamlwsgi-0.6 `_ `Ali Afshar `_ Run tests against wsgi apps defined in yaml - `pytest-zap-0.1 `_ `Dave Hunt `_ OWASP ZAP plugin for py.test. +========================================================================================== ==================================================================================== ========= ============================================================================================================================================= + Name Author Downloads Summary +========================================================================================== ==================================================================================== ========= ============================================================================================================================================= + `pytest-bdd-0.6.1 `_ `Oleg Pidsadnyi `_ 1377 BDD for pytest + `pytest-bdd-splinter-0.5.2 `_ `Oleg Pidsadnyi `_ 1262 Splinter subplugin for Pytest BDD plugin + `pytest-bench-0.1.0 `_ `Concordus Applications `_ 115 Benchmark utility that plugs into pytest. + `pytest-blockage-0.1 `_ `UNKNOWN `_ 115 Disable network requests during a test run. + `pytest-browsermob-proxy-0.1 `_ `Dave Hunt `_ 61 BrowserMob proxy plugin for py.test. + `pytest-bugzilla-0.2 `_ `Noufal Ibrahim `_ 102 py.test bugzilla integration plugin + `pytest-cache-1.0 `_ `Holger Krekel `_ 3684 pytest plugin with mechanisms for caching across test runs + `pytest-capturelog-0.7 `_ `Meme Dough `_ 1349 py.test plugin to capture log messages + `pytest-codecheckers-0.2 `_ `Ronny Pfannschmidt `_ 212 pytest plugin to add source code sanity checks (pep8 and friends) + `pytest-contextfixture-0.1.1 `_ `Andreas Pelme `_ 105 Define pytest fixtures as context managers. + `pytest-couchdbkit-0.5.1 `_ `RonnyPfannschmidt `_ 276 py.test extension for per-test couchdb databases using couchdbkit + `pytest-cov-1.6 `_ `Meme Dough `_ 18720 py.test plugin for coverage reporting with support for both centralised and distributed testing, including subprocesses and multiprocessing + `pytest-dbfixtures-0.3.8.3 `_ `Clearcode - The A Room `_ 3699 dbfixtures plugin for py.test. + `pytest-django-2.3.1 `_ `Andreas Pelme `_ 3934 A Django plugin for py.test. + `pytest-django-lite-0.1.0 `_ `David Cramer `_ 705 The bare minimum to integrate py.test with Django. + `pytest-figleaf-1.0 `_ `holger krekel `_ 59 py.test figleaf coverage plugin + `pytest-flakes-0.2 `_ `Florian Schulze, Holger Krekel and Ronny Pfannschmidt `_ 465 pytest plugin to check source code with pyflakes + `pytest-greendots-0.2 `_ `UNKNOWN `_ 367 Green progress dots + `pytest-growl-0.1 `_ `Anthony Long `_ 68 Growl notifications for pytest results. + `pytest-incremental-0.3.0 `_ `Eduardo Naufel Schettino `_ 240 an incremental test runner (pytest plugin) + `pytest-instafail-0.1.0 `_ `Janne Vanhala `_ 186 py.test plugin to show failures instantly + `pytest-ipdb-0.1-prerelease `_ `Matthew de Verteuil `_ 90 A py.test plug-in to enable drop to ipdb debugger on test failure. + `pytest-konira-0.2 `_ `Alfredo Deza `_ 103 Run Konira DSL tests with py.test + `pytest-localserver-0.3 `_ `Sebastian Rahlf `_ 361 py.test plugin to test server connections locally. + `pytest-marker-bugzilla-0.06 `_ `Eric Sammons `_ 229 py.test bugzilla integration plugin, using markers + `pytest-markfiltration-0.8 `_ `adam goucher `_ 308 UNKNOWN + `pytest-marks-0.4 `_ `adam goucher `_ 240 UNKNOWN + `pytest-monkeyplus-1.1.0 `_ `Virgil Dupras `_ 109 pytest's monkeypatch subclass with extra functionalities + `pytest-mozwebqa-1.1.1 `_ `Dave Hunt `_ 907 Mozilla WebQA plugin for py.test. + `pytest-oerp-0.2.0 `_ `Leonardo Santagada `_ 183 pytest plugin to test OpenERP modules + `pytest-osxnotify-0.1.4 `_ `Daniel Bader `_ 281 OS X notifications for py.test results. + `pytest-paste-config-0.1 `_ `UNKNOWN `_ 391 Allow setting the path to a paste config file + `pytest-pep8-1.0.5 `_ `Holger Krekel and Ronny Pfannschmidt `_ 4195 pytest plugin to check PEP8 requirements + `pytest-poo-0.2 `_ `Andreas Pelme `_ 121 Visualize your crappy tests + `pytest-pydev-0.1 `_ `Sebastian Rahlf `_ 72 py.test plugin to connect to a remote debug server with PyDev or PyCharm. + `pytest-qt-1.0.2 `_ `Bruno Oliveira `_ 198 pytest plugin that adds fixtures for testing Qt (PyQt and PySide) applications. + `pytest-quickcheck-0.7 `_ `Tetsuya Morimoto `_ 188 pytest plugin to generate random data inspired by QuickCheck + `pytest-rage-0.1 `_ `Leonardo Santagada `_ 52 pytest plugin to implement PEP712 + `pytest-random-0.02 `_ `Leah Klearman `_ 117 py.test plugin to randomize tests + `pytest-rerunfailures-0.03 `_ `Leah Klearman `_ 62 py.test plugin to re-run tests to eliminate flakey failures + `pytest-runfailed-0.3 `_ `Dimitri Merejkowsky `_ 102 implement a --failed option for pytest + `pytest-runner-2.0 `_ `Jason R. Coombs `_ 7313 UNKNOWN + `pytest-sugar-0.2.2 `_ `Teemu, Janne Vanhala `_ 532 py.test plugin that adds instafail, ETA and neat graphics + `pytest-timeout-0.3 `_ `Floris Bruynooghe `_ 5309 pytest plugin to abort tests after a timeout + `pytest-twisted-1.4 `_ `Ralf Schmitt `_ 516 A twisted plugin for py.test. + `pytest-xdist-1.9 `_ `holger krekel and contributors `_ 8289 py.test xdist plugin for distributed testing and loop-on-failing modes + `pytest-xprocess-0.8 `_ `Holger Krekel `_ 212 pytest plugin to manage external processes across test runs + `pytest-yamlwsgi-0.6 `_ `Ali Afshar `_ 271 Run tests against wsgi apps defined in yaml + `pytest-zap-0.1 `_ `Dave Hunt `_ 57 OWASP ZAP plugin for py.test. -========================================================================================== ==================================================================================== ============================================================================================================================================= +========================================================================================== ==================================================================================== ========= ============================================================================================================================================= + +*(Downloads are given from last month only)* *(Updated on 2013-10-14)* diff --git a/doc/en/plugins_index/test_plugins_index.py b/doc/en/plugins_index/test_plugins_index.py index a5836e27f..e7ed75d3b 100644 --- a/doc/en/plugins_index/test_plugins_index.py +++ b/doc/en/plugins_index/test_plugins_index.py @@ -1,6 +1,8 @@ import os import xmlrpclib +import pytest + #=================================================================================================== # test_plugins_index @@ -39,6 +41,7 @@ def test_plugins_index(tmpdir, monkeypatch): 'author' : 'someone', 'author_email' : 'someone@py.com', 'summary' : 'some plugin', + 'downloads': {'last_day': 1, 'last_month': 4, 'last_week': 2}, }, ('pytest-plugin2', '1.2') : { @@ -47,6 +50,7 @@ def test_plugins_index(tmpdir, monkeypatch): 'author' : 'other', 'author_email' : 'other@py.com', 'summary' : 'some other plugin', + 'downloads': {'last_day': 10, 'last_month': 40, 'last_week': 20}, }, } @@ -76,13 +80,22 @@ expected_output = '''\ List of Third-Party Plugins =========================== -============================================ ============================= =================== - Name Author Summary -============================================ ============================= =================== - `pytest-plugin1-1.0 `_ `someone `_ some plugin - `pytest-plugin2-1.2 `_ `other `_ some other plugin +============================================ ============================= ========= =================== + Name Author Downloads Summary +============================================ ============================= ========= =================== + `pytest-plugin1-1.0 `_ `someone `_ 4 some plugin + `pytest-plugin2-1.2 `_ `other `_ 40 some other plugin -============================================ ============================= =================== +============================================ ============================= ========= =================== + +*(Downloads are given from last month only)* *(Updated on 2013-10-20)* ''' + + +#=================================================================================================== +# main +#=================================================================================================== +if __name__ == '__main__': + pytest.main() \ No newline at end of file