Exclude @eaDir on Synology

Hi everyone,

I am installing PhotoStructure on a Synology NAS. Currently, my photos are stored on Synology’s /photo share. For each directory containing pictures, the indexing service of the synology puts thumbnails and so on in an sub-directoy named @eaDir. It would be nice if PhotoStructure could be configured to exclude these folders (as I am not interested in importing the low-quality thumbnails).

Maybe this even makes sense as a default exclude?

PhotoStructure’s ignorable-pattern list already includes @eaDir (and several hundred other patterns!)

Did you see that PhotoStructure imported files in those directories?

You can check quickly with the list tool

$ photostructure list | grep @eaDir

Here’s a list of directories that are always ignored. There are many other lists of directories that are only ignored in other contexts (like snap directories, mounted DMGs, …). You can override any of these by including them in the neverIgnored system setting.

   * All these directories are sufficiently nerdy that they uniquely identify a
   * system or development directory, and don't need to be anchored to, say, / to
   * be sufficiently constrained.
  private readonly ignorableDirectories = new Set(
      "#snapshot", // backup snapshots on synology
      "__MACOSX", // resource fork
      "_includes", // source tree
      "@eaDir", // synology thumbs
      "@Recycle", // qnap trash
      "@SynoResource", // synology
      "#recycle", // synology trash
      "$Recycle.Bin", // windows trash
      "3rdParty", // source
      "Application Data", // win
      "Application Support", // mac
      "Applications", // mac
      "arangodb", // their 3rdparty subdir is a menace
      "CacheClip", // movie app cache dir
      "cmake", // dev
      "com.apple.TimeMachine.localsnapshots", // mac
      "cpan", // hello old frenemy
      "DefinitelyTyped", // roughly infinite subdirectories
      "Desktop DB", // mac
      "Desktop DF", // mac
      "Desktop.ini", // mac
      "DisplayDriver", // win
      // "Download", // these might actually have something
      // "Downloads",
      "ehthumbs.db", // win
      "iMovie Cache",
      "iTunes Cache",
      "iTunes Media", // music videos: see https://gitlab.com/mceachen/photostructure/issues/102
      "iTunes", // music videos: see https://gitlab.com/mceachen/photostructure/issues/102
      "lost+found", // posix
      "Network Trash Folder",
      "node_modules", // ugh, nothing good in there
      "pkgconfig", // dev
      "pkgs", // python
      "Program Files (x86)", //win
      "Program Files", // win
      "ProgramData", // win
      "site-packages", // python
      "spotifycache", // muzak
      "SteamApps", // win
      "System Volume Information", // win
      "System32", // win
      "Temporary Items", // win
      "test_suite", // source
      "testutils", // source
      "third_party", // source
      "Thumbnails", // iPhoto
      "Thumbs.db", // win
      "Trash", // xdg trash https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html
    ].map(s => s.toLowerCase())
1 Like

Hi Matthew,

Now I’m feeling stupid :smiley: for overthinking stuff. No, I just looked at the FAQ and already wondered whether I should just hardlink all the files I want into another directory hierarchy …

On rereading the FAQ entry, I now saw the “application support files”, so you mentioned it.

LOL you’re talking to a Certified Overthinker: no worries!

If PhotoStructure’s default filters don’t ignore any other directories that you think it should, please share: beta users have helped in contributing to the current set of patterns.