2
0

CameraUploadsFolder.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using MediaBrowser.Common.Configuration;
  2. using MediaBrowser.Controller.Entities;
  3. using System.IO;
  4. using System.Linq;
  5. namespace MediaBrowser.Server.Implementations.Devices
  6. {
  7. public class CameraUploadsFolder : BasePluginFolder
  8. {
  9. public CameraUploadsFolder()
  10. {
  11. Name = "Camera Uploads";
  12. }
  13. public override bool IsVisible(User user)
  14. {
  15. return GetChildren(user, true).Any() &&
  16. base.IsVisible(user);
  17. }
  18. public override bool IsHidden
  19. {
  20. get
  21. {
  22. return base.IsHidden || !Children.Any();
  23. }
  24. }
  25. public override bool IsHiddenFromUser(User user)
  26. {
  27. return false;
  28. }
  29. public override string CollectionType
  30. {
  31. get { return Model.Entities.CollectionType.Photos; }
  32. }
  33. public override string GetClientTypeName()
  34. {
  35. return typeof(CollectionFolder).Name;
  36. }
  37. }
  38. public class CameraUploadsDynamicFolder : IVirtualFolderCreator
  39. {
  40. private readonly IApplicationPaths _appPaths;
  41. public CameraUploadsDynamicFolder(IApplicationPaths appPaths)
  42. {
  43. _appPaths = appPaths;
  44. }
  45. public BasePluginFolder GetFolder()
  46. {
  47. var path = Path.Combine(_appPaths.DataPath, "camerauploads");
  48. Directory.CreateDirectory(path);
  49. return new CameraUploadsFolder
  50. {
  51. Path = path
  52. };
  53. }
  54. }
  55. }