Changeset 7613670 for skype/skyped.py


Ignore:
Timestamp:
2007-09-03T22:22:55Z (14 years ago)
Author:
VMiklos <vmiklos@…>
Branches:
master
Children:
dab0f8a
Parents:
02a531b
Message:

handle the case when the input is a multiline message

File:
1 edited

Legend:

Unmodified
Added
Removed
  • skype/skyped.py

    r02a531b r7613670  
    5353        for i in input.split("\n"):
    5454                if i:
    55                         fd.send((skype.send(i.strip()) + "\n").encode(locale.getdefaultlocale()[1]))
     55                        for j in skype.send(i.strip()):
     56                                fd.send((j + "\n").encode(locale.getdefaultlocale()[1]))
    5657        return True
    5758
     
    8586
    8687                reply = self.send('NAME ' + CLIENT_NAME)
    87                 if reply != 'OK':
     88                if reply[0] != 'OK':
    8889                        sys.exit('Could not bind to Skype client')
    8990
     
    117118                                        pass
    118119                                mainloop.quit()
    119                 dprint('<< ' + reply)
     120                if "\n" in reply:
     121                        # crappy skype prefixes only the first line for
     122                        # multiline messages so we need to do so for the other
     123                        # lines, too. this is something like:
     124                        # 'CHATMESSAGE id BODY first line\nsecond line' ->
     125                        # 'CHATMESSAGE id BODY first line\nCHATMESSAGE id BODY second line'
     126                        prefix = " ".join(reply.split(" ")[:3])
     127                        reply = ["%s %s" % (prefix, i) for i in " ".join(reply.split(" ")[3:]).split("\n")]
     128                else:
     129                        reply = [reply]
     130                for i in reply:
     131                        dprint('<< ' + i)
    120132                return reply
    121133
Note: See TracChangeset for help on using the changeset viewer.