You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
7 months ago
|
#!/usr/bin/env python2
|
||
|
# Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
import logging
|
||
|
import sys
|
||
|
import time
|
||
|
|
||
|
import client
|
||
|
import pseudomodem
|
||
|
import pseudomodem_context
|
||
|
|
||
|
def main():
|
||
|
""" Entry function to run pseudomodem standalone. """
|
||
|
pmc = None
|
||
|
flags = sys.argv[1:]
|
||
|
cli_flag = (pseudomodem.CLI_FLAG in flags)
|
||
|
|
||
|
# When run from the command line, override autotest logging defaults.
|
||
|
root = logging.getLogger()
|
||
|
for handler in root.handlers:
|
||
|
root.removeHandler(handler)
|
||
|
logging.basicConfig(
|
||
|
format='%(asctime)s %(levelname)-5.5s|%(module)10.10s:%(lineno)4.4d| '
|
||
|
'%(message)s',
|
||
|
datefmt='%H:%M:%S')
|
||
|
|
||
|
try:
|
||
|
pmc = pseudomodem_context.PseudoModemManagerContext(
|
||
|
True,
|
||
|
block_output=cli_flag)
|
||
|
pmc.cmd_line_flags = flags
|
||
|
pmc.Start()
|
||
|
if cli_flag:
|
||
|
cli = client.PseudoModemClient()
|
||
|
cli.Begin() # Blocking
|
||
|
else:
|
||
|
# Block quietly till user interrupt.
|
||
|
while True:
|
||
|
time.sleep(30)
|
||
|
except KeyboardInterrupt:
|
||
|
print 'Terminating on user request.'
|
||
|
finally:
|
||
|
# This is always hit, even when SIGINT is received.
|
||
|
if pmc:
|
||
|
pmc.Stop()
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|