old_contents: #!/usr/bin/env python3
  #
  # Electron Cash - lightweight Bitcoin client
  # Copyright (C) 2019 Axel Gembe <derago@gmail.com>
  #
  # Permission is hereby granted, free of charge, to any person
  # obtaining a copy of this software and associated documentation files
  # (the "Software"), to deal in the Software without restriction,
  # including without limitation the rights to use, copy, modify, merge,
  # publish, distribute, sublicense, and/or sell copies of the Software,
  # and to permit persons to whom the Software is furnished to do so,
  # subject to the following conditions:
  #
  # The above copyright notice and this permission notice shall be
  # included in all copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
  # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  # SOFTWARE.
  
  import sys
  from .abstract_base import AbstractQrCodeReader, QrCodeResult
  from electroncash.util import print_error
  
  class MissingLib(RuntimeError):
      ''' Raised by underlying implementation if missing libs '''
      pass
  
  def get_qr_reader() -> AbstractQrCodeReader:
      """
      Get the Qr code reader for the current platform
      """
      try:
          if sys.platform in ('windows', 'win32', 'linux'):
              from .zbar import ZbarQrCodeReader
              return ZbarQrCodeReader()
          else:
              class Fake(AbstractQrCodeReader):
                  def read_qr_code(self, buffer, buffer_size, width, height, frame_id = -1):
                      ''' fake noop to test on macos, etc'''
                      return []
              return Fake()
      except MissingLib as e:
          print_error("[get_qr_reader]", str(e))
  
      return None
  
new_contents: #!/usr/bin/env python3
  #
  # Electron Cash - lightweight Bitcoin client
  # Copyright (C) 2019 Axel Gembe <derago@gmail.com>
  #
  # Permission is hereby granted, free of charge, to any person
  # obtaining a copy of this software and associated documentation files
  # (the "Software"), to deal in the Software without restriction,
  # including without limitation the rights to use, copy, modify, merge,
  # publish, distribute, sublicense, and/or sell copies of the Software,
  # and to permit persons to whom the Software is furnished to do so,
  # subject to the following conditions:
  #
  # The above copyright notice and this permission notice shall be
  # included in all copies or substantial portions of the Software.
  #
  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
  # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
  # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  # SOFTWARE.
  
  import sys
  from .abstract_base import AbstractQrCodeReader, QrCodeResult
  from ..util import print_error
  
  class MissingLib(RuntimeError):
      ''' Raised by underlying implementation if missing libs '''
      pass
  
  def get_qr_reader() -> AbstractQrCodeReader:
      """
      Get the Qr code reader for the current platform
      """
      try:
          if sys.platform in ('windows', 'win32', 'linux'):
              from .zbar import ZbarQrCodeReader
              return ZbarQrCodeReader()
          else:
              class Fake(AbstractQrCodeReader):
                  def read_qr_code(self, buffer, buffer_size, width, height, frame_id = -1):
                      ''' fake noop to test on macos, etc'''
                      return []
              return Fake()
      except MissingLib as e:
          print_error("[get_qr_reader]", str(e))
  
      return None
  
subject: tweak to use relative import in qrreaders __init__