本文整理汇总了Python中Function.format_string方法的典型用法代码示例。如果您正苦于以下问题:Python Function.format_string方法的具体用法?Python Function.format_string怎么用?Python Function.format_string使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Function
的用法示例。
在下文中一共展示了Function.format_string方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: query
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def query(ip, query):
pk_id = func.random_pktid(const.LENGTH_PKTID)
port = func.format_string(const.PORT, const.LENGTH_PORT, "0")
step = func.format_string(const.TTL, const.LENGTH_TTL, "0")
query = func.format_string(query, const.LENGTH_QUERY, " ")
pack = bytes(const.CODE_QUERY, "ascii") + bytes(pk_id, "ascii") + bytes(ip, "ascii") + bytes(port, "ascii") + bytes(step, "ascii") + bytes(query, "ascii")
return pack
示例2: updateNeighbor
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def updateNeighbor(myHost, listNeighbor):
del listNeighbor[:]
pk = pack.neighbor(myHost)
# Se avevo già dei vicini vado a testare se sono ancora attivi
"""if len(listNeighbor) != 0:
for neighbor in listNeighbor:
s = func.create_socket_client(func.roll_the_dice(neighbor[0]), neighbor[1]);
# Se non sono più attivi lo segnalo e li cancello dalla lista
if s is None:
func.error(str(neighbor[0], "ascii") + " non è più attivo.")
del neighbor
else:
func.success(str(neighbor[0], "ascii") + " ancora attivo.")
s.close()
# Se prima ero al completo e sono ancora tutti attivi lo segnalo e esco
if len(listNeighbor) == const.NUM_NEIGHBOR:
func.success("Lista vicini completa!")
# Se invece dopo il controllo ho meno vicini del numero massimo mando a ogni vicino una richiesta di vicinato
elif len(listNeighbor) > 0:
for neighbor in listNeighbor:
s = func.create_socket_client(func.roll_the_dice(neighbor[0]), neighbor[1]);
if s is None:
func.error("Mamma che sfiga, sto vicino è andato giù proprio ora.")
else:
s.sendall(pk)
s.close()
# Alla fine gestisco la possibilità che tutti i vicini che avevo siano andati giù e quindi passo all'inserimento manuale.
if len(listNeighbor) == 0: """
while True:
print ("\n>>> SCELTA PEER VICINO")
nGroup = input("Numero del gruppo: ")
if nGroup is 0:
break
nElement = input("Numero dell'elemento del gruppo: ")
if nElement is 0:
break
nPort = input("Inserire la porta su cui il vicino è in ascolto: ")
if nPort is 0:
break
hostN = func.roll_the_dice("172.030." + func.format_string(nGroup, const.LENGTH_SECTION_IPV4, "0") +
"." + func.format_string(nElement, const.LENGTH_SECTION_IPV4, "0") +
"|fc00:0000:0000:0000:0000:0000:" + func.format_string(nGroup, const.LENGTH_SECTION_IPV6, "0") +
":" + func.format_string(nElement, const.LENGTH_SECTION_IPV6, "0"))
s = func.create_socket_client(hostN, nPort);
if s is None:
func.error("Errore nella scelta del primo peer vicino, scegline un altro.")
break
else:
s.sendall(pk)
s.close()
break
示例3: update_network
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def update_network(host, SN, listPkt):
func.warning("\nP2P >> CREATION NETWORK")
while True:
nGroup = input("Inserire il numero del gruppo: ")
nElement = input("Inserire il numero dell'elemento del gruppo: ")
nPort = input("Inserire il numero della porta: ")
Fhost = [("172.030." + func.format_string(nGroup, const.LENGTH_SECTION_IPV4, "0") +
"." + func.format_string(nElement, const.LENGTH_SECTION_IPV4, "0") +
"|fc00:0000:0000:0000:0000:0000:" + func.format_string(nGroup, const.LENGTH_SECTION_IPV6, "0") +
":" + func.format_string(nElement, const.LENGTH_SECTION_IPV6, "0")), nPort]
if SN:
pk = pack.request_sn(host, const.PORT_SN)
func.add_pktid(pk[4:20], listPkt, const.PORT_SN)
else:
pk = pack.request_sn(host, const.PORT)
func.add_pktid(pk[4:20], listPkt, const.PORT)
s = func.create_socket_client(func.roll_the_dice(Fhost[0]), Fhost[1]);
if s is None:
func.error("Errore nella scelta del primo nodo vicino, scegline un altro.")
else:
s.sendall(pk)
s.close()
break
# Caricamento
print("Loading...")
for i in range(0, int(const.MAX_TIME / 1000)):
print("|", end = "")
print("|||" * i + " " * ((int(const.MAX_TIME / 1000) * 3) - (i * 3)) + "|")
time.sleep(1)
print("|" + "|||" * int(const.MAX_TIME / 1000) + "|")
if SN:
func.success("NETWORK CREATED:")
for h in sn_network:
func.gtext(h[0] + " - " + h[1])
if SN:
SN_host = [host, const.PORT_SN]
else:
SN_host = func.choose_SN(sn_network)
return SN_host
示例4: forward_neighbor
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def forward_neighbor(pack):
step = modify_ttl(pack[80:82])
if step != 0:
step = func.format_string(str(step), const.LENGTH_TTL, "0")
pack = pack[0:80] + bytes(step, "ascii")
return pack
else:
return bytes(const.ERROR_PKT, "ascii")
示例5: search_file
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def search_file(query, listFiles, listUsers):
listResultQuery = []
for f in listFiles:
if query in f[1]:
for i in listUsers:
if i[2] == f[2]:
listResultQuery.append([f[0], bytes(func.format_string(str(f[1],"ascii"), const.LENGTH_FILENAME, " "),"ascii"), i[0], i[1]])
break
return listResultQuery
示例6: add_file
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def add_file(fileName, sessionID, SN, SN_host, host, listPkt):
if os.path.exists("FileCondivisi/" + fileName):
md5File = hashlib.md5(open(("FileCondivisi/" + fileName),'rb').read()).hexdigest()
pk = pack.request_add_file(sessionID, md5File, func.format_string(fileName, const.LENGTH_FILENAME, " "))
s = func.create_socket_client(func.roll_the_dice(SN_host[0]), SN_host[1]);
if s is None:
func.error("Errore, super nodo non attivo.")
update_network(host, SN, listPkt)
else:
s.sendall(pk)
s.close()
else:
func.error("Errore: file non esistente.")
示例7: send_afin
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def send_afin(conn, listResultQuery):
if len(listResultQuery) != 0:
nMd5 = 0
listResultQuery.sort()
md5 = b''
for x in listResultQuery:
if md5 != x[0]:
md5 = x[0]
nMd5 += 1
pk = bytes(const.CODE_ANSWER_SEARCH, "ascii") + bytes(func.format_string(str(nMd5), const.LENGTH_NIDMD5, "0"), "ascii")
actualMd5 = b''
for i in listResultQuery:
if i[0] != actualMd5:
#actualMd5 = listResultQuery[0][0]
# calcolo numero copie
actualMd5 = i[0]
copy = 0
for x in listResultQuery:
if x[0] == actualMd5:
copy += 1
pk = pk + i[0] + i[1] + bytes(func.format_string(str(copy), const.LENGTH_NCOPY, "0"), "ascii")
pk = pk + i[2] + i[3]
else:
pk = bytes(const.CODE_ANSWER_SEARCH, "ascii") + bytes("0" * const.LENGTH_NIDMD5, "ascii")
conn.sendall(pk)
示例8: neighbor
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def neighbor(ip):
pk_id = func.random_pktid(const.LENGTH_PKTID)
port = func.format_string(const.PORT, const.LENGTH_PORT, "0")
step = func.format_string(const.TTL, const.LENGTH_TTL, "0")
pack = bytes(const.CODE_NEAR, "ascii") + bytes(pk_id, "ascii") + bytes(ip, "ascii") + bytes(port, "ascii") + bytes(step, "ascii")
return pack
示例9: run
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def run(self):
# Creazione socket
s = func.create_socket_server(func.roll_the_dice(self.host), self.port)
if s is None:
func.write_daemon_text(self.name, self.host, 'Error: Daemon could not open socket in upload.')
else:
while 1:
conn, addr = s.accept()
ricevutoByte = conn.recv(const.LENGTH_PACK)
#print("\n")
#func.write_daemon_text(self.name, addr[0], str(ricevutoByte, "ascii"))
if not ricevutoByte:
func.write_daemon_error(self.name, addr[0], "Pacchetto errato")
elif (str(ricevutoByte[0:4], "ascii") == const.CODE_CLOSE):
break
else:
if str(ricevutoByte[0:4], "ascii") == const.CODE_SN: ### REQUEST SN
if func.add_pktid(ricevutoByte[4:20], self.listPkt, self.port) is True:
# FORWARD
pk = pack.forward_sn(ricevutoByte)
func.forward(pk, addr[0], self.sn_network)
# RESPONSE
if self.SN:
# Aggiunta supernodi (collaterale)
if str(ricevutoByte[75:80], "ascii") == (func.format_string(const.PORT_SN, 5, "0")):
if not [str(ricevutoByte[20:75],"ascii"), str(ricevutoByte[75:80],"ascii")] in self.sn_network:
self.sn_network.append([str(ricevutoByte[20:75],"ascii"), str(ricevutoByte[75:80],"ascii")])
func.write_daemon_success(self.name, addr[0], "SN Network - Added: " + str(ricevutoByte[20:75], "ascii"))
pk = pack.answer_sn(ricevutoByte[4:20], self.host)
sR = func.create_socket_client(func.roll_the_dice(ricevutoByte[20:75]), ricevutoByte[75:80])
if sR != None:
sR.sendall(pk)
sR.close()
#else:
# func.write_daemon_error(self.name, addr[0], "Pacchetto già ricevuto")
elif str(ricevutoByte[0:4], "ascii") == const.CODE_ANSWER_SN: ### ANSWER SN
if self.SN:
if func.check_sn(ricevutoByte[4:20], self.listPkt) is True:
# ADD SN TO NETWORK
if not [str(ricevutoByte[20:75], "ascii"), str(ricevutoByte[75:80], "ascii")] in self.sn_network:
self.sn_network.append([str(ricevutoByte[20:75],"ascii"), str(ricevutoByte[75:80],"ascii")])
func.write_daemon_success(self.name, addr[0], "SN NETWORK - Added: " + str(ricevutoByte[20:75], "ascii"))
else:
func.write_daemon_error(self.name, addr[0], "SN NETWORK - Super nodo già presente")
else:
func.write_daemon_error(self.name, addr[0], "Tempo per la risposta terminato.")
else:
if func.check_sn(ricevutoByte[4:20], self.listPkt) is True:
if not [str(ricevutoByte[20:75], "ascii"), str(ricevutoByte[75:80], "ascii")] in self.sn_network:
self.sn_network.append([str(ricevutoByte[20:75], "ascii"), str(ricevutoByte[75:80],"ascii")])
func.write_daemon_success(self.name, addr[0], "SN NETWORK - Added: " + str(ricevutoByte[20:75], "ascii"))
else:
func.write_daemon_error(self.name, addr[0], "SN NETWORK - Super nodo già presente")
else:
func.write_daemon_error(self.name, addr[0], "Tempo per la risposta terminato.")
elif str(ricevutoByte[0:4], "ascii") == const.CODE_LOGIN: ### LOGIN
if self.SN:
pk = func.reconnect_user(ricevutoByte[4:59], self.listUsers)
if pk == const.ERROR_PKT:
pk = pack.answer_login()
conn.sendall(pk)
user = [ricevutoByte[4:59], ricevutoByte[59:], pk[4:]]
if not user in self.listUsers:
self.listUsers.append(user)
func.write_daemon_success(self.name, addr[0], "LOGIN OK")
else: func.write_daemon_success(self.name, addr[0], "RECONNECT OK")
#print(self.listUsers)
elif str(ricevutoByte[0:4], "ascii") == const.CODE_ADDFILE:
if self.SN:
if func.isUserLogged(ricevutoByte[4:20], self.listUsers):
if(func.check_file(self.listFiles, ricevutoByte)):
self.listFiles.insert(0, [ricevutoByte[20:52], ricevutoByte[52:152], ricevutoByte[4:20]])
func.write_daemon_success(self.name, addr[0], "ADD FILE: " + str(ricevutoByte[52:152], "ascii").strip())
else:
func.write_daemon_error(self.name, addr[0], "ADD FILE - File già inserito")
else:
func.write_daemon_error(self.name, addr[0], "ADD FILE - User not logged")
elif str(ricevutoByte[0:4], "ascii") == const.CODE_REMOVEFILE:
if self.SN:
if func.isUserLogged(ricevutoByte[4:20], self.listUsers):
findFile = False
i = 0
for file in self.listFiles:
if (ricevutoByte[4:20] == file[2]) and (ricevutoByte[20:] == file[0]):
findFile = True
del self.listFiles[i]
func.write_daemon_success(self.name, addr[0], "REMOVE FILE: " + str(ricevutoByte[20:], "ascii").strip())
i -= 1
i += 1
if not findFile:
#.........这里部分代码省略.........
示例10: request_login
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def request_login(ip):
port = func.format_string(const.PORT, const.LENGTH_PORT, "0")
pack = bytes(const.CODE_LOGIN, "ascii") + bytes(ip, "ascii") + bytes(port, "ascii")
return pack
示例11: print
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
s.sendall(pk)
s.close()
i = i + 1
if i is 2:
print ("Logout eseguito con successo.")
####### VARIABILI
listNeighbor = []
listPkt = []
listResultQuery = []
####### INIZIO CLIENT #######
nGroup = input("Inserire il numero del gruppo: ")
nElement = input("Inserire il numero dell'elemento del gruppo: ")
host = ("172.030." + func.format_string(nGroup, const.LENGTH_SECTION_IPV4, "0") +
"." + func.format_string(nElement, const.LENGTH_SECTION_IPV4, "0") +
"|fc00:0000:0000:0000:0000:0000:" + func.format_string(nGroup, const.LENGTH_SECTION_IPV6, "0") +
":" + func.format_string(nElement, const.LENGTH_SECTION_IPV6, "0"))
print ("IP:", host)
####### DEMONI
daemonThreadv4 = daemon.Daemon(func.get_ipv4(host), listNeighbor, listPkt, listResultQuery, host)
daemonThreadv6 = daemon.Daemon(func.get_ipv6(host), listNeighbor, listPkt, listResultQuery, host)
daemonThreadv4.setName("DAEMON IPV4")
daemonThreadv6.setName("DAEMON IPV6")
daemonThreadv4.start()
daemonThreadv6.start()
示例12: request_search
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def request_search(sessionID, query):
query = func.format_string(query, const.LENGTH_QUERY, " ")
pack = bytes(const.CODE_SEARCH, "ascii") + sessionID + bytes(query, "ascii")
return pack
示例13: answer_logout
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def answer_logout(nDelete):
nDelete = func.format_string(str(nDelete), const.LENGTH_ITEM_REMOVED, "0")
pack = bytes(const.CODE_ANSWER_LOGOUT, "ascii") + bytes(nDelete, "ascii")
return pack
示例14: request_sn
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def request_sn(ip, port):
pk_id = func.random_pktid(const.LENGTH_PKTID)
port = func.format_string(port, const.LENGTH_PORT, "0")
step = func.format_string(const.TTL_SN, const.LENGTH_TTL, "0")
pack = bytes(const.CODE_SN, "ascii") + bytes(pk_id, "ascii") + bytes(ip, "ascii") + bytes(port, "ascii") + bytes(step, "ascii")
return pack
示例15: request_add_file
# 需要导入模块: import Function [as 别名]
# 或者: from Function import format_string [as 别名]
def request_add_file(sessionID, md5, fileName):
fileName = func.format_string(fileName, const.LENGTH_FILENAME, " ")
pack = bytes(const.CODE_ADDFILE, "ascii") + sessionID + bytes(md5, "ascii") + bytes(fileName, "ascii")
return pack