MCPcopy Create free account
hub / github.com/Bitmessage/PyBitmessage / HandleAddSubscription

Method HandleAddSubscription

src/api.py:789–815  ·  view source on GitHub ↗
(self, params)

Source from the content-addressed store, hash-verified

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:

Callers

nothing calls this directly

Calls 7

_decodeMethod · 0.95
_verifyAddressMethod · 0.95
addBMIfNotPresentFunction · 0.90
sqlQueryFunction · 0.90
sqlExecuteFunction · 0.90
APIErrorClass · 0.85
putMethod · 0.80

Tested by

no test coverage detected