{"push_id":1906148874,"size":125,"distinct_size":9,"ref":"refs/heads/completely-remove-openid-from-user-model","head":"46faf885bce226c81c037f12053a9533f6f7f22e","before":"184a08b4f77d65dd93c33271a72d7a299e9f9fc1","commits":[{"sha":"2df141fba3e672967066d104417cb010aea7a23c","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch '3196-common-session' into 3196-common-url_for\n\nConflicts:\n\tckan/lib/base.py","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/2df141fba3e672967066d104417cb010aea7a23c"},{"sha":"19f2be8e32cb3ab9534a4d66685665c7db6e00ce","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Provide the necessary environment for routers to work\n\nAlthough each app has its own routing mechanism (Flask and Pylons\n(routes)), we still need to be able to generate a URL that is served\nby the other application. For instance, when requesting `/dataset`, which\nis currently served by Pylons, we call `h.url_for(controller='api',\naction='get_api')`. This endpoint is served by Flask, so Pylons won't\nknow how to generate the URL. We need a wrapper that tries Flask first\nand falls back to Pylons (next commit). In order to do that though, the\nmappers need to work even if the request is not served by their app.\n\nFor Flask routes under requests served by Pylons, we wrap the response\nin a `test_request_context`. We don't use an `app_context` because this\ncauses the following errors:\n\n    RuntimeError: Application was not able to create a URL adapter for\nrequest independent URL generation.\n\nFor Pylons routes under requests served by Flask, we set the Routes\nconfiguration directly.","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/19f2be8e32cb3ab9534a4d66685665c7db6e00ce"},{"sha":"b5ea2e7ffa312534017275337c3d709d3a0a5e7b","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] New version of url_for to supports both Flask and Pylons\n\nEssentially this calls the Flask url_for function and falls back to\nPylons if a route could not be created.\n\nThere's a lot of parameters handling before calling the Flask router\nto support Pylons syntax (at least the most common cases):\n\n    # Pylons\n    url = url_for(controller='api', action='action', ver=3,\n                  qualified=True)\n\n    # Flask\n    url = url_for('api.action', ver=3, _external=True)\n\nWe don't rely on the host generated by Flask, as SERVER_NAME might not\nbe set or might be not be up to date (as in tests changing\n`ckan.site_url`). Contrary to the Routes mapper, there is no way in\nFlask to pass the host explicitly, so we rebuild the URL manually\nbased on `ckan.site_url`, which is essentially what we alredy do on Pylons.\n\nI experimented with automatically set SERVER_NAME based on `ckan.site_url`,\nbut decided against it. Apart from being magic that we want to avoid, the main\ncause of concern of doing this is that when SERVER_NAME is set, the Flask\nrouter requires the incoming URL (HTTP_HOST on environ) to have the same host\n as the one defined in SERVER_NAME, otherwise it won't match the URL and\nreturn a 404. For example if ckan.site_url is set to http://localhost:5000\n(so SERVER_NAME is localhost:5000), calls to http://127.0.0.1:5000 or\nhttp://0.0.0.0:5000 won't work.\n\nThis would cause massive confusion to users, specially during\ndevelopment or early deployment stages, so it's best to avoid it.","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/b5ea2e7ffa312534017275337c3d709d3a0a5e7b"},{"sha":"9b9313fb5176fb0fec81f9db1973a389b4c28025","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix redirect import","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/9b9313fb5176fb0fec81f9db1973a389b4c28025"},{"sha":"00a9193c58510659d077b72bb1339e75b99824ab","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for-tests\n\nConflicts:\n\tckan/config/middleware/flask_app.py","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/00a9193c58510659d077b72bb1339e75b99824ab"},{"sha":"43767c78390f389b62767f7e38cfdba7d68a958b","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix ckan/ tests (no legacy) depending on url_for\n\nThe Flask url_for function requires an application context to be present\nwhen generating a url_for. This is obviously not the case when calling\nit from a test, so we need to wrap the function on a\ntest_request_context (which will create an app context):\n\n        with app.flask_app.test_request_context():\n            url_for(...)\n\nFor tests that don't require an app like helpers or mailer this is done\nautomatically in the tests setup.\n\nNote that all URLs generated now take ckan.site_url into account, so tests\nchecking for `http://localhost/some-url` will fail as the correct url is\n`http://test.ckan.net/some-url`, as this is the site_url used on test-core.ini.","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/43767c78390f389b62767f7e38cfdba7d68a958b"},{"sha":"2d83e0d1366a76c8f83fd316301b9976f38fab62","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix legacy tests dependant on url_for\n\nWrapping calls to url_for (and functions that call it firther down the\nline) with the Flask test_request_context, update functional tests to\nuse the helpers._get_test_app function rather than old paster ones.","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/2d83e0d1366a76c8f83fd316301b9976f38fab62"},{"sha":"22cb37d62841771481d1567323a7b0d6ea1949e9","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix ckanext tests dependant on url_for\n\nSame as previous commits, using the app from\ntests.helpers._get_test_app and request contexts when necessary","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/22cb37d62841771481d1567323a7b0d6ea1949e9"},{"sha":"d3a44035b96b1c7d2b11421ed36ed0dbb91dbddd","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix text view test","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/d3a44035b96b1c7d2b11421ed36ed0dbb91dbddd"},{"sha":"23f9c5327eca3b504328788680ddf802e9ccc47c","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch '3196-common-url_for-tests' into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/23f9c5327eca3b504328788680ddf802e9ccc47c"},{"sha":"63693ae3cccd7723e76156b8e58b15b86b4582e9","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/63693ae3cccd7723e76156b8e58b15b86b4582e9"},{"sha":"172ea876577b2b6fdd0447a2b47e68c2000f761c","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for\n\nConflicts:\n\tckan/plugins/interfaces.py","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/172ea876577b2b6fdd0447a2b47e68c2000f761c"},{"sha":"614a116a2ad3be30250e0d08634755aff60aa44a","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch '3196-common-url_for' of github.com:ckan/ckan into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/614a116a2ad3be30250e0d08634755aff60aa44a"},{"sha":"1732d1c8f3290117f05c9d65f88917d83ff44f9b","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for\n\nConflicts:\n\tckan/plugins/interfaces.py","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/1732d1c8f3290117f05c9d65f88917d83ff44f9b"},{"sha":"c78b72c779da7e1c87707f4cb02e5f4af175dd17","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Add IMiddleware hooks to Flask stack\n\nClarify what app will you get on the interface docstrings\n\nConflicts:\n\tckan/config/middleware/flask_app.py\n\tckan/plugins/interfaces.py","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/c78b72c779da7e1c87707f4cb02e5f4af175dd17"},{"sha":"3322c8188716b44d22030a238cb1f8c2ebdb1d05","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/3322c8188716b44d22030a238cb1f8c2ebdb1d05"},{"sha":"602e403713195b201f57a198284330296943fdc7","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3196] Fix some url_for depending tests","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/602e403713195b201f57a198284330296943fdc7"},{"sha":"11a04144094020265fa50cc3dc19e8c4c4fcb174","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/11a04144094020265fa50cc3dc19e8c4c4fcb174"},{"sha":"9533df9868e81c2c342d9265aa9c4f1bf7e9324b","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"Merge branch 'master' into 3196-common-url_for","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/9533df9868e81c2c342d9265aa9c4f1bf7e9324b"},{"sha":"553d3c7b970c38dfc60cf2597c79108d05fedbe5","author":{"name":"amercader","email":"f1e6aaa54b5e9e3db767d5e36a9b1f792d07a98d@gmail.com"},"message":"[#3016] Fix test after bad merge","distinct":false,"url":"https://api.github.com/repos/smotornyuk/ckan/commits/553d3c7b970c38dfc60cf2597c79108d05fedbe5"}]}
{"actor":{"display_login":"smotornyuk"}}