(self, params)
| 787 | return status |
| 788 | |
| 789 | def HandleAddSubscription(self, params): |
| 790 | if len(params) == 0: |
| 791 | raise APIError(0, 'I need parameters!') |
| 792 | if len(params) == 1: |
| 793 | address, = params |
| 794 | label = '' |
| 795 | if len(params) == 2: |
| 796 | address, label = params |
| 797 | label = self._decode(label, "base64") |
| 798 | try: |
| 799 | unicode(label, 'utf-8') |
| 800 | except: |
| 801 | raise APIError(17, 'Label is not valid UTF-8 data.') |
| 802 | if len(params) > 2: |
| 803 | raise APIError(0, 'I need either 1 or 2 parameters!') |
| 804 | address = addBMIfNotPresent(address) |
| 805 | self._verifyAddress(address) |
| 806 | # First we must check to see if the address is already in the |
| 807 | # subscriptions list. |
| 808 | queryreturn = sqlQuery('''select * from subscriptions where address=?''', address) |
| 809 | if queryreturn != []: |
| 810 | raise APIError(16, 'You are already subscribed to that address.') |
| 811 | sqlExecute('''INSERT INTO subscriptions VALUES (?,?,?)''',label, address, True) |
| 812 | shared.reloadBroadcastSendersForWhichImWatching() |
| 813 | queues.UISignalQueue.put(('rerenderMessagelistFromLabels', '')) |
| 814 | queues.UISignalQueue.put(('rerenderSubscriptions', '')) |
| 815 | return 'Added subscription.' |
| 816 | |
| 817 | def HandleDeleteSubscription(self, params): |
| 818 | if len(params) != 1: |
nothing calls this directly
no test coverage detected