Changeset 6:8dd4ca9966d0 in xplra for misc


Ignore:
Timestamp:
01/03/13 19:09:46 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Made all the single query operation work for all types

Location:
misc
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • misc/client.py

    • Property exe set to *
    r3 r6  
    11#!/usr/bin/env python
    22
     3import sys
    34import cmd
    45import struct
     
    4243        self.use_rawinput = True
    4344        self.intro = "\nX-Plane Remote Access plugin command prompt\n"
    44         self.prompt = "XPLRA>"
     45        self.prompt = "XPLRA> "
    4546
    4647        self.daemon = True
     
    5051        if line=="EOF":
    5152            print
    52             return self.do_quit("")
     53            return True
    5354        else:
    5455            return super(CLI, self).default(line)
     
    5859        words = args.split()
    5960        if len(words)<2:
    60             print >> sys.stderr, "missing parameters"
     61            print >> sys.stderr, "Missing parameters"
    6162            return False
    6263
     
    6566        type = words[1]
    6667        if type not in self._types:
    67             print >> sys.stderr, "invalid type"
     68            print >> sys.stderr, "Invalid type"
    6869            return False
    6970
    7071        length = None
    71         if len(words)>2:
     72        offset = None
     73        if len(words)>3:
    7274            length = int(words[2])
     75            offset = int(words[3])
    7376
    7477        self._writeU8(0x01)
     
    7780        if length is not None:
    7881            self._writeS32(length)
     82            self._writeS32(offset)
    7983        self._flush()
    8084
    8185        result = self._readU8()
    82         print "result:", result
    8386        if result==0:
     87            value = None
    8488            if type=="i":
    8589                value = self._readS32()
     
    9296                if length>0:
    9397                    value = [self._readFloat() for i in range(0, length)]
    94                 else:
    95                     value = None
    9698            elif type=="ia":
    9799                length = self._readS32()
    98100                if length>0:
    99101                    value = [self._readS32() for i in range(0, length)]
    100                 else:
    101                     value = None
    102102            elif type=="ba":
    103103                length = self._readS32()
     
    108108                        if b==0: break
    109109                        value += chr(b)
    110                 else:
    111                     value = None
     110                    #value = bytes
    112111
    113             print "value:", value, len(value)
     112            print value
     113        else:
     114            print "Result code:", result
    114115
    115116    def _writeU8(self, x):
Note: See TracChangeset for help on using the changeset viewer.