import user.commons.IEntityBase;\r
import user.commons.RemoteFile;\r
import user.commons.StoreUri;\r
+import user.commons.mediatool.MediaInfo;\r
import user.commons.remotestore.RemoteStoreProtocol;\r
import user.jobengine.db.Item;\r
import user.jobengine.db.Media;\r
@StepEntry\r
public Object[] execute(String sourcePath) throws Exception {\r
logger.info(getSessionMarker(), "Starting in {}", sourcePath);\r
- logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", "Napló időbélyeg", "Neve",\r
+ logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", "Napló időbélyeg", "Neve",\r
"Elérése", "Mérete", "Létrehozva", "Módosítva", "Archiválva (MC)", "Archiválva (TSM)", "Méret (TSM)",\r
".catched", ".killdate", ".nomd", "Archivált (MC)", "Archivált (TSM)", "Metaadat egyezés",\r
- "Méret egyezés", "Törölhető", "Kezelendő");\r
+ "Méret egyezés", "Törölhető", "Kezelendő", "Lejátszható");\r
\r
try {\r
String location = "/opt/test-mediacube/file_list_original.txt";\r
Path dirName = dir.getFileName();\r
\r
if (skipPathNames.contains(dirName.toString())) {\r
- //logger.info(getSessionMarker(), "PreVisit skip {}", dir);\r
+ // logger.info(getSessionMarker(), "PreVisit skip {}", dir);\r
return FileVisitResult.SKIP_SUBTREE;\r
- } //else\r
- //logger.info(getSessionMarker(), "PreVisit {}", dir);\r
+ } // else\r
+ // logger.info(getSessionMarker(), "PreVisit {}", dir);\r
\r
return FileVisitResult.CONTINUE;\r
}\r
if (file.exists()) {\r
logger.info(getSessionMarker(), "Törlés {}", filePath);\r
result = true;\r
- //result = file.delete();\r
+ // result = file.delete();\r
}\r
} catch (Exception e) {\r
logger.error(getSessionMarker(), "A {} fájl nem törölhető. A rendszer hibaüzenete: {}", filePath,\r
return result;\r
}\r
\r
+ private boolean canReadMediaInfo(Path mediaFilePath) {\r
+ boolean result = false;\r
+ try {\r
+ MediaInfo mi = new MediaInfo(mediaFilePath);\r
+ mi.process();\r
+ result = true;\r
+ } catch (Exception e) {\r
+ logger.warn(getSessionMarker(), e.getMessage());\r
+ }\r
+ return result;\r
+ }\r
+\r
private boolean processPathItem(Path mediaPath) throws Exception {\r
if (getJobRuntime().isWaitingCancel()) {\r
cancel();\r
\r
long size = mediaFSFile.length();\r
Date lastModifiedDate = new Date(attr.lastModifiedTime().toMillis());\r
- //Date lastAccesDate = new Date(attr.lastAccessTime().toMillis());\r
+ // Date lastAccesDate = new Date(attr.lastAccessTime().toMillis());\r
Date createDate = new Date(attr.creationTime().toMillis());\r
boolean catchedExists = EscortFiles.isMediaCatched(mediaPath);\r
boolean noMDExists = nomdFile.toFile().exists();\r
boolean killdateExists = killDateFiles.size() > 0;\r
- //boolean mediaInfoAvailable = canReadMediaInfo(mediaPath);\r
+ boolean mediaInfoAvailable = canReadMediaInfo(mediaPath);\r
boolean mcArchived = mediaFile != null;\r
boolean metadataEquals = false;\r
boolean tsmArchived = false;\r
boolean includeContains = includeList.contains(mediaPath.toString());\r
\r
if (mcArchived) {\r
- //metadata\r
+ // metadata\r
Media media = getManager().getMedia(mediaFile.getMediaId());\r
mcArchivedDate = media.getCreated();\r
Item item = getManager().getItem(media.getItemId());\r
metadataEquals = checkArchiveItem(mediaPath, archiveItem, item, media);\r
\r
- //tsm\r
+ // tsm\r
String tsmFileName = mediaFile.getRelativePath();\r
RemoteFile tsmFile = getTSMFile(tsmFileName);\r
tsmArchived = tsmFile != null;\r
boolean canDelete = !noMDExists && catchedExists && killdateExists && mcArchived && tsmArchived\r
&& metadataEquals;\r
Date now = new Date(System.currentTimeMillis());\r
- logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now), fileName,\r
+ logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now), fileName,\r
mediaPath.getParent(), size, D(createDate), D(lastModifiedDate), D(mcArchivedDate), D(tsmBackupDate),\r
tsmSize, YN(catchedExists), YN(killdateExists), YN(noMDExists), YN(mcArchived), YN(tsmArchived),\r
- YN(metadataEquals), YN(sizeEquals), YN(canDelete), YN(includeContains));\r
+ YN(metadataEquals), YN(sizeEquals), YN(canDelete), YN(includeContains), YN(mediaInfoAvailable));\r
\r
- logger.info(getSessionMarker(), "{} {}{}{}{}{}{}{}{}{}", mediaPath, YN(canDelete), YN(catchedExists),\r
+ logger.info(getSessionMarker(), "{} {}{}{}{}{}{}{}{}{}{}", mediaPath, YN(canDelete), YN(catchedExists),\r
YN(killdateExists), YN(noMDExists), YN(mcArchived), YN(tsmArchived), YN(metadataEquals), YN(sizeEquals),\r
- YN(includeContains));\r
+ YN(includeContains), YN(mediaInfoAvailable));\r
\r
- if (canDelete)\r
- removeFiles(mediaPath, killDateFiles);\r
+// if (canDelete)\r
+// removeFiles(mediaPath, killDateFiles);\r
\r
return true;\r
}\r
\r
@Override\r
public FileVisitResult visitFile(Path filePath, BasicFileAttributes paramBasicFileAttributes) throws IOException {\r
- //logger.info(getSessionMarker(), "Will checked {}", filePath);\r
+ // logger.info(getSessionMarker(), "Will checked {}", filePath);\r
try {\r
if (!processPathItem(filePath))\r
return FileVisitResult.TERMINATE;\r
lastDir = lastDir.replace("X:", "");\r
lastDir = lastDir.replace("\\", "/");\r
lastDir = lastDir.trim();\r
- // if (!lastDir.endsWith(".STATUS"))\r
- // System.out.println(">> " + lastDir);\r
+ // if (!lastDir.endsWith(".STATUS"))\r
+ // System.out.println(">> " + lastDir);\r
}\r
\r
if (lastDir != null && lastDir.endsWith(".STATUS"))\r
String len = line.substring(21, 39).trim();\r
if (len.length() != 0) {\r
String fullpath = "/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file;\r
- //System.out.println("/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file + " : " + len);\r
+ // System.out.println("/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file + " : "\r
+ // + len);\r
result.add(fullpath);\r
}\r
}\r