git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 18 Oct 2017 11:37:28 +0000 (11:37 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Wed, 18 Oct 2017 11:37:28 +0000 (11:37 +0000)
client/Maestro/Configuration/configuration-editor.json
client/Maestro/Maestro.csproj
client/Maestro/Targets/FTPTargetProcessor.cs
client/Maestro/Targets/FXPTargetProcessor.cs
client/Maestro/Targets/UNCTargetProcessor.cs
client/Maestro/packages.config

index 466af5f5b11cb2814ee8146d2be2497e0ba458e3..baf139356309e76cf7fffdf7fa6978587dfaf52a 100644 (file)
     }\r
   ],\r
   "targets": [\r
-    {\r
-      "label": "Nyersanyag betöltés",\r
-      "processor": "UNCTargetProcessor",\r
-      "outputFormat": "%ID%-%SOURCENAME%",\r
-      "tag": "Betöltés",\r
-      "createSubFolder": true,\r
-      "killDateDays": 7,\r
-      "remote": {\r
-        "address": "file://10.10.1.100/BRAAVOS/OCTOPUS",\r
-        "userName": "mediacube",\r
-        "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
-        "timeout": 1000\r
-      }\r
-    },\r
     {\r
       "label": "Stúdióba küldés",\r
       "processor": "FTPTargetProcessor",\r
     },\r
     {\r
       "label": "Hír nyersanyag betöltés",\r
-      "processor": "UNCTargetProcessor",\r
+      "processor": "FTPTargetProcessor",\r
       "outputFormat": "%ID%-%SOURCENAME%",\r
       "tag": "Betöltés",\r
       "createSubFolder": true,\r
       "killDateDays": 7,\r
       "useMetadata": false,\r
       "remote": {\r
-        "address": "file://10.10.1.100/BRAAVOS/OCTOPUS",\r
+        "address": "ftp://10.10.1.100/OCTOPUS",\r
         "userName": "mediacube",\r
         "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
         "timeout": 1000\r
     },\r
     {\r
       "label": "Magazin nyersanyag betöltés",\r
-      "processor": "UNCTargetProcessor",\r
+      "processor": "FTPTargetProcessor",\r
       "outputFormat": "%ID%-%SOURCENAME%",\r
       "tag": "Betöltés",\r
       "createSubFolder": true,\r
       "killDateDays": 7,\r
       "useMetadata": false,\r
       "remote": {\r
-        "address": "file://10.10.1.100/BRAAVOS/PLAYOUT_NLE",\r
+        "address": "ftp://10.10.1.100/PLAYOUT_NLE",\r
         "userName": "mediacube",\r
         "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
         "timeout": 1000\r
     },\r
     {\r
       "label": "Lebonyba küldés",\r
-      "processor": "UNCTargetProcessor",\r
+      "processor": "FTPTargetProcessor",\r
       "outputFormat": "%ID%",\r
       "tag": "Betöltés",\r
       "killDateDays": 7,\r
       "remote": {\r
-        "address": "file://10.10.1.100/BRAAVOS/PLAYOUT_CHECK",\r
+        "address": "ftp://10.10.1.100/PLAYOUT_CHECK",\r
         "userName": "mediacube",\r
         "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
         "timeout": 1000\r
     },\r
     {\r
       "label": "Archiválás",\r
-      "processor": "UNCTargetProcessor",\r
+      "processor": "FTPTargetProcessor",\r
       "outputFormat": "%ID%",\r
       "tag": "Archiválás",\r
       "useMetadata": true,\r
       "remote": {\r
-        "address": "file://10.10.1.100/BRAAVOS/ARCHIVE",\r
+        "address": "ftp://10.10.1.100/ARCHIVE",\r
         "userName": "mediacube",\r
         "password": "Dn8t4gfHcK98o8hyPgLDhr5SgSji4JCxsfpMJsODikUp3nXgrM0UNCi45lLAK8ZOnmEneO44P9qpJ4QDqhctN6MxZodjJgdZTyoZKmSa+ECzEzLr/wPYNgxVaXrVotEy",\r
         "timeout": 1000\r
index 6fa4b0a3a75b46e7f1efe31459cf0493e04d61ae..bd8ea185f74119dcf6498a2c505015df413f395f 100644 (file)
     <ApplicationManifest>Properties\app.manifest</ApplicationManifest>\r
   </PropertyGroup>\r
   <ItemGroup>\r
-    <Reference Include="FluentFTP, Version=17.5.8.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">\r
-      <HintPath>..\packages\FluentFTP.17.5.8\lib\net45\FluentFTP.dll</HintPath>\r
+    <Reference Include="FluentFTP, Version=19.1.1.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">\r
+      <HintPath>..\packages\FluentFTP.19.1.1\lib\net45\FluentFTP.dll</HintPath>\r
     </Reference>\r
     <Reference Include="LinkDotNet.MessageHandling, Version=0.2.0.0, Culture=neutral, processorArchitecture=MSIL">\r
       <HintPath>..\packages\LinkDotNet.MessageBus.0.1.1\lib\LinkDotNet.MessageHandling.dll</HintPath>\r
     <Reference Include="System.Data" />\r
     <Reference Include="System.Deployment" />\r
     <Reference Include="System.Drawing" />\r
+    <Reference Include="System.IO.Compression.FileSystem" />\r
+    <Reference Include="System.Numerics" />\r
+    <Reference Include="System.Runtime.Serialization" />\r
     <Reference Include="System.Web" />\r
     <Reference Include="System.Windows.Forms" />\r
     <Reference Include="System.Xml" />\r
index 52358d2530ada4ea845fdd578027b57ae2f15574..52043d14cbcfbb6e8c1b447b93d88c437632a329 100644 (file)
@@ -42,29 +42,39 @@ namespace Maestro.Targets {
                     }\r
                     catch (Exception e) {\r
                         logger.Error(e.Message);\r
+                        throw e;\r
                     }\r
                     finally {\r
                         ostream.Close();\r
                     }\r
                 }\r
             }\r
-            if (parameters.TargetConfig.NexioServer)\r
-                Thread.Sleep(500);\r
+            FtpReply reply = targetFTP.GetReply();\r
+            if (reply.Success && "226".Equals(reply.Code)) {\r
+                if (!FileExists(Output))\r
+                    throw new Exception("Feltöltési hiba.");\r
+            }\r
+        }\r
+\r
+        protected void reconnect() {\r
+            TerminateClient(targetFTP);\r
+            targetFTP = CreateClient(parameters.TargetConfig.Remote);\r
+            EnsureDirectoryExistence(workingDir);\r
         }\r
 \r
         protected override void UploadContent(string outputPath, byte[] content) {\r
-            using (Stream ostream = targetFTP.OpenWrite(outputPath)) {\r
+            using (Stream ostream = targetFTP.OpenWrite(outputPath, FtpDataType.Binary, false)) {\r
                 try {\r
                     ostream.Write(content, 0, content.Length);\r
                 }\r
                 catch (Exception e) {\r
                     logger.Error(e.Message);\r
-                } finally{\r
+                    throw e;\r
+                }\r
+                finally {\r
                     ostream.Close();\r
-                } \r
+                }\r
             }\r
-            if (parameters.TargetConfig.NexioServer)\r
-                Thread.Sleep(500);\r
         }\r
 \r
         protected override bool FileExists(string path) {\r
index bf7fd7423b5275b8e017bf41b374cc36563b6802..bb4d5279f0149376632923a54b2e4e1aee99d80e 100644 (file)
@@ -84,7 +84,7 @@ namespace Maestro.Targets {
                         Progress = currentProgress > 100 ? 100 : currentProgress;\r
                         lastSize = overall;\r
                     }\r
-                    Thread.Sleep(2000);\r
+                    Thread.Sleep(1000);\r
                 }\r
 \r
             }\r
index be7d9b610dc0d36ba12c6ba9ef7de976ade23512..65f9d0494fce6c771fa7d664d1b58c29ff0e4a88 100644 (file)
@@ -89,8 +89,6 @@ namespace Maestro.Targets {
 \r
         protected override void ExecuteCompleted() {\r
             base.ExecuteCompleted();\r
-            Status = "Kész";\r
-            Message = SUCCESS;\r
             workFlowAction.description = SUCCESS;\r
             workFlowAction.successful = true;\r
             if (parameters.TargetConfig.NexioServer)\r
@@ -109,6 +107,8 @@ namespace Maestro.Targets {
             }\r
             if (parameters.TargetConfig.SendEmailOnSuccess && !String.IsNullOrEmpty(parameters.TargetConfig.SuccessEmailRecipient) && !String.IsNullOrEmpty(parameters.TargetConfig.SuccessEmailPattern))\r
                 SendEmail(parameters.TargetConfig.SuccessEmailRecipient, parameters.TargetConfig.SuccessEmailPattern);\r
+            Status = "Kész";\r
+            Message = SUCCESS;\r
         }\r
 \r
         private void UploadNexioMetadata() {\r
@@ -204,6 +204,7 @@ namespace Maestro.Targets {
             int read, overall = 0;\r
             while ((read = istream.Read(buffer, 0, buffer.Length)) > 0) {\r
                 ostream.Write(buffer, 0, read);\r
+                ostream.Flush();\r
                 overall += read;\r
                 Progress = (int)((double)overall / ilength * 100);\r
             }\r
index 38048ef96aa32b9a2b17a3026b11322abffcc3bc..3c8078b6f648bf96e7bea691ce0428e081167a93 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <packages>\r
-  <package id="FluentFTP" version="17.5.8" targetFramework="net461" />\r
+  <package id="FluentFTP" version="19.1.1" targetFramework="net461" />\r
   <package id="LinkDotNet.MessageBus" version="0.1.1" targetFramework="net461" />\r
   <package id="LinkDotNet.MessageBus.Contracts" version="0.1.1" targetFramework="net461" />\r
   <package id="Microsoft.VisualStudio.OLE.Interop" version="7.10.6070" targetFramework="net461" />\r