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.

This commit is contained in:
Mark McDowall 2011-06-10 14:55:58 -07:00
parent 03c6dea53f
commit ad89618f58
1 changed files with 20 additions and 18 deletions

View File

@ -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>());