pybitmessage.api module

This is not what you run to run the Bitmessage API. Instead, enable the API ( https://bitmessage.org/wiki/API ) and optionally enable daemon mode ( https://bitmessage.org/wiki/Daemon ) then run bitmessagemain.py.

exception APIError(error_number, error_message)[source]

Bases: exceptions.Exception

APIError exception class

class MySimpleXMLRPCRequestHandler(request, client_address, server)[source]

Bases: SimpleXMLRPCServer.SimpleXMLRPCRequestHandler

This is one of several classes that constitute the API

This class was written by Vaibhav Bhatia. Modified by Jonathan Warren (Atheros). http://code.activestate.com/recipes/501148-xmlrpc-serverclient-which-does-cookie-handling-and/

APIAuthenticateClient()

Predicate to check for valid API credentials in the request header

HandleAdd(params)

Test two numeric params

HandleAddAddressBookEntry(params)

Handle a request to add an address book entry

HandleAddSubscription(params)

Handle a request to add a subscription

HandleClientStatus(params)

Handle a request to get the status of the client

HandleCreateChan(params)

Handle a request to create a chan

HandleCreateDeterministicAddresses(params)

Handle a request to create a deterministic address

HandleCreateRandomAddress(params)

Handle a request to create a random address

HandleDecodeAddress(params)

Handle a request to decode an address

HandleDeleteAddress(params)

Handle a request to delete an address

HandleDeleteAddressBookEntry(params)

Handle a request to delete an address book entry

HandleDeleteAndVacuum(params)

Handle a request to run the deleteandvacuum stored procedure

HandleDeleteSubscription(params)

Handle a request to delete a subscription

HandleDisseminatePreEncryptedMsg(params)

Handle a request to disseminate an encrypted message

HandleDissimatePubKey(params)

Handle a request to disseminate a public key

HandleGetAllInboxMessageIds(params)

Handle a request to get all inbox message IDs

HandleGetAllInboxMessages(params)

Handle a request to get all inbox messages

HandleGetAllSentMessageIds(params)

Handle a request to get all sent message IDs

HandleGetAllSentMessages(params)

Handle a request to get all sent messages

HandleGetDeterministicAddress(params)

Handle a request to get a deterministic address

HandleGetInboxMessageById(params)

Handle a request to get an inbox messsage by ID

HandleGetMessageDataByDestinationHash(params)

Handle a request to get message data by destination hash

HandleGetSentMessageById(params)

Handle a request to get a sent message by ID

HandleGetSentMessagesByAckData(params)

Handle a request to get sent messages by ack data

HandleGetSentMessagesByAddress(params)

Handle a request to get sent messages by address

HandleGetStatus(params)

Handle a request to get the status of a sent message

HandleHelloWorld(params)

Test two string params

HandleInboxMessagesByReceiver(params)

Handle a request to get inbox messages by receiver

HandleJoinChan(params)

Handle a request to join a chan

HandleLeaveChan(params)

Handle a request to leave a chan

HandleListAddressBookEntries(params)

Handle a request to list address book entries

HandleListAddresses(method)

Handle a request to list addresses

HandleSendBroadcast(params)

Handle a request to send a broadcast message

HandleSendMessage(params)

Handle a request to send a message

HandleShutdown(params)

Handle a request to shutdown the node

HandleStatusBar(params)

Handle a request to update the status bar

HandleTrashInboxMessage(params)

Handle a request to trash an inbox message by ID

HandleTrashMessage(params)

Handle a request to trash a message by ID

HandleTrashSentMessage(params)

Handle a request to trash a sent message by ID

HandleTrashSentMessageByAckDAta(params)

Handle a request to trash a sent message by ackdata

ListSubscriptions(params)

Handle a request to list susbcriptions

do_POST()

Handles the HTTP POST request.

Attempts to interpret all HTTP POST requests as XML-RPC calls, which are forwarded to the server’s _dispatch method for handling.

Note: this method is the same as in SimpleXMLRPCRequestHandler, just hacked to handle cookies

handlers = {'add': <function HandleAdd>, 'addAddressBookEntry': <function HandleAddAddressBookEntry>, 'addAddressbook': <function HandleAddAddressBookEntry>, 'addSubscription': <function HandleAddSubscription>, 'clientStatus': <function HandleClientStatus>, 'createChan': <function HandleCreateChan>, 'createDeterministicAddresses': <function HandleCreateDeterministicAddresses>, 'createRandomAddress': <function HandleCreateRandomAddress>, 'decodeAddress': <function HandleDecodeAddress>, 'deleteAddress': <function HandleDeleteAddress>, 'deleteAddressBookEntry': <function HandleDeleteAddressBookEntry>, 'deleteAddressbook': <function HandleDeleteAddressBookEntry>, 'deleteAndVacuum': <function HandleDeleteAndVacuum>, 'deleteSubscription': <function HandleDeleteSubscription>, 'disseminatePreEncryptedMsg': <function HandleDisseminatePreEncryptedMsg>, 'disseminatePubkey': <function HandleDissimatePubKey>, 'getAllInboxMessageIDs': <function HandleGetAllInboxMessageIds>, 'getAllInboxMessageIds': <function HandleGetAllInboxMessageIds>, 'getAllInboxMessages': <function HandleGetAllInboxMessages>, 'getAllSentMessageIDs': <function HandleGetAllSentMessageIds>, 'getAllSentMessageIds': <function HandleGetAllSentMessageIds>, 'getAllSentMessages': <function HandleGetAllSentMessages>, 'getDeterministicAddress': <function HandleGetDeterministicAddress>, 'getInboxMessageByID': <function HandleGetInboxMessageById>, 'getInboxMessageById': <function HandleGetInboxMessageById>, 'getInboxMessagesByAddress': <function HandleInboxMessagesByReceiver>, 'getInboxMessagesByReceiver': <function HandleInboxMessagesByReceiver>, 'getMessageDataByDestinationHash': <function HandleGetMessageDataByDestinationHash>, 'getMessageDataByDestinationTag': <function HandleGetMessageDataByDestinationHash>, 'getSentMessageByAckData': <function HandleGetSentMessagesByAckData>, 'getSentMessageByID': <function HandleGetSentMessageById>, 'getSentMessageById': <function HandleGetSentMessageById>, 'getSentMessagesByAddress': <function HandleGetSentMessagesByAddress>, 'getSentMessagesBySender': <function HandleGetSentMessagesByAddress>, 'getStatus': <function HandleGetStatus>, 'helloWorld': <function HandleHelloWorld>, 'joinChan': <function HandleJoinChan>, 'leaveChan': <function HandleLeaveChan>, 'listAddressBookEntries': <function HandleListAddressBookEntries>, 'listAddressbook': <function HandleListAddressBookEntries>, 'listAddresses': <function HandleListAddresses>, 'listSubscriptions': <function ListSubscriptions>, 'sendBroadcast': <function HandleSendBroadcast>, 'sendMessage': <function HandleSendMessage>, 'shutdown': <function HandleShutdown>, 'statusBar': <function HandleStatusBar>, 'trashInboxMessage': <function HandleTrashInboxMessage>, 'trashMessage': <function HandleTrashMessage>, 'trashSentMessage': <function HandleTrashSentMessage>, 'trashSentMessageByAckData': <function HandleTrashSentMessageByAckDAta>}
class StoppableXMLRPCServer(addr, requestHandler=<class SimpleXMLRPCServer.SimpleXMLRPCRequestHandler>, logRequests=True, allow_none=False, encoding=None, bind_and_activate=True)[source]

Bases: SimpleXMLRPCServer.SimpleXMLRPCServer

A SimpleXMLRPCServer that honours state.shutdown

allow_reuse_address = True
serve_forever()

Start the SimpleXMLRPCServer

class singleAPI(name=None)[source]

Bases: pybitmessage.network.threads.StoppableThread

API thread

name = 'singleAPI'
run()

Method representing the thread’s activity.

You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.

stopThread()

Stop the thread