src/eric7/MicroPython/MicroPythonWidget.py

branch
mpy_network
changeset 9979
dbafba79461d
parent 9972
68ac01294544
child 9990
54c614d91eff
equal deleted inserted replaced
9978:f878ae1e6d21 9979:dbafba79461d
1481 self.__superMenu.clear() 1481 self.__superMenu.clear()
1482 1482
1483 if self.__device: 1483 if self.__device:
1484 hasMip = self.__device.getDeviceData("mip") 1484 hasMip = self.__device.getDeviceData("mip")
1485 hasUPip = self.__device.getDeviceData("upip") 1485 hasUPip = self.__device.getDeviceData("upip")
1486 useLocalMip = self.__device.getDeviceData("local_mip")
1486 else: 1487 else:
1487 hasMip = False 1488 hasMip = False
1488 hasUPip = False 1489 hasUPip = False
1490 useLocalMip = False
1489 1491
1490 # prepare the download menu 1492 # prepare the download menu
1491 if self.__device: 1493 if self.__device:
1492 menuEntries = self.__device.getDownloadMenuEntries() 1494 menuEntries = self.__device.getDownloadMenuEntries()
1493 if menuEntries: 1495 if menuEntries:
1568 self.tr("Install Package"), lambda: self.__installPackage("mip") 1570 self.tr("Install Package"), lambda: self.__installPackage("mip")
1569 ).setEnabled(self.__connected) 1571 ).setEnabled(self.__connected)
1570 elif hasUPip: 1572 elif hasUPip:
1571 self.__superMenu.addAction( 1573 self.__superMenu.addAction(
1572 self.tr("Install Packages"), lambda: self.__installPackage("upip") 1574 self.tr("Install Packages"), lambda: self.__installPackage("upip")
1575 ).setEnabled(self.__connected)
1576 elif useLocalMip:
1577 self.__superMenu.addAction(
1578 self.tr("Install Package"), lambda: self.__installPackage("local_mip")
1573 ).setEnabled(self.__connected) 1579 ).setEnabled(self.__connected)
1574 self.__superMenu.addSeparator() 1580 self.__superMenu.addSeparator()
1575 if not OSUtilities.isWindowsPlatform(): 1581 if not OSUtilities.isWindowsPlatform():
1576 available = self.__mpyCrossAvailable() 1582 available = self.__mpyCrossAvailable()
1577 self.__superMenu.addAction( 1583 self.__superMenu.addAction(
2123 @param method package management method to be used (one of 'upip' or 'mip') 2129 @param method package management method to be used (one of 'upip' or 'mip')
2124 @type str 2130 @type str
2125 @exception ValueError raised to indicate an unsupported package management 2131 @exception ValueError raised to indicate an unsupported package management
2126 method 2132 method
2127 """ 2133 """
2134 from .MipLocalInstaller import MipLocalInstaller
2128 from .MipPackageDialog import MipPackageDialog 2135 from .MipPackageDialog import MipPackageDialog
2129 2136
2130 if method not in ("mip", "upip"): 2137 if method not in ("local_mip", "mip", "upip"):
2131 raise ValueError( 2138 raise ValueError(
2132 "Unsupported method given. Expected 'mip' or 'upip' but got {0}." 2139 "Unsupported method given. Expected 'local_mip', 'mip' or 'upip' but"
2140 " got {0}."
2133 ).format(method) 2141 ).format(method)
2134 2142
2135 if method == "mip": 2143 if method in ("local_mip", "mip"):
2136 title = self.tr("Install Package") 2144 title = self.tr("Install Package")
2137 dlg = MipPackageDialog(self) 2145 dlg = MipPackageDialog(self)
2138 if dlg.exec() == QDialog.DialogCode.Accepted: 2146 if dlg.exec() == QDialog.DialogCode.Accepted:
2139 package, version, mpy = dlg.getData() 2147 package, version, mpy, target, index = dlg.getData()
2140 with EricOverrideCursor(): 2148 if method == "mip":
2141 out, err = self.__device.mipInstall(package, version, mpy) 2149 with EricOverrideCursor():
2150 out, err = self.__device.mipInstall(
2151 package,
2152 index=index,
2153 target=target,
2154 version=version,
2155 mpy=mpy,
2156 )
2157 else:
2158 installer = MipLocalInstaller(self.__device)
2159 with EricOverrideCursor():
2160 ok = installer.installPackage(
2161 package,
2162 index=index,
2163 target=target,
2164 version=version,
2165 mpy=mpy,
2166 )
2167 if ok:
2168 out = (
2169 self.tr("Package '{0}' was installed successfully.")
2170 .format(package)
2171 .encode("utf-8")
2172 )
2173 err = b""
2174 else:
2175 out = b""
2176 err = installer.errorString().encode("utf-8")
2142 else: 2177 else:
2143 return 2178 return
2144 elif method == "upip": 2179 elif method == "upip":
2145 title = self.tr("Install Packages") 2180 title = self.tr("Install Packages")
2146 packagesStr, ok = QInputDialog.getText( 2181 packagesStr, ok = QInputDialog.getText(

eric ide

mercurial