private void OnList(JToken l) {\r
if (l == null)\r
return;\r
- l.Children().ToList().Select(t => CreateItem(t, false)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
+ //l.Children().ToList().Select(t => CreateItem(t, false)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
+ l.Children().ToList().Select(t => CreateItem(t, false)).Where(x => x.CanHandle(acceptableExtensions)).OrderByDescending(i => i.Created).ToList().ForEach(i => parent.SafeCall(() => Add(i)));\r
}\r
\r
private void OnChanged(JToken token) {\r
string id = token[ID].ToString();\r
var item = Items.Where(x => x.ID == id).SingleOrDefault();\r
- if (item != null) {\r
+ if (item != null && item.CanHandle(acceptableExtensions)) {\r
SetItem(ref item, token);\r
parent.SafeCall(() => {\r
messageBus.Send(new ModifyFileActionMsg() {\r
\r
private void OnCreated(JToken token) {\r
var item = CreateItem(token, true);\r
- parent.SafeCall(() => {\r
- Insert(0, item);\r
- messageBus.Send(new CreateFileActionMsg() {\r
- FileName = item.Name,\r
- Source = parent\r
+ if (item.CanHandle(acceptableExtensions)) {\r
+ parent.SafeCall(() => {\r
+ Insert(0, item);\r
+ messageBus.Send(new CreateFileActionMsg() {\r
+ FileName = item.Name,\r
+ Source = parent\r
+ });\r
});\r
- });\r
- Debug.WriteLine(string.Format("Created {0}", item.Name));\r
+ Debug.WriteLine(string.Format("Created {0}", item.Name));\r
+ }\r
}\r
\r
private void OnDeleted(JToken d) {\r
using System.ComponentModel;\r
using System.IO;\r
using System.Runtime.CompilerServices;\r
-\r
+using System.Collections.Generic;\r
namespace Maestro.Sources {\r
public class NexioSourceItem : ISourceItem {\r
private bool isHighlighted;\r
}\r
}\r
\r
+ public bool CanHandle(List<String> extensions) {\r
+ if (extensions == null || extensions.Count < 1)\r
+ return true;\r
+ if (extensions.Contains(Name.Substring(Name.Length-3).ToLower()) || extensions.Contains(Name.Substring(Name.Length - 3).ToUpper()))\r
+ return true;\r
+ return false;\r
+ }\r
+\r
}\r
}\r
//Debug.WriteLine(body);\r
request.AddParameter("application/json", body, ParameterType.RequestBody);\r
var response = client.Execute(request);\r
- if (response.StatusCode != HttpStatusCode.OK || response.ContentLength < 1) {\r
+ if (response.StatusCode != HttpStatusCode.OK && response.ErrorMessage != null) {\r
ErrorReporter?.Invoke(DateTime.Now, "Error", String.Format("[MediaCube] {0}", response.ErrorMessage), Color.Red);\r
return null;\r
}\r