ProjectDjango/Project.py

changeset 4
81c2943be6b6
parent 3
fbae2b012fac
child 5
96a317de4626
diff -r fbae2b012fac -r 81c2943be6b6 ProjectDjango/Project.py
--- a/ProjectDjango/Project.py	Sun Mar 24 13:26:59 2013 +0100
+++ b/ProjectDjango/Project.py	Sun Mar 24 14:39:36 2013 +0100
@@ -1165,6 +1165,8 @@
             args.append(self.__getPythonExecutable())
             args.append("manage.py")
             args.append("runserver")
+            if self.__plugin.getPreferences("UseIPv6"):
+                args.append("--ipv6")
             addr = self.__plugin.getPreferences("ServerAddress")
             if addr:
                 args.append(addr)
@@ -1205,14 +1207,26 @@
         Private slot to start the default web browser with the server URL.
         """
         addr = self.__plugin.getPreferences("ServerAddress")
+        ipv6 = self.__plugin.getPreferences("UseIPv6")
         if addr:
-            if ':' in addr:
-                port = addr.split(':')[1]
+            # test for an IPv6 and port address
+            if ']:' in addr:
+                addr, port = addr.rsplit(':', 1)
+            elif ':' in addr:
+                addr, port = addr.split(':', 1)
             else:
                 port = addr
+                if ipv6:
+                    addr = "[::1]"
+                else:
+                    addr = "127.0.0.1"
         else:
             port = "8000"
-        url = QUrl("http://127.0.0.1:{0}".format(port))
+            if ipv6:
+                addr = "[::1]"
+            else:
+                addr = "127.0.0.1"
+        url = QUrl("http://{0}:{1}".format(addr, port))
         res = QDesktopServices.openUrl(url)
         if not res:
             E5MessageBox.critical(None,
@@ -1644,6 +1658,8 @@
                 args.append(self.__getPythonExecutable())
                 args.append("manage.py")
                 args.append("testserver")
+                if self.__plugin.getPreferences("UseIPv6"):
+                    args.append("--ipv6")
                 addr = self.__plugin.getPreferences("ServerAddress")
                 if addr:
                     args.append("--addrport=%s" % addr)

eric ide

mercurial