{"push_id":2954186325,"size":195,"distinct_size":1,"ref":"refs/heads/dump/recording-count","head":"5a173e289ca3cc2f675b3edc70679cf03e9963f5","before":"1dc2a8ab03d2aadfcda36c4af2c57cdafc3111fa","commits":[{"sha":"906979989d5ca799d10e1f0a8803a9fc282d0ba5","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Use MetaBrainz CustomFlask class for application setup\n\nThis brings us in line with other MetaBrainz flask apps, for consistency","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/906979989d5ca799d10e1f0a8803a9fc282d0ba5"},{"sha":"6ad0ebded9502e045089bd6e85d1d5d009a8c35b","author":{"name":"Param Singh","email":"df06651788c884556a0b4b290fb40475ec9a45ba@metabrainz.org"},"message":"Fix high-level json dumps to work with new schema","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/6ad0ebded9502e045089bd6e85d1d5d009a8c35b"},{"sha":"48679d68eaa176155026dc6aa421ad5422f5e5f7","author":{"name":"Param Singh","email":"df06651788c884556a0b4b290fb40475ec9a45ba@metabrainz.org"},"message":"Use NOSUPERUSER instead of NOCREATEUSER","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/48679d68eaa176155026dc6aa421ad5422f5e5f7"},{"sha":"519e4cdf69ac5d9fc65b355ac0d65f7609299108","author":{"name":"Param Singh","email":"df06651788c884556a0b4b290fb40475ec9a45ba@metabrainz.org"},"message":"Merge pull request #242 from metabrainz/psql-syntax\n\nUse NOSUPERUSER instead of NOCREATEUSER","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/519e4cdf69ac5d9fc65b355ac0d65f7609299108"},{"sha":"9c84dea68db2798f2e6ba26274a015bd0cf3a9f8","author":{"name":"Saiful B. Khan","email":"f943045a6e002d69e8f90b94add6b9d856b3ab5e@gmail.com"},"message":"Return JSON errors for all API requests\n\nSome errors, such as 404 and 500, were still leading to an HTML page\n(eg. when an invalid UUID was used in the url). These cases will now\nbe conditionally handled by app.errorhandler since flask does not\nsupport blueprint level error-handling for 404 and 500 code errors.","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/9c84dea68db2798f2e6ba26274a015bd0cf3a9f8"},{"sha":"d858972be6b0902e72116ede483d067527123398","author":{"name":"Saiful B. Khan","email":"f943045a6e002d69e8f90b94add6b9d856b3ab5e@gmail.com"},"message":"Add tests for API level 404 and 500 error handling","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/d858972be6b0902e72116ede483d067527123398"},{"sha":"e43f5e6e1a3a3c9c62b0bf207a912e6a6ed7dfd8","author":{"name":"Alastair Porter","email":"11ae3d2e46cae696ddf200215f639ad6a8893312@porter.net.nz"},"message":"Use a constant for API prefix in error handlers, and fix 500 handler\n\nThe error handler for unknown exceptions itself caused an exception\nbecause the `code` parameter didn't exist. In this handler we now create\na custom exception which gives a short error message.","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/e43f5e6e1a3a3c9c62b0bf207a912e6a6ed7dfd8"},{"sha":"95e5e0294a6a7425b30ba7371238ca49aa869430","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Use our flask create_app to initialise database connections in scripts\n\nThis prevents us from having to import config directly","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/95e5e0294a6a7425b30ba7371238ca49aa869430"},{"sha":"4ba564abe8b12a9f224ba9a7247a146da26fae96","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Remove some util scripts that no longer work","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/4ba564abe8b12a9f224ba9a7247a146da26fae96"},{"sha":"414c73bf33bd52bb6344e2897dedb5f28f61f426","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Make sure we use CustomFlask when generating docs","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/414c73bf33bd52bb6344e2897dedb5f28f61f426"},{"sha":"0ced4b0f363d556a4c3dab5749e9de65083d046a","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Merge branch 'customflask'","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/0ced4b0f363d556a4c3dab5749e9de65083d046a"},{"sha":"7d542fdbe34ee058b8be6318e5bde09b558ef1f6","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Make hl_extractor a module","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/7d542fdbe34ee058b8be6318e5bde09b558ef1f6"},{"sha":"2bbcbd5176de27a92b9c0229d210af5573091290","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Add Code of Conduct\n\nLike #240, but in a .github directory","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/2bbcbd5176de27a92b9c0229d210af5573091290"},{"sha":"c7beaea08b889ef8f831ef6ee24de025a2ba3ffe","author":{"name":"Saiful Bari Khan","email":"f943045a6e002d69e8f90b94add6b9d856b3ab5e@gmail.com"},"message":"Switch to brainzutils-python for caching purposes\n\nGive up memcache in favour of brainzutils-python which now uses redis.\nThis also helps with the issue of cache namespace key being stored\nin the cache itself and prone to removal by any LRU algorithm.","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/c7beaea08b889ef8f831ef6ee24de025a2ba3ffe"},{"sha":"735c22b2ec7b2dc9a71bdcd9c5bb9ce28494753b","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Keep node at recent version and remove import that doesn't exist","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/735c22b2ec7b2dc9a71bdcd9c5bb9ce28494753b"},{"sha":"d821e238e327bf1a67c59cb33d81e775eb286e7a","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Move clear cache command to manage.py","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/d821e238e327bf1a67c59cb33d81e775eb286e7a"},{"sha":"00ea3f957c06f1f0f573cac64e32d7da5be56bee","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Fix reference to correct config file in error message","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/00ea3f957c06f1f0f573cac64e32d7da5be56bee"},{"sha":"f4577694ccb1f4d8d0046a4df0ac02b6ab8ccdbd","author":{"name":"Sambhav Kothari","email":"236bbd84da06bef9cd30db11e0ca5e3b235d8199@gmail.com"},"message":"AB-138 Allow pasting URLs for recording MBIDs","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/f4577694ccb1f4d8d0046a4df0ac02b6ab8ccdbd"},{"sha":"142c70b2f235d25f295ad4c1debf267f3b22e53a","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Give real-time feedback on the validity of an MBID","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/142c70b2f235d25f295ad4c1debf267f3b22e53a"},{"sha":"4094d88cb7ce63e3c8d253ecb0094607d9ee904a","author":{"name":"Alastair Porter","email":"1cf26b209f21ad8d01b7f07e3a8ceb894c6b820c@upf.edu"},"message":"Match beta.musicbrainz.org","distinct":false,"url":"https://api.github.com/repos/metabrainz/acousticbrainz-server/commits/4094d88cb7ce63e3c8d253ecb0094607d9ee904a"}]}
{"actor":{"display_login":"alastair"}}