From 00832523b753a1e2a1dc7a03e694382d86aeaf06 Mon Sep 17 00:00:00 2001 From: Rustam Zaitov Date: Mon, 28 Oct 2013 02:24:28 +0400 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D1=83=D1=82=D0=B5=D0=B9=20=D0=BA=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=D0=B0=D0=BC=20=D0=B2=20=D0=BA=D0=B0=D0=B2=D1=8B=D1=87?= =?UTF-8?q?=D0=BA=D0=B0=D1=85=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BE=D0=BD?= =?UTF-8?q?=D0=B8=20=D1=81=D0=BE=D0=B6=D0=B5=D1=80=D0=B6=D0=B0=D1=82=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=D1=8B.=20=D0=9D=D0=BE=20?= =?UTF-8?q?=D0=B2=D0=B8=D0=B4=D0=B8=D0=BC=D0=BE=20=D1=8D=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B1=D0=B5=D1=81=D0=BF=D0=BE=D0=BB=D0=B5=D0=B7=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CopyParser/test_copyArguments.py | 20 ++++++++++++++++++- scripts/parser/CopyParser/CopyArguments.py | 16 ++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/scripts/UnitTests/CopyParser/test_copyArguments.py b/scripts/UnitTests/CopyParser/test_copyArguments.py index e220626..e610773 100644 --- a/scripts/UnitTests/CopyParser/test_copyArguments.py +++ b/scripts/UnitTests/CopyParser/test_copyArguments.py @@ -16,4 +16,22 @@ class TestCopyArguments(unittest.TestCase): self.__copyArguments.setArguments(None, "someVal2") isValid = self.__copyArguments.isValid() - self.assertEqual(False, isValid) \ No newline at end of file + self.assertEqual(False, isValid) + + def test_safeValues(self): + self.__copyArguments.setArguments('val1', 'val2') + + safeSrc = self.__copyArguments.getSafeSource() + safeDst = self.__copyArguments.getSaveTarget() + + self.assertEqual('val1', safeSrc) + self.assertEqual('val2', safeDst) + + def test_unsafeValues(self): + self.__copyArguments.setArguments('val1 with ws', 'val2 with ws') + + safeSrc = self.__copyArguments.getSafeSource() + safeDst = self.__copyArguments.getSaveTarget() + + self.assertEqual('"val1 with ws"', safeSrc) + self.assertEqual('"val2 with ws"', safeDst) diff --git a/scripts/parser/CopyParser/CopyArguments.py b/scripts/parser/CopyParser/CopyArguments.py index 09f968d..a0b9bc7 100644 --- a/scripts/parser/CopyParser/CopyArguments.py +++ b/scripts/parser/CopyParser/CopyArguments.py @@ -14,4 +14,18 @@ class CopyArguments(): result = self.source is not None result &= self.target is not None - return result \ No newline at end of file + return result + + def getSafeSource(self): + safeSource = self.__makeSafe(self.source) + return safeSource + + def getSaveTarget(self): + safeTarget = self.__makeSafe(self.target) + return safeTarget + + def __makeSafe(self, filePath): + assert filePath is not None + + safe = filePath if ' ' not in filePath else '"{0}"'.format(filePath) + return safe \ No newline at end of file