From 4a82a59e8aaa4c1d4bd9df839ab440d1725f66c3 Mon Sep 17 00:00:00 2001 From: Supakorn 'Jamie' Rassameemasmuang Date: Tue, 21 May 2024 00:17:28 -0600 Subject: [PATCH] XASY: Move xasy files and imports for compatibility with PEP 517 packaging system. --- GUI/{ => xasygui}/ContextWindow.py | 21 +-------- GUI/{ => xasygui}/CustMatTransform.py | 9 ++-- GUI/{ => xasygui}/DebugFlags.py | 0 GUI/{ => xasygui}/GuidesManager.py | 0 GUI/{ => xasygui}/InplaceAddObj.py | 8 +--- GUI/{ => xasygui}/PrimitiveShape.py | 6 ++- GUI/{ => xasygui}/SetCustomAnchor.py | 2 +- GUI/{ => xasygui}/UndoRedoStack.py | 0 GUI/{ => xasygui}/Widg_addLabel.py | 8 ++-- GUI/{ => xasygui}/Widg_addPolyOpt.py | 6 +-- GUI/{ => xasygui}/Widg_editBezier.py | 4 +- GUI/{ => xasygui}/Window1.py | 60 +++++++++++------------- GUI/{ => xasygui}/__init__.py | 0 GUI/{ => xasygui}/labelEditor.py | 21 ++++----- GUI/{ => xasygui}/xasy.py | 11 +++-- GUI/{ => xasygui}/xasy2asy.py | 42 ++++++++--------- GUI/{ => xasygui}/xasyArgs.py | 4 +- GUI/{ => xasygui}/xasyBezierInterface.py | 10 ++-- GUI/{ => xasygui}/xasyFile.py | 2 +- GUI/{ => xasygui}/xasyOptions.py | 0 GUI/{ => xasygui}/xasyStrings.py | 0 GUI/{ => xasygui}/xasySvg.py | 0 GUI/{ => xasygui}/xasyTransform.py | 3 +- GUI/{ => xasygui}/xasyUtils.py | 0 GUI/{ => xasygui}/xasyValidator.py | 0 25 files changed, 95 insertions(+), 122 deletions(-) rename GUI/{ => xasygui}/ContextWindow.py (97%) rename GUI/{ => xasygui}/CustMatTransform.py (97%) rename GUI/{ => xasygui}/DebugFlags.py (100%) rename GUI/{ => xasygui}/GuidesManager.py (100%) rename GUI/{ => xasygui}/InplaceAddObj.py (99%) rename GUI/{ => xasygui}/PrimitiveShape.py (98%) rename GUI/{ => xasygui}/SetCustomAnchor.py (96%) rename GUI/{ => xasygui}/UndoRedoStack.py (100%) rename GUI/{ => xasygui}/Widg_addLabel.py (97%) rename GUI/{ => xasygui}/Widg_addPolyOpt.py (93%) rename GUI/{ => xasygui}/Widg_editBezier.py (97%) rename GUI/{ => xasygui}/Window1.py (99%) rename GUI/{ => xasygui}/__init__.py (100%) rename GUI/{ => xasygui}/labelEditor.py (96%) rename GUI/{ => xasygui}/xasy.py (88%) mode change 100755 => 100644 rename GUI/{ => xasygui}/xasy2asy.py (99%) rename GUI/{ => xasygui}/xasyArgs.py (91%) rename GUI/{ => xasygui}/xasyBezierInterface.py (98%) rename GUI/{ => xasygui}/xasyFile.py (99%) rename GUI/{ => xasygui}/xasyOptions.py (100%) rename GUI/{ => xasygui}/xasyStrings.py (100%) rename GUI/{ => xasygui}/xasySvg.py (100%) rename GUI/{ => xasygui}/xasyTransform.py (97%) rename GUI/{ => xasygui}/xasyUtils.py (100%) rename GUI/{ => xasygui}/xasyValidator.py (100%) diff --git a/GUI/ContextWindow.py b/GUI/xasygui/ContextWindow.py similarity index 97% rename from GUI/ContextWindow.py rename to GUI/xasygui/ContextWindow.py index 530447268..64d02e92c 100644 --- a/GUI/ContextWindow.py +++ b/GUI/xasygui/ContextWindow.py @@ -3,25 +3,8 @@ import PyQt5.QtWidgets as Qw import PyQt5.QtGui as Qg import PyQt5.QtCore as Qc -import xasyVersion - -import xasyUtils as xu -import xasy2asy as x2a -import xasyFile as xf -import xasyOptions as xo -import UndoRedoStack as Urs -import xasyArgs as xa -import xasyBezierInterface as xbi -from xasyTransform import xasyTransform as xT -import xasyStrings as xs - -import PrimitiveShape -import InplaceAddObj - -import CustMatTransform -import SetCustomAnchor -import GuidesManager -import time +from . import xasy2asy as x2a +from .xasyTransform import xasyTransform as xT class AnotherWindow(Qw.QWidget): def __init__(self, shape, parent): diff --git a/GUI/CustMatTransform.py b/GUI/xasygui/CustMatTransform.py similarity index 97% rename from GUI/CustMatTransform.py rename to GUI/xasygui/CustMatTransform.py index 0a66807d3..8451950f0 100644 --- a/GUI/CustMatTransform.py +++ b/GUI/xasygui/CustMatTransform.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 -import PyQt5.QtWidgets as QtWidgets -import PyQt5.QtGui as QtGui import PyQt5.QtCore as QtCore +import PyQt5.QtGui as QtGui +import PyQt5.QtWidgets as QtWidgets import numpy as numpy -import xasy2asy as xasy2asy -from pyUIClass.custMatTransform import Ui_Dialog + +from xasyqtui.custMatTransform import Ui_Dialog +from . import xasy2asy class CustMatTransform(QtWidgets.QDialog): diff --git a/GUI/DebugFlags.py b/GUI/xasygui/DebugFlags.py similarity index 100% rename from GUI/DebugFlags.py rename to GUI/xasygui/DebugFlags.py diff --git a/GUI/GuidesManager.py b/GUI/xasygui/GuidesManager.py similarity index 100% rename from GUI/GuidesManager.py rename to GUI/xasygui/GuidesManager.py diff --git a/GUI/InplaceAddObj.py b/GUI/xasygui/InplaceAddObj.py similarity index 99% rename from GUI/InplaceAddObj.py rename to GUI/xasygui/InplaceAddObj.py index 9bacd5f51..16f1b474f 100644 --- a/GUI/InplaceAddObj.py +++ b/GUI/xasygui/InplaceAddObj.py @@ -1,14 +1,10 @@ #!/usr/bin/env python3 +import math import PyQt5.QtCore as QtCore import PyQt5.QtGui as QtGui -import xasy2asy as xasy2asy - -import PrimitiveShape -import math -import Widg_addPolyOpt -import Widg_addLabel +from . import PrimitiveShape, Widg_addLabel, Widg_addPolyOpt, xasy2asy as xasy2asy class InplaceObjProcess(QtCore.QObject): diff --git a/GUI/PrimitiveShape.py b/GUI/xasygui/PrimitiveShape.py similarity index 98% rename from GUI/PrimitiveShape.py rename to GUI/xasygui/PrimitiveShape.py index bbb241486..7751a3c9f 100644 --- a/GUI/PrimitiveShape.py +++ b/GUI/xasygui/PrimitiveShape.py @@ -1,10 +1,12 @@ #!/usr/bin/env python3 -import xasy2asy as xasy2asy -import numpy as numpy import math + import PyQt5.QtCore as QtCore import PyQt5.QtGui as QtGui +import numpy as numpy + +from . import xasy2asy class PrimitiveShape: diff --git a/GUI/SetCustomAnchor.py b/GUI/xasygui/SetCustomAnchor.py similarity index 96% rename from GUI/SetCustomAnchor.py rename to GUI/xasygui/SetCustomAnchor.py index e4414fecc..647eedc49 100644 --- a/GUI/SetCustomAnchor.py +++ b/GUI/xasygui/SetCustomAnchor.py @@ -3,7 +3,7 @@ import PyQt5.QtWidgets as QtWidgets import PyQt5.QtGui as QtGui import PyQt5.QtCore as QtCore -from pyUIClass.setCustomAnchor import Ui_Dialog +from xasyqtui.setCustomAnchor import Ui_Dialog class CustomAnchorDialog(QtWidgets.QDialog): diff --git a/GUI/UndoRedoStack.py b/GUI/xasygui/UndoRedoStack.py similarity index 100% rename from GUI/UndoRedoStack.py rename to GUI/xasygui/UndoRedoStack.py diff --git a/GUI/Widg_addLabel.py b/GUI/xasygui/Widg_addLabel.py similarity index 97% rename from GUI/Widg_addLabel.py rename to GUI/xasygui/Widg_addLabel.py index a5a650350..e341171d8 100644 --- a/GUI/Widg_addLabel.py +++ b/GUI/xasygui/Widg_addLabel.py @@ -1,11 +1,9 @@ #!/usr/bin/env python3 - -from pyUIClass.widg_addLabel import Ui_Form -import PyQt5.QtWidgets as QtWidgets import PyQt5.QtGui as QtGui +import PyQt5.QtWidgets as QtWidgets -import labelEditor -import xasyUtils as xu +from xasyqtui.widg_addLabel import Ui_Form +from . import labelEditor, xasyUtils as xu class Widg_addLabel(QtWidgets.QWidget): diff --git a/GUI/Widg_addPolyOpt.py b/GUI/xasygui/Widg_addPolyOpt.py similarity index 93% rename from GUI/Widg_addPolyOpt.py rename to GUI/xasygui/Widg_addPolyOpt.py index 3d1e419d8..d9e58810c 100644 --- a/GUI/Widg_addPolyOpt.py +++ b/GUI/xasygui/Widg_addPolyOpt.py @@ -1,10 +1,10 @@ #!/usr/bin/env python3 -from pyUIClass.widg_addPolyOpt import Ui_Form -import PyQt5.QtWidgets as QtWidgets + import PyQt5.QtGui as QtGui +import PyQt5.QtWidgets as QtWidgets -import sys +from xasyqtui.widg_addPolyOpt import Ui_Form class Widg_addPolyOpt(QtWidgets.QWidget): diff --git a/GUI/Widg_editBezier.py b/GUI/xasygui/Widg_editBezier.py similarity index 97% rename from GUI/Widg_editBezier.py rename to GUI/xasygui/Widg_editBezier.py index 161715e0f..fe6c6e349 100644 --- a/GUI/Widg_editBezier.py +++ b/GUI/xasygui/Widg_editBezier.py @@ -1,10 +1,12 @@ #!/usr/bin/env python3 -from pyUIClass.widg_editBezier import Ui_Form import PyQt5.QtWidgets as QtWidgets import PyQt5.QtCore as QtCore +from xasyqtui.widg_editBezier import Ui_Form + + class LockMode: noLock = 0 angleLock = 1 diff --git a/GUI/Window1.py b/GUI/xasygui/Window1.py similarity index 99% rename from GUI/Window1.py rename to GUI/xasygui/Window1.py index 1e65b2359..fb1bca532 100644 --- a/GUI/Window1.py +++ b/GUI/xasygui/Window1.py @@ -1,42 +1,36 @@ #!/usr/bin/env python3 -from pyUIClass.window1 import Ui_MainWindow - -import PyQt5.QtWidgets as Qw -import PyQt5.QtGui as Qg -import PyQt5.QtCore as Qc -import xasyVersion - -import numpy as np -import os -import json +import atexit +import datetime import io -import pathlib -import webbrowser +import os +import pickle +import string import subprocess import tempfile -import datetime -import string -import atexit -import pickle - -import xasyUtils as xu -import xasy2asy as x2a -import xasyFile as xf -import xasyOptions as xo -import UndoRedoStack as Urs -import xasyArgs as xa -import xasyBezierInterface as xbi -from xasyTransform import xasyTransform as xT -import xasyStrings as xs +import webbrowser -import PrimitiveShape -import InplaceAddObj -import ContextWindow +import PyQt5.QtCore as Qc +import PyQt5.QtGui as Qg +import PyQt5.QtWidgets as Qw +import numpy as np -import CustMatTransform -import SetCustomAnchor -import GuidesManager +from xasyqtui.window1 import Ui_MainWindow +from xasyversion.version import VERSION +from . import ( + ContextWindow, + CustMatTransform, + InplaceAddObj, + UndoRedoStack as Urs, + xasy2asy as x2a, + xasyArgs as xa, + xasyBezierInterface as xbi, + xasyFile as xf, + xasyOptions as xo, + xasyStrings as xs, + xasyUtils as xu, + xasyTransform as xT +) class ActionChanges: @@ -936,7 +930,7 @@ def actionManual(self): webbrowser.open_new(asyManualURL) def actionAbout(self): - Qw.QMessageBox.about(self,"xasy","This is xasy "+xasyVersion.xasyVersion+"; a graphical front end to the Asymptote vector graphics language: https://asymptote.sourceforge.io/") + Qw.QMessageBox.about(self,"xasy","This is xasy "+VERSION+"; a graphical front end to the Asymptote vector graphics language: https://asymptote.sourceforge.io/") def actionExport(self, pathToFile): asyFile = io.open(os.path.realpath(pathToFile), 'w') diff --git a/GUI/__init__.py b/GUI/xasygui/__init__.py similarity index 100% rename from GUI/__init__.py rename to GUI/xasygui/__init__.py diff --git a/GUI/labelEditor.py b/GUI/xasygui/labelEditor.py similarity index 96% rename from GUI/labelEditor.py rename to GUI/xasygui/labelEditor.py index 7da1c5f90..aa0da1f57 100644 --- a/GUI/labelEditor.py +++ b/GUI/xasygui/labelEditor.py @@ -1,19 +1,16 @@ #!/usr/bin/env python3 - -from pyUIClass.labelTextEditor import Ui_Dialog -import PyQt5.QtWidgets as QtWidgets -import PyQt5.QtSvg as QtSvg -import PyQt5.QtGui as QtGui -import PyQt5.QtCore as QtCore -import xasyArgs as xasyArgs -import xasy2asy as xasy2asy -import xasyOptions as xasyOptions -import xasyUtils as xasyUtils +import os import subprocess import tempfile import uuid -import os -import io + +import PyQt5.QtCore as QtCore +import PyQt5.QtGui as QtGui +import PyQt5.QtSvg as QtSvg +import PyQt5.QtWidgets as QtWidgets + +from xasyqtui.labelTextEditor import Ui_Dialog +from . import xasyArgs, xasyUtils class labelEditor(QtWidgets.QDialog): diff --git a/GUI/xasy.py b/GUI/xasygui/xasy.py old mode 100755 new mode 100644 similarity index 88% rename from GUI/xasy.py rename to GUI/xasygui/xasy.py index a078690b6..6409107f3 --- a/GUI/xasy.py +++ b/GUI/xasygui/xasy.py @@ -1,9 +1,14 @@ #!/usr/bin/env python3 -import sys, signal, os -import PyQt5.QtWidgets as QtWidgets +import os +import signal +import sys + import PyQt5.QtCore as QtCore -from Window1 import MainWindow1 +import PyQt5.QtWidgets as QtWidgets + +from .Window1 import MainWindow1 + def main(args): os.environ["QT_LOGGING_RULES"]="*.debug=false;qt.qpa.*=false" diff --git a/GUI/xasy2asy.py b/GUI/xasygui/xasy2asy.py similarity index 99% rename from GUI/xasy2asy.py rename to GUI/xasygui/xasy2asy.py index 25c75b2ec..a16459ddd 100644 --- a/GUI/xasy2asy.py +++ b/GUI/xasygui/xasy2asy.py @@ -9,32 +9,32 @@ # ########################################################################### -import PyQt5.QtWidgets as QtWidgets -import PyQt5.QtGui as QtGui -import PyQt5.QtCore as QtCore -import PyQt5.QtSvg as QtSvg - -import numpy as numpy - -import sys +import atexit +import copy +import io import os -import signal -import threading +import queue +import re +import shutil import string import subprocess +import sys import tempfile -import re -import shutil -import copy -import queue -import io -import atexit -import DebugFlags +import threading + +import PyQt5.QtCore as QtCore +import PyQt5.QtGui as QtGui +import PyQt5.QtSvg as QtSvg +import numpy as numpy + +from . import ( + xasyUtils as xu, + xasyArgs as xa, + xasyOptions as xo, + xasySvg as xs, + DebugFlags +) -import xasyUtils as xu -import xasyArgs as xa -import xasyOptions as xo -import xasySvg as xs class AsymptoteEngine: """ diff --git a/GUI/xasyArgs.py b/GUI/xasygui/xasyArgs.py similarity index 91% rename from GUI/xasyArgs.py rename to GUI/xasygui/xasyArgs.py index b9e1518f1..7e281eb38 100644 --- a/GUI/xasyArgs.py +++ b/GUI/xasygui/xasyArgs.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import argparse -import xasyVersion import PyQt5.QtCore as QtCore +from xasyversion.version import VERSION # Add arguments here. @@ -11,7 +11,7 @@ def parseArgs(args): help='Custom path to asy executable') parser.add_argument('-v', '-version', '--version', help='Version number', action='version', - version='xasy v{0}'.format(xasyVersion.xasyVersion)) + version='xasy v{0}'.format(VERSION)) parser.add_argument('-l', '-language', '--language', help='language') parser.add_argument('-x', '-mag', '--mag', diff --git a/GUI/xasyBezierInterface.py b/GUI/xasygui/xasyBezierInterface.py similarity index 98% rename from GUI/xasyBezierInterface.py rename to GUI/xasygui/xasyBezierInterface.py index abe8d9b0e..d43a76914 100644 --- a/GUI/xasyBezierInterface.py +++ b/GUI/xasygui/xasyBezierInterface.py @@ -1,15 +1,11 @@ #!/usr/bin/env python3 +import math - -import PyQt5.QtWidgets as QtWidgets import PyQt5.QtCore as QtCore import PyQt5.QtGui as QtGui -import xasy2asy as xasy2asy -import xasyUtils as xasyUtils -import Widg_editBezier as Web -import InplaceAddObj -import math +from . import xasy2asy, xasyUtils, InplaceAddObj, Widg_editBezier as Web + class CurrentlySelctedType: none = -1 diff --git a/GUI/xasyFile.py b/GUI/xasygui/xasyFile.py similarity index 99% rename from GUI/xasyFile.py rename to GUI/xasygui/xasyFile.py index e980a3c18..1713edc51 100644 --- a/GUI/xasyFile.py +++ b/GUI/xasygui/xasyFile.py @@ -10,9 +10,9 @@ ############################################################################ from string import * -import xasy2asy as xasy2asy import io import re +from . import xasy2asy class xasyParseError(Exception): diff --git a/GUI/xasyOptions.py b/GUI/xasygui/xasyOptions.py similarity index 100% rename from GUI/xasyOptions.py rename to GUI/xasygui/xasyOptions.py diff --git a/GUI/xasyStrings.py b/GUI/xasygui/xasyStrings.py similarity index 100% rename from GUI/xasyStrings.py rename to GUI/xasygui/xasyStrings.py diff --git a/GUI/xasySvg.py b/GUI/xasygui/xasySvg.py similarity index 100% rename from GUI/xasySvg.py rename to GUI/xasygui/xasySvg.py diff --git a/GUI/xasyTransform.py b/GUI/xasygui/xasyTransform.py similarity index 97% rename from GUI/xasyTransform.py rename to GUI/xasygui/xasyTransform.py index cb70bf1ed..2d8d039ba 100644 --- a/GUI/xasyTransform.py +++ b/GUI/xasygui/xasyTransform.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 -import xasy2asy as xasy2asy import PyQt5.QtGui as QtGui import PyQt5.QtCore as QtCore import numpy as numpy import math +from . import xasy2asy class xasyTransform: @@ -21,4 +21,3 @@ def makeScaleTransform(cls, sx, sy, origin): origin = (origin.x(), origin.y()) shiftMat = xasy2asy.asyTransform((0, 0, 1 - sx, 0, 0, 1 - sy)) * origin return xasy2asy.asyTransform((shiftMat[0], shiftMat[1], sx, 0, 0, sy)) - diff --git a/GUI/xasyUtils.py b/GUI/xasygui/xasyUtils.py similarity index 100% rename from GUI/xasyUtils.py rename to GUI/xasygui/xasyUtils.py diff --git a/GUI/xasyValidator.py b/GUI/xasygui/xasyValidator.py similarity index 100% rename from GUI/xasyValidator.py rename to GUI/xasygui/xasyValidator.py