{"push_id":2713035551,"size":88,"distinct_size":33,"ref":"refs/heads/laptop","head":"1b2231c176e2080c8b81a176cf9fc506339d5d25","before":"2c4fe8316545c50c3c6001c23b0211c5b74bdcdc","commits":[{"sha":"bd3e471344e5ad1d7fb3f53bf36af56fd7a3ed93","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Have menu set up by UIStarter, not ResultsTable\n\nAll this functionality used to be in UIStarter (and ResultsTable didn't exist).  I created ResultsTable to break out the functionality that was specific to the table.  I should not have included the menu generation; that is more generic and better fits in UIStarter.  Now UIStarter does things like initialize the Cocoa functionality, which makes a lot more sense than having a class that represents a Table do it.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/bd3e471344e5ad1d7fb3f53bf36af56fd7a3ed93"},{"sha":"0b9da2516347c811f00027c9fb2f007fb7ea3da9","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Replace switch statement with if\n\nWe only had two cases, and only one action.  It's much simpler as an \"if\".","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/0b9da2516347c811f00027c9fb2f007fb7ea3da9"},{"sha":"58d7ce14096421bb5c5d6c6a772acd795de9d3f0","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add noqualifier=\"all\" to javadoc generation\n\nNow we get things like \"String\" instead of \"java.lang.String\".","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/58d7ce14096421bb5c5d6c6a772acd795de9d3f0"},{"sha":"09ffee82b08f5959cf1afb8baa9ca05006d67ec7","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Update copyright year for javadoc\n\nTime flies...","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/09ffee82b08f5959cf1afb8baa9ca05006d67ec7"},{"sha":"f3c485361d6989b260043ddd17ea908eb7c50d7f","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add addStringsToList to PreferencesDialog","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/f3c485361d6989b260043ddd17ea908eb7c50d7f"},{"sha":"7e24b34cbc0a29a448660a7d12c47fae5e3f6b5d","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Simplify replacing tokens with empty string","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/7e24b34cbc0a29a448660a7d12c47fae5e3f6b5d"},{"sha":"9f094ae4b342816d074ed143a2baaba1c7a98c75","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Import static ReplacementToken","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/9f094ae4b342816d074ed143a2baaba1c7a98c75"},{"sha":"946940572b68775d18e352acba2072bf50da5e5d","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Comment out testGetEpisodeTitle","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/946940572b68775d18e352acba2072bf50da5e5d"},{"sha":"187d0dd75cd060998ed004aa69302d6b525c6fe4","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Re-add test scripts.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/187d0dd75cd060998ed004aa69302d6b525c6fe4"},{"sha":"1453e05d567eb71b842496c33a58fb2483f95db5","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add AppData\n\nThis is modeled after UserPreferences; the distinction is that preferences can be changed explicitly, via the preferences dialog.  And then, when the dialog is closed, the change needs to be propagated to interested classes.\n\nAppData is only changed directly; the class that is affected is the class that makes the change, and therefore, there's no listeners or \"changed\" events.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/1453e05d567eb71b842496c33a58fb2483f95db5"},{"sha":"a5b98cce8a6d2ed5ddedc27556eb193836bc09a9","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add SeriesInfo class.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/a5b98cce8a6d2ed5ddedc27556eb193836bc09a9"},{"sha":"a9d43e703f77dbccee8e4718f95fc3da38ebe7e9","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Revert \"Comment out testGetEpisodeTitle\"\n\nThis reverts commit a97ba79b38ce05c612b19346a351ac5fa5e2504b.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/a9d43e703f77dbccee8e4718f95fc3da38ebe7e9"},{"sha":"70d69281c2ec5b74e47ebb4ac36daaa81f315679","author":{"name":"Vipul Delwadia","email":"2868742ea2045d79e62fa35cc230ecf0d0040f18@gmail.com"},"message":"Implement minimal TheTVDB Swagger API client.\n\nAdd new libraries to support REST client.\n\nThis commit does not cause the class to start being used yet, it just adds the files.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/70d69281c2ec5b74e47ebb4ac36daaa81f315679"},{"sha":"52d49f6a8cf61f750a5ed66ceb3c15f0154c6c02","author":{"name":"Vipul Delwadia","email":"2868742ea2045d79e62fa35cc230ecf0d0040f18@gmail.com"},"message":"Add TheTVDB Swagger API test.\n\nThe Swagger test is pretty much an exact copy of the v1 test file.  Actually we had a few episodes commented out in v1, and I uncommented them in the Swagger file.\n\nComment out most of the @Tests in the Swagger file, because it's not being used yet.  This commit just adds it.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/52d49f6a8cf61f750a5ed66ceb3c15f0154c6c02"},{"sha":"aabaf44bd5a9f038a146f09f10da0889a8d3e7c4","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"For testing, intentionally fail on Outsourced","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/aabaf44bd5a9f038a146f09f10da0889a8d3e7c4"},{"sha":"415f75ba62d80fd501ea8c748eeba215b01b7bdf","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add caching of files downloaded from tvdb v1\n\nThis is a development feature which never was made production-ready.  Since the v1 API is being phased out, it will not be.  Preserve the code as an intermediate commit.\n\nWhen we want to look up either options for a given show name, or listings for a given show, now we first check the tvrenamer directory on the local disk for an already-downloaded result.  If it's not found there, then we go out to the provider and download the results, and store them in the tvrenamer directory.\n\nThen, of course, next time, the results are sitting there waiting for us.  So, this implements a basic cache.\n\nI think this could be useful to \"ordinary\" users, as it could speed things up in some cases.\n\nBut, really, that's not the reason for this commit.  It's much more useful for developers.\n\nFor one thing, it allows us to be good citizens of thetvdb.com.  I don't hear them complaining, and I assume they're set up to handle well more traffic than a few developers can possibly send, but still, we shouldn't be hitting their server when it's really unnecessary.  Obviously part of fully testing the application is that the download is working, but most of the other testing does not need to re-download data every time it's run.\n\nThough, lately, their site has been down more frequently, and having the cache allows us to continue development even if they're offline.\n\nIt's also useful to have the XML around to be able to examine it manually.  The XML we get from the TVDB has no newlines.  I added the \"INDENT\" property to the output transformer, which makes it a lot better.  But it doesn't exactly indent the whole file as you might think.  Basically it gives each episode a single, often very-long line.  Still better than one line for the entire listings document.\n\nAnd, skipping the download can make the edit-build-test cycle faster.\n\nThis is not a proper cache, as of now.  The files never expire.  That's not really appropriate for end users, but in the future, I could adapt it, or just make it optional (and off by default, but on by default for certain tests), or I could look into integrating an existing package that provides a proper cache, or...\n\nIt definitely makes sense to reload the episode list for current shows, and so, this commit temporarily breaks that.\n\nFor episode listings for shows that are off the air, it could be better to avoid downloading every time.  (Other details do change, even if there are no new episodes, but we don't currently use any of that data.)\n\nFor the show options, I actually think keeping things local will be the way to go, going forward.  But more details on that in future commits.\n\nAgain, this commit makes the branch unsuitable for general release.  The entirety of the v1 functionality will be removed for the next release.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/415f75ba62d80fd501ea8c748eeba215b01b7bdf"},{"sha":"afa0de7db193c1c0934ebbbf7a14b9b4a935707f","author":{"name":"Vipul Delwadia","email":"2868742ea2045d79e62fa35cc230ecf0d0040f18@gmail.com"},"message":"Use TheTVDB Swagger API client.\n\nThe previous commits added all the functionality, but didn't use it.  This switches the application to use the Swagger class.\n\nIn the v1 file, make class no longer public.  In the v1 Test file, comment out the @Test annotations on most tests.  We are making the v1 code obsolete with this commit, but keeping it around just in case.  We'll do one quick test as a sanity check, but we don't need to run the full test suite any more.  The old functionality could easily be switched back on, if there's ever a reason to.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/afa0de7db193c1c0934ebbbf7a14b9b4a935707f"},{"sha":"f6bb1a8b119c76b96b22bb049785bf748a85166b","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add caching of JSON files downloaded from thetvdb.\n\nWhen we want to look up either options for a given show name, or listings for a given show, now we first check the tvrenamer directory on the local disk for an already-downloaded result.  If it's not found there, then we go out to the provider and download the results, and store them in the ~/.tvrenamer directory.\n\nThen, of course, next time, the results are sitting there waiting for us.  So, this implements a basic cache.\n\nI think this could be useful to \"ordinary\" users, as it could speed things up in some cases.\n\nBut, really, that's not the reason for this commit.  It's much more useful for developers.\n\nFor one thing, it allows us to be good citizens of thetvdb.com.  I don't hear them complaining, and I assume they're set up to handle well more traffic than a few developers can possibly send, but still, we shouldn't be hitting their server when it's really unnecessary.  Obviously part of fully testing the application is that the download is working, but most of the other testing does not need to re-download data every time it's run.\n\nIt's also useful to have the JSON around to be able to examine it manually.\n\nAnd, skipping the download can make the edit-build-test cycle faster.\n\nThis is not a proper cache, as of now.  The files never expire.  That's not really appropriate for end users, but in the future, I could adapt it, or just make it optional (and off by default, but on by default for certain tests), or I could look into integrating an existing package that provides a proper cache, or...\n\nIt definitely makes sense to reload the episode list for current shows, and so, this commit temporarily breaks that.\n\nFor episode listings for shows that are off the air, it could be better to avoid downloading every time.  (Other details do change, even if there are no new episodes, but we don't currently use any of that data.)\n\nFor the show options, I actually think keeping things local will be the way to go, going forward.  But more details on that in future commits.\n\nAgain, this commit makes the branch unsuitable for general release.  But that will be addressed, and I believe it makes the branch much better for development.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/f6bb1a8b119c76b96b22bb049785bf748a85166b"},{"sha":"e869692431820228ff6a092c563f812674b27e0b","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Add comment about probable bug","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/e869692431820228ff6a092c563f812674b27e0b"},{"sha":"0535b8bbee731b1a32ae41354f17e973ac2655a6","author":{"name":"John Valente","email":"62574db6abdd8b3aaf619550f0b9045373c92882@yahoo.com"},"message":"Increase severity of exception in getShowInstance\n\nPreviously, we just logged a message.  We should now consider it a little bit more severe.  With the TVDB v1 API, the ID was a String that had to be parsed, and who knows what they might give us?  With the new API, it is an integer to begin with, so if it can't be parsed, something really went wrong.","distinct":false,"url":"https://api.github.com/repos/johnv02139/tvrenamer/commits/0535b8bbee731b1a32ae41354f17e973ac2655a6"}]}
{"actor":{"display_login":"johnv02139"}}