mirror of
https://github.com/onionshare/onionshare.git
synced 2025-07-26 08:05:49 -04:00
added stem python library
This commit is contained in:
parent
8ffa569094
commit
619ab6db0f
37 changed files with 19032 additions and 0 deletions
42
lib/stem/response/mapaddress.py
Normal file
42
lib/stem/response/mapaddress.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
# Copyright 2012-2013, Damian Johnson and The Tor Project
|
||||
# See LICENSE for licensing information
|
||||
|
||||
import stem.response
|
||||
import stem.socket
|
||||
|
||||
|
||||
class MapAddressResponse(stem.response.ControlMessage):
|
||||
"""
|
||||
Reply for a MAPADDRESS query.
|
||||
Doesn't raise an exception unless no addresses were mapped successfully.
|
||||
|
||||
:var dict entries: mapping between the original and replacement addresses
|
||||
|
||||
:raises:
|
||||
* :class:`stem.OperationFailed` if Tor was unable to satisfy the request
|
||||
* :class:`stem.InvalidRequest` if the addresses provided were invalid
|
||||
"""
|
||||
|
||||
def _parse_message(self):
|
||||
# Example:
|
||||
# 250-127.192.10.10=torproject.org
|
||||
# 250 1.2.3.4=tor.freehaven.net
|
||||
|
||||
if not self.is_ok():
|
||||
for code, _, message in self.content():
|
||||
if code == "512":
|
||||
raise stem.InvalidRequest(code, message)
|
||||
elif code == "451":
|
||||
raise stem.OperationFailed(code, message)
|
||||
else:
|
||||
raise stem.ProtocolError("MAPADDRESS returned unexpected response code: %s", code)
|
||||
|
||||
self.entries = {}
|
||||
|
||||
for code, _, message in self.content():
|
||||
if code == "250":
|
||||
try:
|
||||
key, value = message.split("=", 1)
|
||||
self.entries[key] = value
|
||||
except ValueError:
|
||||
raise stem.ProtocolError(None, "MAPADDRESS returned '%s', which isn't a mapping" % message)
|
Loading…
Add table
Add a link
Reference in a new issue