diff --git a/jupyter_micropython_kernel/kernel.py b/jupyter_micropython_kernel/kernel.py index 58d6eea..449cabc 100644 --- a/jupyter_micropython_kernel/kernel.py +++ b/jupyter_micropython_kernel/kernel.py @@ -157,19 +157,22 @@ def interpretpercentline(self, percentline, cellcontents): apargs = parseap(ap_serialconnect, percentstringargs[1:]) self.dc.disconnect(apargs.verbose) - self.dc.serialconnect(apargs.port, apargs.baud, apargs.verbose) - if self.dc.workingserial: - if not apargs.raw: - if self.dc.enterpastemode(verbose=apargs.verbose): - self.sresSYS("Ready.\n") - else: - self.sres("Disconnecting [paste mode not working]\n", 31) - self.dc.disconnect(verbose=apargs.verbose) - self.sresSYS(" (You may need to reset the device)") - cellcontents = "" - else: - cellcontents = "" - return cellcontents.strip() and cellcontents or None + try: + apargs.port = int(apargs.port) + finally: + self.dc.serialconnect(apargs.port, apargs.baud, apargs.verbose) + if self.dc.workingserial: + if not apargs.raw: + if self.dc.enterpastemode(verbose=apargs.verbose): + self.sresSYS("Ready.\n") + else: + self.sres("Disconnecting [paste mode not working]\n", 31) + self.dc.disconnect(verbose=apargs.verbose) + self.sresSYS(" (You may need to reset the device)") + cellcontents = "" + else: + cellcontents = "" + return cellcontents.strip() and cellcontents or None if percentcommand == ap_websocketconnect.prog: apargs = parseap(ap_websocketconnect, percentstringargs[1:]) @@ -215,7 +218,10 @@ def interpretpercentline(self, percentline, cellcontents): if percentcommand == ap_esptool.prog: apargs = parseap(ap_esptool, percentstringargs[1:]) if apargs and (apargs.espcommand == "erase" or apargs.binfile): - self.dc.esptool(apargs.espcommand, apargs.port, apargs.binfile) + try: + apargs.port = int(apargs.port) + finally: + self.dc.esptool(apargs.espcommand, apargs.port, apargs.binfile) else: self.sres(ap_esptool.format_help()) self.sres("Please download the bin file from https://micropython.org/download/#{}".format(apargs.espcommand if apargs else "")) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..4ad7116 --- /dev/null +++ b/setup.py @@ -0,0 +1,13 @@ +from setuptools import setup + +setup(name='jupyter_micropython_kernel', + version='0.1.3', + description='Jupyter notebook kernel for operating Micropython.', + author='Julian Todd, Tony DiCola', + author_email='julian@goatchurch.org.uk', + keywords='jupyter micropython', + url='https://github.com/goatchurchprime/jupyter_micropython_kernel', + license='GPL3', + packages=['jupyter_micropython_kernel'], + install_requires=['pyserial>=3.4', 'websocket-client>=0.44'] +)