mirror of
				https://github.com/python-escpos/python-escpos
				synced 2025-10-23 09:30:00 +00:00 
			
		
		
		
	Improve test coverage and fix issue in path loading (#602)
* reactivate skipped tests * remove unused internal interfaces * enable pytest in VS Code * simplify and fix path logic in loader * increase test coverage * test missing config * check for wrong printer names * Skipped appdir test
This commit is contained in:
		@@ -12,10 +12,6 @@ class CodePageManager:
 | 
			
		||||
        """Initialize codepage manager."""
 | 
			
		||||
        self.data = data
 | 
			
		||||
 | 
			
		||||
    def get_all(self):
 | 
			
		||||
        """Get list of all codepages."""
 | 
			
		||||
        return self.data.values()
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def get_encoding_name(encoding):
 | 
			
		||||
        """Get encoding name.
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
This module contains the implementations of abstract base class :py:class:`Config`.
 | 
			
		||||
"""
 | 
			
		||||
import os
 | 
			
		||||
import pathlib
 | 
			
		||||
 | 
			
		||||
import appdirs
 | 
			
		||||
import yaml
 | 
			
		||||
@@ -56,23 +57,19 @@ class Config(object):
 | 
			
		||||
            config_path = os.path.join(
 | 
			
		||||
                appdirs.user_config_dir(self._app_name), self._config_file
 | 
			
		||||
            )
 | 
			
		||||
        if isinstance(config_path, pathlib.Path):
 | 
			
		||||
            # store string if posixpath
 | 
			
		||||
            config_path = config_path.as_posix()
 | 
			
		||||
        if not os.path.isfile(config_path):
 | 
			
		||||
            # supplied path is not a file --> assume default file
 | 
			
		||||
            config_path = os.path.join(config_path, self._config_file)
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            # First check if it's file like. If it is, pyyaml can load it.
 | 
			
		||||
            # I'm checking type instead of catching exceptions to keep the
 | 
			
		||||
            # exception handling simple
 | 
			
		||||
            if hasattr(config_path, "read"):
 | 
			
		||||
                config = yaml.safe_load(config_path)
 | 
			
		||||
            else:
 | 
			
		||||
                # If it isn't, it's a path. We have to open it first, otherwise
 | 
			
		||||
                # pyyaml will try to read it as yaml
 | 
			
		||||
                with open(config_path, "rb") as config_file:
 | 
			
		||||
                    config = yaml.safe_load(config_file)
 | 
			
		||||
            with open(config_path, "rb") as config_file:
 | 
			
		||||
                config = yaml.safe_load(config_file)
 | 
			
		||||
        except EnvironmentError:
 | 
			
		||||
            raise exceptions.ConfigNotFoundError(
 | 
			
		||||
                "Couldn't read config at {config_path}".format(
 | 
			
		||||
                    config_path=str(config_path),
 | 
			
		||||
                )
 | 
			
		||||
                f"Couldn't read config at {config_path}"
 | 
			
		||||
            )
 | 
			
		||||
        except yaml.YAMLError:
 | 
			
		||||
            raise exceptions.ConfigSyntaxError("Error parsing YAML")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user