import os.path
import sys

from .loader import Loader, I18nFileLoadError

class PythonLoader(Loader):
    """class to load python files"""
    def __init__(self):
        super(PythonLoader, self).__init__()

    def load_file(self, filename):
        path, name = os.path.split(filename)
        module_name, ext = os.path.splitext(name)
        if path not in sys.path:
            sys.path.append(path)
        try:
            return __import__(module_name)
        except ImportError as e:
            raise I18nFileLoadError("error loading file {0}: {1}".format(filename, e.msg))

    def parse_file(self, file_content):
        return file_content

    def check_data(self, data, root_data):
        return hasattr(data, root_data)

    def get_data(self, data, root_data):
        return getattr(data, root_data)

import os.path
import sys

from .loader import Loader, I18nFileLoadError


class PythonLoader(Loader):
    """class to load python files"""
    def __init__(self):
        super(PythonLoader, self).__init__()

    def load_file(self, filename):
        path, name = os.path.split(filename)
        module_name, ext = os.path.splitext(name)
        if path not in sys.path:
            sys.path.append(path)
        try:
            return __import__(module_name)
        except ImportError:
            raise I18nFileLoadError("error loading file {0}".format(filename))

    def parse_file(self, file_content):
        return file_content

    def check_data(self, data, root_data):
        return hasattr(data, root_data)

    def get_data(self, data, root_data):
        return getattr(data, root_data)

Fix bug in python loader.
Fix bug in python loader.

  import os.path
  import sys
  
  from .loader import Loader, I18nFileLoadError
+ 
  
  class PythonLoader(Loader):
      """class to load python files"""
      def __init__(self):
          super(PythonLoader, self).__init__()
  
      def load_file(self, filename):
          path, name = os.path.split(filename)
          module_name, ext = os.path.splitext(name)
          if path not in sys.path:
              sys.path.append(path)
          try:
              return __import__(module_name)
-         except ImportError as e:
+         except ImportError:
-             raise I18nFileLoadError("error loading file {0}: {1}".format(filename, e.msg))
+             raise I18nFileLoadError("error loading file {0}".format(filename))
  
      def parse_file(self, file_content):
          return file_content
  
      def check_data(self, data, root_data):
          return hasattr(data, root_data)
  
      def get_data(self, data, root_data):
          return getattr(data, root_data)
  
Fix bug in python loader.
## Code Before:
import os.path
import sys

from .loader import Loader, I18nFileLoadError

class PythonLoader(Loader):
    """class to load python files"""
    def __init__(self):
        super(PythonLoader, self).__init__()

    def load_file(self, filename):
        path, name = os.path.split(filename)
        module_name, ext = os.path.splitext(name)
        if path not in sys.path:
            sys.path.append(path)
        try:
            return __import__(module_name)
        except ImportError as e:
            raise I18nFileLoadError("error loading file {0}: {1}".format(filename, e.msg))

    def parse_file(self, file_content):
        return file_content

    def check_data(self, data, root_data):
        return hasattr(data, root_data)

    def get_data(self, data, root_data):
        return getattr(data, root_data)

## Instruction:
Fix bug in python loader.
## Code After:
import os.path
import sys

from .loader import Loader, I18nFileLoadError


class PythonLoader(Loader):
    """class to load python files"""
    def __init__(self):
        super(PythonLoader, self).__init__()

    def load_file(self, filename):
        path, name = os.path.split(filename)
        module_name, ext = os.path.splitext(name)
        if path not in sys.path:
            sys.path.append(path)
        try:
            return __import__(module_name)
        except ImportError:
            raise I18nFileLoadError("error loading file {0}".format(filename))

    def parse_file(self, file_content):
        return file_content

    def check_data(self, data, root_data):
        return hasattr(data, root_data)

    def get_data(self, data, root_data):
        return getattr(data, root_data)
