Merge pull request #31 from brion/upload-fail-fix

Fix for crash report if network down when upload starts
This commit is contained in:
Brion Vibber 2013-05-24 03:12:41 -07:00
commit 830545af9b

View file

@ -276,11 +276,11 @@ public class UploadService extends HandlerService<Contribution> {
contribution.save(); contribution.save();
} }
private String findUniqueFilename(String fileName) { private String findUniqueFilename(String fileName) throws IOException {
return findUniqueFilename(fileName, 1); return findUniqueFilename(fileName, 1);
} }
private String findUniqueFilename(String fileName, int sequenceNumber) { private String findUniqueFilename(String fileName, int sequenceNumber) throws IOException {
String sequenceFileName; String sequenceFileName;
if (sequenceNumber == 1) { if (sequenceNumber == 1) {
sequenceFileName = fileName; sequenceFileName = fileName;
@ -304,18 +304,14 @@ public class UploadService extends HandlerService<Contribution> {
} }
} }
private boolean fileExistsWithName(String fileName) { private boolean fileExistsWithName(String fileName) throws IOException {
MWApi api = app.getApi(); MWApi api = app.getApi();
ApiResult result; ApiResult result;
try { result = api.action("query")
result = api.action("query") .param("prop", "imageinfo")
.param("prop", "imageinfo") .param("titles", "File:" + fileName)
.param("titles", "File:" + fileName) .get();
.get();
} catch (IOException e) {
throw new RuntimeException(e);
}
ArrayList<ApiResult> nodes = result.getNodes("/api/query/pages/page/imageinfo"); ArrayList<ApiResult> nodes = result.getNodes("/api/query/pages/page/imageinfo");
return nodes.size() > 0; return nodes.size() > 0;