From 5b5271e98c6d7f0ffea9d6b3fbf2cec43d283d64 Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Tue, 1 Mar 2011 09:10:13 +0800 Subject: Imported nxt-python baseline (v2.1.0) --- nxt-python-fantom/scripts/nxt_push | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 nxt-python-fantom/scripts/nxt_push (limited to 'nxt-python-fantom/scripts/nxt_push') diff --git a/nxt-python-fantom/scripts/nxt_push b/nxt-python-fantom/scripts/nxt_push new file mode 100644 index 0000000..395b38f --- /dev/null +++ b/nxt-python-fantom/scripts/nxt_push @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# +# nxt_push program -- Push a file to a LEGO Mindstorms NXT brick +# Copyright (C) 2006 Douglas P Lau +# Copyright (C) 2010 rhn +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +import sys +import nxt.locator +from nxt.brick import FileWriter +from nxt.error import FileNotFound +from nxt.utils import parse_command_line_arguments + +def _write_file(b, fname, data): + w = FileWriter(b, fname, len(data)) + print 'Pushing %s (%d bytes) ...' % (fname, w.size), + sys.stdout.flush() + w.write(data) + print 'wrote %d bytes' % len(data) + w.close() + +def write_file(b, fname): + f = open(fname) + data = f.read() + f.close() + try: + b.delete(fname) + print 'Overwriting %s on NXT' % fname + except FileNotFound: + pass + _write_file(b, fname, data) + +if __name__ == '__main__': + arguments, keyword_arguments = parse_command_line_arguments(sys.argv) + + brick = nxt.locator.find_one_brick(keyword_arguments['host']) + for filename in arguments: + write_file(brick, filename) -- cgit v1.2.3