Forráskód Böngészése

Fix up CBD imports.

Bentley James Oakes 7 éve
szülő
commit
5c06a88a1f
1 módosított fájl, 41 hozzáadás és 28 törlés
  1. 41 28
      interface/CBD/main.py

+ 41 - 28
interface/CBD/main.py

@@ -4,12 +4,25 @@ from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
 from matplotlib.figure import Figure
 
 
-from Tkinter import *
+try:
+    from Tkinter import *
+    import tkSimpleDialog
+except ImportError:
+    from tkinter import *
+    import tkinter.simpledialog as tkSimpleDialog
+
 from PIL import Image, ImageTk
-import tkSimpleDialog
 
-import urllib
-import urllib2
+
+if sys.version_info[0] < 3:
+    from urllib2 import urlopen as urlopen
+    from urllib2 import Request as Request
+    from urllib import urlencode as urlencode
+else:
+    from urllib.request.urlopen import urlopen as urlopen
+    from urllib.request.Request import Request as Request
+    from urllib.parse.urlencode import urlencode as urlencode
+    
 import json
 
 import time
@@ -72,7 +85,7 @@ def poll(address):
     working_simulation = None
 
     while 1:
-        returnvalue = json.loads(urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "get_output", "taskname": taskname}))).read())
+        returnvalue = json.loads(urlopen(Request(address, urlencode({"op": "get_output", "taskname": taskname}))).read())
         print("Process " + str(returnvalue))
         if (returnvalue.startswith("AVAILABLE_ATTR_VALUE")):
             working_available_attrs.append([json.loads(returnvalue.split(" ", 1)[1]), None])
@@ -110,58 +123,58 @@ class MvLayer():
         import threading
 
         self.address = address
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % taskname, "taskname": "task_manager"}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % taskname, "taskname": "task_manager"}))).read()
         thrd = threading.Thread(target=poll, args=[address])
         thrd.daemon = True
         thrd.start()
 
     def read_available_attributes(self, name):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"read_available_attributes"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"read_available_attributes"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
 
         while not available_attrs:
             time.sleep(0.1)
         return available_attrs.pop(0)
 
     def read_attribute(self, name, attr):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"read_attribute"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % attr, "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"read_attribute"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % attr, "taskname": taskname}))).read()
 
         while not attribute:
             time.sleep(0.1)
         return attribute.pop(0)
 
     def set_attribute(self, name, attr, value):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"set_attribute"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % attr, "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": json.dumps(value), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"set_attribute"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % name, "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % attr, "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": json.dumps(value), "taskname": taskname}))).read()
 
     def instantiate_block(self, name, block_type):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"instantiate_node"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (block_type), "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (name), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"instantiate_node"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (block_type), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (name), "taskname": taskname}))).read()
 
     def instantiate_link(self, name, link_type, source, target):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"instantiate_association"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (link_type), "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (name), "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (source), "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (target), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"instantiate_association"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (link_type), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (name), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (source), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (target), "taskname": taskname}))).read()
 
     def simulate(self):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"simulate"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"simulate"', "taskname": taskname}))).read()
 
     def step(self):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"step"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"step"', "taskname": taskname}))).read()
 
     def pause(self):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"pause"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"pause"', "taskname": taskname}))).read()
 
     def delete(self, block):
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"delete_element"', "taskname": taskname}))).read()
-        urllib2.urlopen(urllib2.Request(address, urllib.urlencode({"op": "set_input", "value": '"%s"' % (block), "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"delete_element"', "taskname": taskname}))).read()
+        urlopen(Request(address, urlencode({"op": "set_input", "value": '"%s"' % (block), "taskname": taskname}))).read()
 
 def lower(value):
     return value / JUMP * JUMP