From 8cdf65887e5760e90c02c9d9dd625e7a7724468c Mon Sep 17 00:00:00 2001
From: Moul <moul@moul.re>
Date: Thu, 25 Apr 2019 21:54:36 +0200
Subject: [PATCH] [feat] OutputSource: Add inline_condition() method

- Lock feature with a test
---
 duniterpy/documents/transaction.py  | 10 +++++++++-
 tests/documents/test_transaction.py |  6 ++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/duniterpy/documents/transaction.py b/duniterpy/documents/transaction.py
index 71aeda2f..8ebca20a 100644
--- a/duniterpy/documents/transaction.py
+++ b/duniterpy/documents/transaction.py
@@ -200,13 +200,21 @@ class OutputSource:
 
     def inline(self) -> str:
         """
-        Return an inline string format of the document
+        Return an inline string format of the output source
 
         :return:
         """
         return "{0}:{1}:{2}".format(self.amount, self.base,
                                     pypeg2.compose(self.condition, output.Condition))
 
+    def inline_condition(self) -> str:
+        """
+        Return an inline string format of the output source’s condition
+
+        :return:
+        """
+        return pypeg2.compose(self.condition, output.Condition)
+
     @staticmethod
     def condition_from_text(text) -> Condition:
         """
diff --git a/tests/documents/test_transaction.py b/tests/documents/test_transaction.py
index af5aa072..bfa338fd 100644
--- a/tests/documents/test_transaction.py
+++ b/tests/documents/test_transaction.py
@@ -492,3 +492,9 @@ class TestTransaction(unittest.TestCase):
         output_source_str = "460:0:SIG(8kXygUHh1vLjmcRzXVM86t38EL8dfFJgfBeHmkaWLamu)"
         o = OutputSource.from_inline(output_source_str)
         self.assertEqual(o.inline(), output_source_str)
+
+
+    def test_outputsource_inline_condition(self):
+        output_source_str = "460:0:SIG(8kXygUHh1vLjmcRzXVM86t38EL8dfFJgfBeHmkaWLamu)"
+        o = OutputSource.from_inline(output_source_str)
+        self.assertEqual(o.inline_condition(), output_source_str.split(":")[2])
-- 
GitLab