Sort By EndsWith Match

Example

>>> # TEST PREPARATION
>>> import sys
>>> from io import StringIO
>>> from techminer2.thesaurus.organizations import InitializeThesaurus, SortByEndsWithMatch
>>> # Redirecting stderr to avoid messages
>>> original_stderr = sys.stderr
>>> sys.stderr = StringIO()
>>> # Create thesaurus
>>> InitializeThesaurus(root_directory="examples/fintech/", quiet=True).run()
>>> # Create and run the sorter
>>> sorter = (
...     SortByEndsWithMatch(use_colorama=False)
...     .having_pattern("(AUS)")
...     .where_root_directory_is("examples/fintech/")
... )
>>> sorter.run()
>>> # Capture and print stderr output
>>> output = sys.stderr.getvalue()
>>> sys.stderr = original_stderr
>>> print(output)
Sorting thesaurus by endswith match...
     File : examples/fintech/data/thesaurus/organizations.the.txt
  Pattern : (AUS)
  4 matching keys found
  Sorting process completed successfully

Printing thesaurus header
  File : examples/fintech/data/thesaurus/organizations.the.txt

    Cent for Law (AUS)
      Centre for Law, Markets & Regulation, UNSW Australia, Australia
    Charles Sturt Univ Melbourne Study Group Cent (AUS)
      Charles Sturt University Melbourne Study Group Centre, Melbourne, VIC, Au...
    Univ of New South Wales (AUS)
      UNSW Business School, University of New South Wales, Australia; Universit...
    Univ of Sydney (AUS)
      The University of Sydney, The University of Sydney Business School, Rm407...
    [UKN] Brussels, Belgium (BEL)
      Brussels, Belgium
    [UKN] CESifo, Poschingerstr. 5, Munich, 81679, Germany (DEU)
      CESifo, Poschingerstr. 5, Munich, 81679, Germany
    [UKN] FinTech HK, Hong Kong (HKG)
      FinTech HK, Hong Kong
    [UKN] Hochschule für Wirtschaft Fribourg, Switzerland (CHE)
      Hochschule für Wirtschaft Fribourg, Switzerland