2012-11-19 20:45:05 +01:00
|
|
|
import pickle
|
|
|
|
import socket
|
|
|
|
from struct import *
|
|
|
|
import time
|
|
|
|
import random
|
|
|
|
import sys
|
|
|
|
from time import strftime, localtime
|
2013-07-30 22:23:18 +02:00
|
|
|
import shared
|
2012-11-19 20:45:05 +01:00
|
|
|
|
|
|
|
def createDefaultKnownNodes(appdata):
|
|
|
|
############## Stream 1 ################
|
|
|
|
stream1 = {}
|
2013-06-18 18:37:13 +02:00
|
|
|
|
2014-04-30 21:39:25 +02:00
|
|
|
#stream1[shared.Peer('2604:2000:1380:9f:82e:148b:2746:d0c7', 8080)] = int(time.time())
|
2014-08-27 09:14:32 +02:00
|
|
|
stream1[shared.Peer('158.222.211.81', 8080)] = int(time.time())
|
|
|
|
stream1[shared.Peer('85.214.194.88', 8444)] = int(time.time())
|
2014-04-30 21:39:25 +02:00
|
|
|
|
2012-11-19 20:45:05 +01:00
|
|
|
############# Stream 2 #################
|
|
|
|
stream2 = {}
|
|
|
|
# None yet
|
|
|
|
|
|
|
|
############# Stream 3 #################
|
|
|
|
stream3 = {}
|
|
|
|
# None yet
|
|
|
|
|
|
|
|
allKnownNodes = {}
|
|
|
|
allKnownNodes[1] = stream1
|
|
|
|
allKnownNodes[2] = stream2
|
|
|
|
allKnownNodes[3] = stream3
|
|
|
|
|
|
|
|
#print stream1
|
|
|
|
#print allKnownNodes
|
|
|
|
|
2013-08-09 18:12:57 +02:00
|
|
|
with open(appdata + 'knownnodes.dat', 'wb') as output:
|
2013-08-08 09:52:47 +02:00
|
|
|
# Pickle dictionary using protocol 0.
|
|
|
|
pickle.dump(allKnownNodes, output)
|
2012-11-19 20:45:05 +01:00
|
|
|
|
|
|
|
return allKnownNodes
|
|
|
|
|
|
|
|
def readDefaultKnownNodes(appdata):
|
|
|
|
pickleFile = open(appdata + 'knownnodes.dat', 'rb')
|
|
|
|
knownNodes = pickle.load(pickleFile)
|
|
|
|
pickleFile.close()
|
|
|
|
for stream, storedValue in knownNodes.items():
|
|
|
|
for host,value in storedValue.items():
|
2013-08-01 12:31:40 +02:00
|
|
|
try:
|
|
|
|
# Old knownNodes format.
|
|
|
|
port, storedtime = value
|
|
|
|
except:
|
|
|
|
# New knownNodes format.
|
|
|
|
host, port = host
|
|
|
|
storedtime = value
|
2013-06-18 19:11:30 +02:00
|
|
|
print host, '\t', port, '\t', unicode(strftime('%a, %d %b %Y %I:%M %p',localtime(storedtime)),'utf-8')
|
2012-11-19 20:45:05 +01:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
|
|
|
APPNAME = "PyBitmessage"
|
|
|
|
from os import path, environ
|
|
|
|
if sys.platform == 'darwin':
|
2013-06-23 21:52:39 +02:00
|
|
|
from AppKit import NSSearchPathForDirectoriesInDomains # @UnresolvedImport
|
2012-11-19 20:45:05 +01:00
|
|
|
# http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/Foundation/Miscellaneous/Foundation_Functions/Reference/reference.html#//apple_ref/c/func/NSSearchPathForDirectoriesInDomains
|
|
|
|
# NSApplicationSupportDirectory = 14
|
|
|
|
# NSUserDomainMask = 1
|
|
|
|
# True for expanding the tilde into a fully qualified path
|
|
|
|
appdata = path.join(NSSearchPathForDirectoriesInDomains(14, 1, True)[0], APPNAME) + '/'
|
|
|
|
elif 'win' in sys.platform:
|
|
|
|
appdata = path.join(environ['APPDATA'], APPNAME) + '\\'
|
|
|
|
else:
|
|
|
|
appdata = path.expanduser(path.join("~", "." + APPNAME + "/"))
|
|
|
|
|
|
|
|
|
2012-11-23 09:22:56 +01:00
|
|
|
print 'New list of all known nodes:', createDefaultKnownNodes(appdata)
|
2012-11-19 20:45:05 +01:00
|
|
|
readDefaultKnownNodes(appdata)
|
|
|
|
|
|
|
|
|