diff --git a/demo/ftp_interact.py b/demo/ftp_interact.py index 831929f17b24f46a9e0e0c1e285959d19f0df5e3..990a81c682a41924839aa6bd2738d13e601c0454 100644 --- a/demo/ftp_interact.py +++ b/demo/ftp_interact.py @@ -36,34 +36,29 @@ cmd("cd pub") cmd("cd gnu") cmd("passive") -user_spawn_id = None -try: - user_spawn_id = pcl_expect.user.user(pcl_expect.user.COOKED) - user_spawn_id.send("ftp> ") - buf = "" +user_spawn_id = pcl_expect.user.user() +user_spawn_id.send("ftp> ") +buf = "" - x = pcl_expect.controller() - while x.loop(): - if x.re(user_spawn_id, "..*"): - s = user_spawn_id.match.group() - buf += s - elif x.re(user_spawn_id, "\n"): - if buf == "home": - cmd("cd /pub/gnu/ftp.gnu.org/pub/gnu") - user_spawn_id.send("ftp> ") - else: - ftp.send(buf + "\n") - buf = "" - elif x.eof(user_spawn_id): - user_spawn_id.send("\nGot eof from stdin\n") - break - elif x.re(ftp, "(?s)..*"): - user_spawn_id.send(ftp.match.group()) - elif x.eof(ftp): - user_spawn_id.send("\nGot eof from ftp process\n") - break - elif x.timeout(): - pass -finally: - if user_spawn_id is not None: - user_spawn_id.close() +x = pcl_expect.controller() +while x.loop(): + if x.re(user_spawn_id, "..*"): + s = user_spawn_id.match.group() + buf += s + elif x.re(user_spawn_id, "\n"): + if buf == "home": + cmd("cd /pub/gnu/ftp.gnu.org/pub/gnu") + user_spawn_id.send("ftp> ") + else: + ftp.send(buf + "\n") + buf = "" + elif x.eof(user_spawn_id): + user_spawn_id.send("\nGot eof from stdin\n") + break + elif x.re(ftp, "(?s)..*"): + user_spawn_id.send(ftp.match.group()) + elif x.eof(ftp): + user_spawn_id.send("\nGot eof from ftp process\n") + break + elif x.timeout(): + pass