/**
  * Check if a preview can be generated for a file
  *
  * @param \OC\Files\FileInfo $file
  * @return bool
  */
 public static function isAvailable(\OC\Files\FileInfo $file)
 {
     if (!\OC_Config::getValue('enable_previews', true)) {
         return false;
     }
     $mount = $file->getMountPoint();
     if ($mount and !$mount->getOption('previews', true)) {
         return false;
     }
     //check if there are preview backends
     if (empty(self::$providers)) {
         self::initProviders();
     }
     foreach (self::$providers as $supportedMimeType => $provider) {
         /**
          * @var \OC\Preview\Provider $provider
          */
         if (preg_match($supportedMimeType, $file->getMimetype())) {
             return $provider->isAvailable($file);
         }
     }
     return false;
 }