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