--- .\__init__.py	(original)
+++ .\__init__.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
@@ -36,9 +36,9 @@
     calibre utilities to run without needing to load the GUI libraries.
     '''
     name                = "TOC View Generator"
-    description         = _(u"TOC View Generator extracts table of content information from e-books and writes it as HTML either to an user defined field or the 'comments' field")
+    description         = _("TOC View Generator extracts table of content information from e-books and writes it as HTML either to an user defined field or the 'comments' field")
     supported_platforms = ['windows', 'linux']
-    author              = u"Jrgen Habelt"
+    author              = "Jrgen Habelt"
     version             = (2, 1, 0)
     minimum_calibre_version = (4, 0, 0)
 
@@ -67,11 +67,11 @@
         '''
         Prepares Ruby scripts for execution
         '''
-        self.pluginsdir = os.path.join(config_dir, u"plugins")
+        self.pluginsdir = os.path.join(config_dir, "plugins")
         if not os.path.exists(self.pluginsdir):
             os.makedirs(self.pluginsdir)
         
-        self.maindir = os.path.join(self.pluginsdir, u"TocViewGenerator")
+        self.maindir = os.path.join(self.pluginsdir, "TocViewGenerator")
         if not os.path.exists(self.maindir):
             os.mkdir(self.maindir)
         
--- .\action.py	(original)
+++ .\action.py	(refactored)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 from PyQt5.QtWidgets import QMessageBox
 
 __license__   = 'GPL v3'
@@ -42,7 +42,7 @@
     This class performs the work of the plug-in
     '''
 
-    name = u'Toc View Generator'
+    name = 'Toc View Generator'
 
     # Declare the main action associated with this plug-in
     # The keyboard shortcut can be None if you don't want to use a keyboard shortcut.
--- .\invoker.py	(original)
+++ .\invoker.py	(refactored)
@@ -1,13 +1,13 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 import subprocess
 from subprocess import CalledProcessError
 
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 
--- .\json_wrapper.py	(original)
+++ .\json_wrapper.py	(refactored)
@@ -1,11 +1,11 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
@@ -89,7 +89,7 @@
         Access to the embedded configuration
         '''
         if key in self.extra_keys:
-            if key in self.extra.keys():
+            if key in list(self.extra.keys()):
                 value = self.extra[key]
             else:
                 value = None
--- .\logging_factory.py	(original)
+++ .\logging_factory.py	(refactored)
@@ -1,11 +1,11 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 
--- .\logging_instance.py	(original)
+++ .\logging_instance.py	(refactored)
@@ -1,11 +1,11 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 
@@ -81,7 +81,7 @@
         configWrapper = JsonConfigWrapper.getInstance() 
         log_level = configWrapper['log_level']
         self._log_level = logging.getLevelName(log_level)
-        for _, logger in self.loggers.items():
+        for _, logger in list(self.loggers.items()):
             logger.setLevel(self._log_level)
 
     
--- .\model.py	(original)
+++ .\model.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
--- .\plugin_worker.py	(original)
+++ .\plugin_worker.py	(refactored)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
 __copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
--- .\gui\Config.py	(original)
+++ .\gui\Config.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
--- .\gui\RequirementsView.py	(original)
+++ .\gui\RequirementsView.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
--- .\gui\TempConfig.py	(original)
+++ .\gui\TempConfig.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 globals()['load_translations']()
--- .\ruby_port\bookmark.py	(original)
+++ .\ruby_port\bookmark.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 try:
--- .\ruby_port\epub_extractor.py	(original)
+++ .\ruby_port\epub_extractor.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 from calibre.ebooks.oeb.polish.container import EpubContainer
--- .\ruby_port\extractor.py	(original)
+++ .\ruby_port\extractor.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 import os, re
--- .\ruby_port\html_generator.py	(original)
+++ .\ruby_port\html_generator.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 import os
--- .\ruby_port\pdf_extractor.py	(original)
+++ .\ruby_port\pdf_extractor.py	(refactored)
@@ -1,10 +1,10 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-from __future__ import absolute_import, division, print_function, unicode_literals
+
 
 __license__   = 'GPL v3'
-__copyright__ = u'2019, Jrgen Habelt <juergen@habelt-jena.de>'
+__copyright__ = '2019, Jrgen Habelt <juergen@habelt-jena.de>'
 __docformat__ = 'restructuredtext en'
 
 from calibre.utils.podofo import get_outline
