From 89760fdcf7c3544684959dc37667cfdf152f48fc Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Thu, 23 Nov 2017 20:34:53 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30762 --- .../Targets/FTPTargetProcessor.cs | 7 ++- .../Targets/UNCTargetProcessor.cs | 55 +++++++++---------- client/OctopusClient/OctopusIDSelector.cs | 3 +- 3 files changed, 35 insertions(+), 30 deletions(-) diff --git a/client/MaestroShared/Targets/FTPTargetProcessor.cs b/client/MaestroShared/Targets/FTPTargetProcessor.cs index cced4b4b..d0fc6eb0 100644 --- a/client/MaestroShared/Targets/FTPTargetProcessor.cs +++ b/client/MaestroShared/Targets/FTPTargetProcessor.cs @@ -22,7 +22,12 @@ namespace MaestroShared.Targets { FtpTrace.LogFunctions = false; if (!(parameters.SourceConfig is UNCSource)) { inputFile = null; - Uri inputUri = new Uri(String.Format(PATTERN_CONCAT, parameters.SourceConfig.Remote.Address, parameters.InputFileName)); + string address = parameters?.SourceConfig?.Remote?.Address.ToString(); + if (address == null) + throw new Exception("Missing 'source.remote' parameter."); + if (!SLASH.Equals(address[address.Length - 1])) + address = address + SLASH; + Uri inputUri = new Uri(new Uri(address.ToString()), parameters.InputFileName); Input = inputUri.ToString(); } } diff --git a/client/MaestroShared/Targets/UNCTargetProcessor.cs b/client/MaestroShared/Targets/UNCTargetProcessor.cs index 5e64ef2a..ad0af0e2 100644 --- a/client/MaestroShared/Targets/UNCTargetProcessor.cs +++ b/client/MaestroShared/Targets/UNCTargetProcessor.cs @@ -174,7 +174,7 @@ namespace MaestroShared.Targets { MetadataType = Parameters.MetadataKind, Segments = Parameters.MovieSegments }; - + } private void UploadNexioMetadata() { @@ -236,7 +236,7 @@ namespace MaestroShared.Targets { private void SendWorkFlowAction() { try { - Parameters.MediaCubeApi.Create(workFlowAction); + Parameters?.MediaCubeApi?.Create(workFlowAction); } catch (Exception e) { MessageBox.Show(parent, e.Message); @@ -257,34 +257,33 @@ namespace MaestroShared.Targets { protected string DetermineWorkingDirectory(Connection connection) { string result = Slash(connection.Address.LocalPath); - if (!String.IsNullOrEmpty(Parameters.TargetConfig.SubFolderFormat)) { - string subFolderName = Slash(GetDynamicText(Parameters.TargetConfig.SubFolderFormat)); - string pattern = subFolderName; - string searchPath = result; - if (pattern.Contains(SLASH)) { - string[] segments = pattern.Split(SLASH[0]); - pattern = segments[segments.Length - 1]; - searchPath = Slash(Path.Combine(result, subFolderName.Substring(0, subFolderName.Length - pattern.Length - 1))); - } - int p = pattern.IndexOf(HYPHEN); - int o = pattern.IndexOf(UNDERSCORE); - if (p > -1 || o > -1) { - if (p < o && p > -1) - pattern = pattern.Substring(0, p); - else - pattern = pattern.Substring(0, o); - - pattern += STAR; - string searchResult = SearchDirectory(searchPath, pattern); - if (searchResult == null) - result = Slash(Path.Combine(result, subFolderName)); - else - result = Slash(Path.Combine(result, searchResult)); - } else - result = Slash(Path.Combine(connection.Address.LocalPath, subFolderName)); + if (String.IsNullOrEmpty(Parameters.TargetConfig.SubFolderFormat)) + return result; + string subFolderName = Slash(GetDynamicText(Parameters.TargetConfig.SubFolderFormat)); + string pattern = subFolderName; + string searchPath = result; + if (pattern.Contains(SLASH)) { + string[] segments = pattern.Split(SLASH[0]); + pattern = segments[segments.Length - 1]; + searchPath = Slash(Path.Combine(result, subFolderName.Substring(0, subFolderName.Length - pattern.Length - 1))); } + int p = pattern.IndexOf(HYPHEN); + int o = pattern.IndexOf(UNDERSCORE); + if (p > -1 || o > -1) { + if (p < o && p > -1) + pattern = pattern.Substring(0, p); + else + pattern = pattern.Substring(0, o); + pattern += STAR; + string searchResult = SearchDirectory(searchPath, pattern); + if (searchResult == null) + result = Slash(Path.Combine(result, subFolderName)); + else + result = Slash(Path.Combine(result, searchResult)); + } else + result = Slash(Path.Combine(connection.Address.LocalPath, subFolderName)); - return result.Replace(BACKSLASH, SLASH); + return result; } private DateTime GetKillDate() { diff --git a/client/OctopusClient/OctopusIDSelector.cs b/client/OctopusClient/OctopusIDSelector.cs index ac5964f6..ac785efe 100644 --- a/client/OctopusClient/OctopusIDSelector.cs +++ b/client/OctopusClient/OctopusIDSelector.cs @@ -419,7 +419,8 @@ namespace OctopusClient { TargetProcessorParameter processorParameter = new TargetProcessorParameter() { SourceConfig = new Source() { - Local = projectConfiguration.TemplateRoot + Local = projectConfiguration.TemplateRoot, + Remote = projectConfiguration.TemplateRoot }, TargetConfig = new Target() { Remote = projectConfiguration.ProjectRoot, -- 2.54.0