Merge branch '1090' into v0.6
This commit is contained in:
commit
bc7227f513
|
@ -1,14 +1,15 @@
|
||||||
#!/usr/bin/python2.7
|
#!/usr/bin/python2.7
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
# Created by Adam Melton (.dok) referenceing https://bitmessage.org/wiki/API_Reference for API documentation
|
# Created by Adam Melton (.dok) referenceing https://bitmessage.org/wiki/API_Reference for API documentation
|
||||||
# Distributed under the MIT/X11 software license. See http://www.opensource.org/licenses/mit-license.php.
|
# Distributed under the MIT/X11 software license. See http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
# This is an example of a daemon client for PyBitmessage 0.4.2, by .dok (Version 0.3.0)
|
# This is an example of a daemon client for PyBitmessage 0.6.2, by .dok (Version 0.3.1) , modified
|
||||||
|
|
||||||
|
|
||||||
import xmlrpclib
|
import xmlrpclib
|
||||||
import datetime
|
import datetime
|
||||||
import hashlib
|
#import hashlib
|
||||||
import getopt
|
#import getopt
|
||||||
import imghdr
|
import imghdr
|
||||||
import ntpath
|
import ntpath
|
||||||
import json
|
import json
|
||||||
|
@ -37,7 +38,7 @@ def userInput(message): #Checks input for exit or quit. Also formats for input,
|
||||||
elif (uInput.lower() == 'quit'): #Quits the program
|
elif (uInput.lower() == 'quit'): #Quits the program
|
||||||
print '\n Bye\n'
|
print '\n Bye\n'
|
||||||
sys.exit()
|
sys.exit()
|
||||||
os.exit()
|
os._exit() # _
|
||||||
else:
|
else:
|
||||||
return uInput
|
return uInput
|
||||||
|
|
||||||
|
@ -55,7 +56,7 @@ def lookupAppdataFolder(): #gets the appropriate folders for the .dat files depe
|
||||||
dataFolder = path.join(os.environ["HOME"], "Library/Application support/", APPNAME) + '/'
|
dataFolder = path.join(os.environ["HOME"], "Library/Application support/", APPNAME) + '/'
|
||||||
else:
|
else:
|
||||||
print ' Could not find home folder, please report this message and your OS X version to the Daemon Github.'
|
print ' Could not find home folder, please report this message and your OS X version to the Daemon Github.'
|
||||||
os.exit()
|
os._exit()
|
||||||
|
|
||||||
elif 'win32' in sys.platform or 'win64' in sys.platform:
|
elif 'win32' in sys.platform or 'win64' in sys.platform:
|
||||||
dataFolder = path.join(environ['APPDATA'], APPNAME) + '\\'
|
dataFolder = path.join(environ['APPDATA'], APPNAME) + '\\'
|
||||||
|
@ -117,7 +118,7 @@ def apiInit(apiEnabled):
|
||||||
|
|
||||||
apiUsr = userInput("API Username")
|
apiUsr = userInput("API Username")
|
||||||
apiPwd = userInput("API Password")
|
apiPwd = userInput("API Password")
|
||||||
apiInterface = userInput("API Interface. (127.0.0.1)")
|
#apiInterface = userInput("API Interface. (127.0.0.1)")
|
||||||
apiPort = userInput("API Port")
|
apiPort = userInput("API Port")
|
||||||
apiEnabled = userInput("API Enabled? (True) or (False)").lower()
|
apiEnabled = userInput("API Enabled? (True) or (False)").lower()
|
||||||
daemon = userInput("Daemon mode Enabled? (True) or (False)").lower()
|
daemon = userInput("Daemon mode Enabled? (True) or (False)").lower()
|
||||||
|
@ -207,7 +208,7 @@ def apiData():
|
||||||
apiInit("") #Initalize the keys.dat file with API information
|
apiInit("") #Initalize the keys.dat file with API information
|
||||||
|
|
||||||
#keys.dat file was found or appropriately configured, allow information retrieval
|
#keys.dat file was found or appropriately configured, allow information retrieval
|
||||||
apiEnabled = apiInit(BMConfigParser().safeGetBoolean('bitmessagesettings','apienabled')) #if false it will prompt the user, if true it will return true
|
#apiEnabled = apiInit(BMConfigParser().safeGetBoolean('bitmessagesettings','apienabled')) #if false it will prompt the user, if true it will return true
|
||||||
|
|
||||||
BMConfigParser().read(keysPath)#read again since changes have been made
|
BMConfigParser().read(keysPath)#read again since changes have been made
|
||||||
apiPort = int(BMConfigParser().get('bitmessagesettings', 'apiport'))
|
apiPort = int(BMConfigParser().get('bitmessagesettings', 'apiport'))
|
||||||
|
@ -424,7 +425,7 @@ def unsubscribe():
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
uInput = userInput("Are you sure, (Y)es or (N)o?").lower()
|
userInput("Are you sure, (Y)es or (N)o?").lower() # #uInput =
|
||||||
|
|
||||||
api.deleteSubscription(address)
|
api.deleteSubscription(address)
|
||||||
print ('\n You are now unsubscribed from: ' + address + '\n')
|
print ('\n You are now unsubscribed from: ' + address + '\n')
|
||||||
|
@ -522,9 +523,9 @@ def listAdd(): #Lists all of the addresses and their info
|
||||||
print ' | # | Label | Address |S#|Enabled|'
|
print ' | # | Label | Address |S#|Enabled|'
|
||||||
print ' |---|-------------------|-------------------------------------|--|-------|'
|
print ' |---|-------------------|-------------------------------------|--|-------|'
|
||||||
for addNum in range (0, numAddresses): #processes all of the addresses and lists them out
|
for addNum in range (0, numAddresses): #processes all of the addresses and lists them out
|
||||||
label = str(jsonAddresses['addresses'][addNum]['label'])
|
label = (jsonAddresses['addresses'][addNum]['label' ]).encode('utf') # may still misdiplay in some consoles
|
||||||
address = str(jsonAddresses['addresses'][addNum]['address'])
|
address = str(jsonAddresses['addresses'][addNum]['address'])
|
||||||
stream = str(jsonAddresses['addresses'][addNum]['stream'])
|
stream = str(jsonAddresses['addresses'][addNum]['stream'])
|
||||||
enabled = str(jsonAddresses['addresses'][addNum]['enabled'])
|
enabled = str(jsonAddresses['addresses'][addNum]['enabled'])
|
||||||
|
|
||||||
if (len(label) > 19):
|
if (len(label) > 19):
|
||||||
|
@ -593,7 +594,7 @@ def genMilAddr(): #Generate address
|
||||||
lbl = "random" + str(i)
|
lbl = "random" + str(i)
|
||||||
addressLabel = lbl.encode('base64')
|
addressLabel = lbl.encode('base64')
|
||||||
try:
|
try:
|
||||||
generatedAddress = api.createRandomAddress(addressLabel)
|
api.createRandomAddress(addressLabel) # generatedAddress =
|
||||||
except:
|
except:
|
||||||
print '\n Connection Error\n'
|
print '\n Connection Error\n'
|
||||||
usrPrompt = 0
|
usrPrompt = 0
|
||||||
|
@ -912,7 +913,7 @@ def inbox(unreadOnly = False): #Lists the messages by: Message Number, To Addres
|
||||||
if not message['read']: messagesUnread += 1
|
if not message['read']: messagesUnread += 1
|
||||||
|
|
||||||
if (messagesPrinted%20 == 0 and messagesPrinted != 0):
|
if (messagesPrinted%20 == 0 and messagesPrinted != 0):
|
||||||
uInput = userInput('(Press Enter to continue or type (Exit) to return to the main menu.)').lower()
|
userInput('(Press Enter to continue or type (Exit) to return to the main menu.)').lower() # uInput =
|
||||||
|
|
||||||
print '\n -----------------------------------'
|
print '\n -----------------------------------'
|
||||||
print ' There are %d unread messages of %d messages in the inbox.' % (messagesUnread, numMessages)
|
print ' There are %d unread messages of %d messages in the inbox.' % (messagesUnread, numMessages)
|
||||||
|
@ -940,7 +941,7 @@ def outbox():
|
||||||
print ' Last Action Time:', datetime.datetime.fromtimestamp(float(outboxMessages['sentMessages'][msgNum]['lastActionTime'])).strftime('%Y-%m-%d %H:%M:%S')
|
print ' Last Action Time:', datetime.datetime.fromtimestamp(float(outboxMessages['sentMessages'][msgNum]['lastActionTime'])).strftime('%Y-%m-%d %H:%M:%S')
|
||||||
|
|
||||||
if (msgNum%20 == 0 and msgNum != 0):
|
if (msgNum%20 == 0 and msgNum != 0):
|
||||||
uInput = userInput('(Press Enter to continue or type (Exit) to return to the main menu.)').lower()
|
userInput('(Press Enter to continue or type (Exit) to return to the main menu.)').lower() # uInput =
|
||||||
|
|
||||||
print '\n -----------------------------------'
|
print '\n -----------------------------------'
|
||||||
print ' There are ',numMessages,' messages in the outbox.'
|
print ' There are ',numMessages,' messages in the outbox.'
|
||||||
|
@ -1319,12 +1320,12 @@ def UI(usrInput): #Main user menu
|
||||||
print ' |------------------------|----------------------------------------------|'
|
print ' |------------------------|----------------------------------------------|'
|
||||||
print ' | subscribe | Subscribes to an address |'
|
print ' | subscribe | Subscribes to an address |'
|
||||||
print ' | unsubscribe | Unsubscribes from an address |'
|
print ' | unsubscribe | Unsubscribes from an address |'
|
||||||
#print ' | listSubscriptions | Lists all of the subscriptions. |'
|
#print' | listSubscriptions | Lists all of the subscriptions. |'
|
||||||
print ' |------------------------|----------------------------------------------|'
|
print ' |------------------------|----------------------------------------------|'
|
||||||
print ' | create | Creates a channel |'
|
print ' | create | Creates a channel |'
|
||||||
print ' | join | Joins a channel |'
|
print ' | join | Joins a channel |'
|
||||||
print ' | leave | Leaves a channel |'
|
print ' | leave | Leaves a channel |'
|
||||||
print ' |------------------------|----------------------------------------------|'
|
print ' |------------------------|----------------------------------------------|'
|
||||||
print ' | inbox | Lists the message information for the inbox |'
|
print ' | inbox | Lists the message information for the inbox |'
|
||||||
print ' | outbox | Lists the message information for the outbox |'
|
print ' | outbox | Lists the message information for the outbox |'
|
||||||
print ' | send | Send a new message or broadcast |'
|
print ' | send | Send a new message or broadcast |'
|
||||||
|
@ -1368,7 +1369,7 @@ def UI(usrInput): #Main user menu
|
||||||
elif usrInput == "quit": #Quits the application
|
elif usrInput == "quit": #Quits the application
|
||||||
print '\n Bye\n'
|
print '\n Bye\n'
|
||||||
sys.exit()
|
sys.exit()
|
||||||
os.exit()
|
os._exit()
|
||||||
|
|
||||||
elif usrInput == "listaddresses": #Lists all of the identities in the addressbook
|
elif usrInput == "listaddresses": #Lists all of the identities in the addressbook
|
||||||
listAdd()
|
listAdd()
|
||||||
|
@ -1445,17 +1446,17 @@ def UI(usrInput): #Main user menu
|
||||||
|
|
||||||
elif usrInput == "create":
|
elif usrInput == "create":
|
||||||
createChan()
|
createChan()
|
||||||
userPrompt = 1
|
usrPrompt = 1
|
||||||
main()
|
main()
|
||||||
|
|
||||||
elif usrInput == "join":
|
elif usrInput == "join":
|
||||||
joinChan()
|
joinChan()
|
||||||
userPrompt = 1
|
usrPrompt = 1
|
||||||
main()
|
main()
|
||||||
|
|
||||||
elif usrInput == "leave":
|
elif usrInput == "leave":
|
||||||
leaveChan()
|
leaveChan()
|
||||||
userPrompt = 1
|
usrPrompt = 1
|
||||||
main()
|
main()
|
||||||
|
|
||||||
elif usrInput == "inbox":
|
elif usrInput == "inbox":
|
||||||
|
@ -1668,7 +1669,7 @@ def UI(usrInput): #Main user menu
|
||||||
usrPrompt = 1
|
usrPrompt = 1
|
||||||
else:
|
else:
|
||||||
print '\n Invalid Entry.\n'
|
print '\n Invalid Entry.\n'
|
||||||
userPrompt = 1
|
usrPrompt = 1
|
||||||
main()
|
main()
|
||||||
|
|
||||||
elif usrInput == "exit":
|
elif usrInput == "exit":
|
||||||
|
@ -1740,7 +1741,7 @@ def main():
|
||||||
if (usrPrompt == 0):
|
if (usrPrompt == 0):
|
||||||
print '\n ------------------------------'
|
print '\n ------------------------------'
|
||||||
print ' | Bitmessage Daemon by .dok |'
|
print ' | Bitmessage Daemon by .dok |'
|
||||||
print ' | Version 0.2.6 for BM 0.3.5 |'
|
print ' | Version 0.3.1 for BM 0.6.2 |'
|
||||||
print ' ------------------------------'
|
print ' ------------------------------'
|
||||||
api = xmlrpclib.ServerProxy(apiData()) #Connect to BitMessage using these api credentials
|
api = xmlrpclib.ServerProxy(apiData()) #Connect to BitMessage using these api credentials
|
||||||
|
|
||||||
|
@ -1769,4 +1770,4 @@ def main():
|
||||||
UI("quit")
|
UI("quit")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Reference in New Issue
Block a user