diff --git a/conservancy_beancount/reports/accrual.py b/conservancy_beancount/reports/accrual.py index cc705fae12307283f690d7307ed886bdfc6abb82..ad2015a82b9af6448582d9cc5883a17efc2009c3 100644 --- a/conservancy_beancount/reports/accrual.py +++ b/conservancy_beancount/reports/accrual.py @@ -508,7 +508,12 @@ class OutgoingReport(BaseReport): self.rt_wrapper = rtutil.RT(rt_client) def _primary_rt_id(self, posts: AccrualPostings) -> rtutil.TicketAttachmentIds: - rt_ids = posts.all_meta_links('rt-id') + rt_ids: Set[str] = set() + for post in posts: + try: + rt_ids.add(post.meta.get_links('rt-id')[0]) + except (IndexError, TypeError): + pass rt_ids_count = len(rt_ids) if rt_ids_count != 1: raise ValueError(f"{rt_ids_count} rt-id links found") diff --git a/setup.py b/setup.py index d8e2c8e3c19f0b812dfe01e9f5ab01aefce976b8..eec26a084d2ca2e8edfc828bc0bfb782206bc1b5 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ from setuptools import setup setup( name='conservancy_beancount', description="Plugin, library, and reports for reading Conservancy's books", - version='1.1.3', + version='1.1.4', author='Software Freedom Conservancy', author_email='info@sfconservancy.org', license='GNU AGPLv3+', diff --git a/tests/books/accruals.beancount b/tests/books/accruals.beancount index 9789f0c3fdd82b31c633c74666fa1e6b5c9a017b..f005ac67edb78d7660fae077ea922e131c1ff462 100644 --- a/tests/books/accruals.beancount +++ b/tests/books/accruals.beancount @@ -108,7 +108,7 @@ Liabilities:Payable:Accounts -60.00 USD 2010-06-18 * "EuroGov" "European legal fees" - rt-id: "rt:520" + rt-id: "rt:520 rt:525" invoice: "rt:520/5200" contract: "rt:520/5220" Liabilities:Payable:Accounts -1,000 EUR {1.100 USD}