OLD | NEW |
(Empty) | |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 """Package entry-point.""" |
| 6 |
| 7 import argparse |
| 8 |
| 9 import netifaces |
| 10 from tornado import ioloop |
| 11 |
| 12 import linux_gadgetfs |
| 13 import server |
| 14 |
| 15 |
| 16 def ParseArgs(): |
| 17 """Parse application arguments.""" |
| 18 parser = argparse.ArgumentParser(description='USB gadget server.') |
| 19 parser.add_argument( |
| 20 '-i', '--interface', default='lo', |
| 21 help='Listen for HTTP connections on this interface.') |
| 22 parser.add_argument( |
| 23 '-p', '--port', default=8080, |
| 24 help='Listen for HTTP connections on this port.') |
| 25 parser.add_argument( |
| 26 '--hardware', default='beaglebone-black', |
| 27 help='Hardware configuration.') |
| 28 return parser.parse_args() |
| 29 |
| 30 |
| 31 def main(): |
| 32 args = ParseArgs() |
| 33 |
| 34 server.interface = args.interface |
| 35 server.port = args.port |
| 36 server.hardware = args.hardware |
| 37 |
| 38 addrs = netifaces.ifaddresses(server.interface) |
| 39 ip_address = addrs[netifaces.AF_INET][0]['addr'] |
| 40 server.address = '{}:{}'.format(ip_address, server.port) |
| 41 |
| 42 server.chip = linux_gadgetfs.LinuxGadgetfs(server.hardware) |
| 43 server.SwitchGadget(server.default) |
| 44 |
| 45 server.http_server.listen(server.port) |
| 46 |
| 47 ioloop.IOLoop.instance().start() |
| 48 print 'Exiting...' |
| 49 |
| 50 |
| 51 if __name__ == '__main__': |
| 52 main() |
OLD | NEW |