From f949efe1a4aec27816cb243c7ab5306078072174 Mon Sep 17 00:00:00 2001 From: Simon Forman Date: Thu, 23 Apr 2020 23:38:10 -0700 Subject: [PATCH] futurize stage2 gui --- joy/gui/init_joy_home.py | 8 +++++--- joy/gui/main.py | 6 ++++-- joy/gui/mousebindings.py | 3 ++- joy/gui/textwidget.py | 6 +++++- joy/gui/utils.py | 1 + joy/gui/world.py | 1 + 6 files changed, 18 insertions(+), 7 deletions(-) diff --git a/joy/gui/init_joy_home.py b/joy/gui/init_joy_home.py index 4a40072..90895eb 100644 --- a/joy/gui/init_joy_home.py +++ b/joy/gui/init_joy_home.py @@ -10,7 +10,9 @@ file, so you can just do, e.g.: ''' from __future__ import print_function -import base64, os, StringIO, zipfile +from future import standard_library +standard_library.install_aliases() +import base64, os, io, zipfile def initialize(joy_home): @@ -18,7 +20,7 @@ def initialize(joy_home): def create_data(from_dir='./default_joy_home'): - f = StringIO.StringIO() + f = io.StringIO() z = zipfile.ZipFile(f, mode='w') for fn in os.listdir(from_dir): from_fn = os.path.join(from_dir, fn) @@ -27,7 +29,7 @@ def create_data(from_dir='./default_joy_home'): return base64.encodestring(f.getvalue()) -Z = zipfile.ZipFile(StringIO.StringIO(base64.decodestring('''\ +Z = zipfile.ZipFile(io.StringIO(base64.decodestring('''\ UEsDBBQAAAAAAJKh9Uw/yHAgFQQAABUEAAALAAAAc2NyYXRjaC50eHRyZXNldF9sb2cgd29yZHMg bW91c2VfYmluZGluZ3Mga2V5X2JpbmRpbmdzCgpTdGFjayBDaGF0dGVyCgogZHVwIGR1cGQgZHVw ZGQgb3ZlciB0dWNrCiBwb3AgcG9wZCBwb3BkZCBwb3BvcCBwb3BvcGQgcG9wb3BkZAogc3dhcCBy diff --git a/joy/gui/main.py b/joy/gui/main.py index 61aa77e..688183d 100755 --- a/joy/gui/main.py +++ b/joy/gui/main.py @@ -1,6 +1,8 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- from __future__ import print_function +from future import standard_library +standard_library.install_aliases() ('''\ Joypy - Copyright © 2018 Simon Forman ''' @@ -10,7 +12,7 @@ Joypy - Copyright © 2018 Simon Forman ' Right-click on these commands to see docs on UI commands: key_bindings mouse_bindings') import logging, os, pickle, sys from textwrap import dedent -from ConfigParser import RawConfigParser +from configparser import RawConfigParser from joy.gui.utils import init_home, argparser, FileFaker @@ -60,7 +62,7 @@ def commands(): 'F4 - Paste item on top of stack to insertion cursor.', 'Shift-F4 - Pop and paste top of stack to insertion cursor.', ] - for key, command in GLOBAL_COMMANDS.iteritems(): + for key, command in GLOBAL_COMMANDS.items(): commands.append('%s - %s' % (key.lstrip('<').rstrip('>'), command)) print('\n'.join([''] + sorted(commands))) return args diff --git a/joy/gui/mousebindings.py b/joy/gui/mousebindings.py index 3246a03..2b5021a 100644 --- a/joy/gui/mousebindings.py +++ b/joy/gui/mousebindings.py @@ -20,10 +20,11 @@ #Do-nothing event handler. +from builtins import object nothing = lambda event: None -class MouseBindingsMixin: +class MouseBindingsMixin(object): """TextViewerWidget mixin class to provide mouse bindings.""" def __init__(self): diff --git a/joy/gui/textwidget.py b/joy/gui/textwidget.py index 1dc4f43..b100602 100644 --- a/joy/gui/textwidget.py +++ b/joy/gui/textwidget.py @@ -35,6 +35,10 @@ The GUI ''' from __future__ import print_function +from future import standard_library +standard_library.install_aliases() +from builtins import str, map, object +from past.builtins import basestring try: import tkinter as tk from tkinter.font import families, Font @@ -85,7 +89,7 @@ TEXT_BINDINGS = { } -class SavingMixin: +class SavingMixin(object): def __init__(self, saver=None, filename=None, save_delay=2000): self.saver = self._saver if saver is None else saver diff --git a/joy/gui/utils.py b/joy/gui/utils.py index ef0a2d0..3c80fc4 100644 --- a/joy/gui/utils.py +++ b/joy/gui/utils.py @@ -1,4 +1,5 @@ from __future__ import print_function +from builtins import object import argparse, os, sys from os import listdir, mkdir from os.path import abspath, exists, expanduser, isfile, join diff --git a/joy/gui/world.py b/joy/gui/world.py index a06d9a8..f0231b0 100644 --- a/joy/gui/world.py +++ b/joy/gui/world.py @@ -18,6 +18,7 @@ # along with joy.py. If not see . # from __future__ import print_function +from builtins import object from logging import getLogger _log = getLogger(__name__)