Directory controller will now swallow errors that would otherwise return invalid data to the client (forcing an annoying alert to the client), no results are returned when this happens.

pull/3113/head
Mark McDowall 13 years ago
parent 03c6dea53f
commit ad89618f58

@ -16,11 +16,6 @@ namespace NzbDrone.Web.Controllers
_diskProvider = diskProvider; _diskProvider = diskProvider;
} }
public ActionResult Test()
{
return Content("Testing...");
}
[HttpPost] [HttpPost]
public ActionResult _autoCompletePath(string text, int? filterMode) public ActionResult _autoCompletePath(string text, int? filterMode)
{ {
@ -35,22 +30,29 @@ namespace NzbDrone.Web.Controllers
public SelectList GetDirectories(string text) public SelectList GetDirectories(string text)
{ {
//Windows (Including UNC) try
var windowsSep = text.LastIndexOf('\\');
if (windowsSep > -1)
{ {
var dirs = _diskProvider.GetDirectories(text.Substring(0, windowsSep + 1)); //Windows (Including UNC)
return new SelectList(dirs, dirs.FirstOrDefault()); var windowsSep = text.LastIndexOf('\\');
if (windowsSep > -1)
{
var dirs = _diskProvider.GetDirectories(text.Substring(0, windowsSep + 1));
return new SelectList(dirs, dirs.FirstOrDefault());
}
//Unix
var index = text.LastIndexOf('/');
if (index > -1)
{
var dirs = _diskProvider.GetDirectories(text.Substring(0, index + 1));
return new SelectList(dirs, dirs.FirstOrDefault());
}
} }
catch(Exception ex)
//Unix
var index = text.LastIndexOf('/');
if (index > -1)
{ {
var dirs = _diskProvider.GetDirectories(text.Substring(0, index + 1)); //Swallow the exceptions so proper JSON is returned to the client (Empty results)
return new SelectList(dirs, dirs.FirstOrDefault());
} }
return new SelectList(new List<string>()); return new SelectList(new List<string>());

Loading…
Cancel
Save