Skip to content
Snippets Groups Projects
Select Git revision
  • b9fd3da98d0d3a261df02598e2c2407c7bc8d73c
  • master default protected
  • develop protected
  • cmake_boost_refactor
  • ubuntu_ci
  • mmtf
  • non-orthogonal-maps
  • no_boost_filesystem
  • data_viewer
  • 2.11.1
  • 2.11.0
  • 2.10.0
  • 2.9.3
  • 2.9.2
  • 2.9.1
  • 2.9.0
  • 2.8.0
  • 2.7.0
  • 2.6.1
  • 2.6.0
  • 2.6.0-rc4
  • 2.6.0-rc3
  • 2.6.0-rc2
  • 2.6.0-rc
  • 2.5.0
  • 2.5.0-rc2
  • 2.5.0-rc
  • 2.4.0
  • 2.4.0-rc2
29 results

t.py

Blame
  • utils.py 1.33 KiB
    """Utility functions for CLI arguments."""
    import argparse
    
    
    def check_positive(value: str) -> int:
        """Check input value is a positive integer.
    
        Args:
            value (str): command line parameter
    
        Raises:
            argparse.ArgumentTypeError: received a negative integer
            argparse.ArgumentTypeError: received a non-integer value
    
        Returns:
            integer: integer version of input value
        """
        try:
            ivalue = round(float(value))
            if ivalue <= 0:
                raise argparse.ArgumentTypeError(f"""Expected positive integer,
                                                 got negative integer: {value}""")
        except ValueError as exc:
            raise argparse.ArgumentTypeError(f"""Expected positive integer,
                                             got: {value}""") from exc
        else:
            return ivalue
    
    
    def check_prob(value: str) -> float:
        """Check probability value is within ]0,1] range.
    
        Args:
            value (str): command line parameter
    
        Raises:
            argparse.ArgumentTypeError: received a value outside valid range
    
        Returns:
            float: float version of input value
        """
        pvalue = float(value)
        if pvalue <= 0 or pvalue > 1:
            raise argparse.ArgumentTypeError("""Expected a positive float between
                                             0 and 1, but got {value}""")
        return pvalue