[mnet-devel] patch: tidy up printouts
Arno Waschk
hamamatsu at gmx.de
Tue Feb 17 19:25:09 GMT 2004
ugh? i thought humanreadable.hr is called for ids debugprint argument
anyway? never saw an unreadable in my 062 logs...
Otherwise nice to have nice printouts, only the weather department should
be warned i guess...
Arno
On 17 Feb 2004 11:50:32 -0500, Zooko O'Whielacronx <zooko at zooko.com> wrote:
>
> This patch does two things: 1. make the debugprintsouts consistent with
> regard
> to whether message types are quoted or not. (After this patch, they're
> not.).
> This could possibly be important for weather.pl or other log-grepping
> tools.
> 2. make chunks and widgets repr themselves in mnetbase32 instead of
> mojosixbit.
>
> This isn't a very important patch, but on the other hand is very
> unlikely to
> hurt anything.
>
> --- common/ChunkObj.py 4 Mar 2003 12:49:56 -0000 1.17
> +++ common/ChunkObj.py 17 Feb 2004 16:06:37 -0000
> @@ -15,6 +15,7 @@ import exceptions, types
>
> # pyutil modules
> # from debugprint import debugprint
> +import humread # required to update the value of "hr" in
> humanreadable. This is fixed in v0.7. --Zooko 2004-02-13
> import humanreadable
> import nummedobj
>
> @@ -80,8 +83,8 @@ class ChunkObj(nummedobj.NummedObj):
> else:
> self.rebuilder = apply(blockshare.Rebuild,
> makerebuildparams(self.padded_chunk_len,
> totalsharesneeded=chunkmap.numneeded,
> totalsharesinpiece=chunkmap.numtotal))
> self.chunkdata = None
> - self.rep = "<%s %s %s, %s KB, %s/%s>" %
> ((self.__class__.__name__, self.objid,) + tuple(map(humanreadable.hr,
> (self.chunkmap.chunkId, self.chunkmap.chunklen/2**10,
> self.chunkmap.numneeded, self.chunkmap.numtotal,))))
> + self.rep = "<ChunkObj %s %s, %s KB, %s/%s>" %
> (humread.abbrev(self.chunkmap.chunkId), self.objid,
> self.chunkmap.chunklen/2**10, self.chunkmap.numneeded,
> self.chunkmap.numtotal,)
>
> def __repr__(self):
> return self.rep
> --- common/Conversation.py 14 Feb 2004 18:44:50 -0000 1.23
> +++ common/Conversation.py 17 Feb 2004 16:06:38 -0000
> @@ -25,6 +25,8 @@ import DoQ
> from debugprint import debugprint, debugstream
> import nummedobj
> import config
> +import humread # required to update the value of "hr" in
> humanreadable. This is fixed in v0.7. --Zooko 2004-02-13
> +import humanreadable
>
> # Mnet modules
> import Cache
> @@ -37,7 +39,6 @@ import MojoKey
> import MojoMessage
> from confutils import confman
> import idlib
> -from human_readable import human_readable, hr
> import mencode
> import modval
> import mojosixbit
> @@ -132,11 +133,11 @@ class ConversationManager:
>
> def initiate_and_return_first_message(self, counterparty_id,
> conversationtype, firstmsgbody, outcome_func, timeout =
> MojoConstants.DEFAULT_TIMEOUT, notes = None, mymetainfo=None,
> post_timeout_outcome_func=None):
> """
> - @precondition `counterparty_id' must be an id.:
> idlib.is_sloppy_id(counterparty_id): "id: %s" % hr(id)
> + @precondition `counterparty_id' must be an id.:
> idlib.is_sloppy_id(counterparty_id): "id: %s" % humanreadable.hr(id)
>
> returns a tuple of (message_id, binary_message_string)
> """
> - assert idlib.is_sloppy_id(counterparty_id), "precondition:
> `counterparty_id' must be an id." + " -- " + "id: %s" % hr(id)
> + assert idlib.is_sloppy_id(counterparty_id), "precondition:
> `counterparty_id' must be an id." + " -- " + "id: %s" %
> humanreadable.hr(id)
>
> counterparty_id = idlib.canonicalize(counterparty_id, "broker")
>
> @@ -210,22 +211,22 @@ class ConversationManager:
> """
> @param msgbody the message body to be sent back
>
> - @precondition `prevmsgId' must be a binary id.:
> idlib.is_binary_id(prevmsgId): "prevmsgId: %s" % hr(prevmsgId)
> - @precondition `msgbody' must be either None or else the full
> msg dict, containing either a "mojo header" subdict or a "mojo message"
> subdict or both.: (not msgbody) or is_mojo_message(msgbody): "msgbody:
> %s" % hr(msgbody)
> - @precondition internal1:
> self._map_inmsgid_to_info.get(prevmsgId) is not None: "prevmsgId: %s" %
> hr(prevmsgId)
> - @precondition internal2:
> (type(self._map_inmsgid_to_info.get(prevmsgId)) in (types.TupleType,
> types.ListType)): "self._map_inmsgid_to_info.get(prevmsgId): %s :: %s" %
> (hr(self._map_inmsgid_to_info.get(prevmsgId)),
> hr(type(self._map_inmsgid_to_info.get(prevmsgId))))
> - @precondition internal3:
> self._map_inmsgid_to_info.get(prevmsgId)[2] == EXPECTING_RESPONSE:
> "self._map_inmsgid_to_info.get(prevmsgId): %s" %
> hr(self._map_inmsgid_to_info.get(prevmsgId))
> - @precondition internal4:
> idlib.is_binary_id(self._map_inmsgid_to_info.get(prevmsgId)[0]):
> "self._map_inmsgid_to_info.get(prevmsgId)[0]: %s :: %s" %
> (hr(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> hr(type(self._map_inmsgid_to_info.get(prevmsgId)[0])))
> - """
> - assert idlib.is_binary_id(prevmsgId), "precondition:
> `prevmsgId' must be a binary id." + " -- " + "prevmsgId: %s" %
> hr(prevmsgId)
> - assert (not msgbody) or is_mojo_message(msgbody),
> "precondition: `msgbody' must be either None or else the full msg dict,
> containing either a \"mojo header\" subdict or a \"mojo message\"
> subdict or both." + " -- " + "msgbody: %s" % hr(msgbody)
> - assert self._map_inmsgid_to_info.get(prevmsgId) is not None,
> "precondition: internal1" + " -- " + "prevmsgId: %s" % hr(prevmsgId)
> - assert (type(self._map_inmsgid_to_info.get(prevmsgId)) in
> (types.TupleType, types.ListType)), "precondition: internal2" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId): %s :: %s" %
> (hr(self._map_inmsgid_to_info.get(prevmsgId)),
> hr(type(self._map_inmsgid_to_info.get(prevmsgId))))
> - assert self._map_inmsgid_to_info.get(prevmsgId)[2] ==
> EXPECTING_RESPONSE, "precondition: internal3" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId): %s" %
> hr(self._map_inmsgid_to_info.get(prevmsgId))
> - assert
> idlib.is_binary_id(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> "precondition: internal4" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId)[0]: %s :: %s" %
> (hr(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> hr(type(self._map_inmsgid_to_info.get(prevmsgId)[0])))
> + @precondition `prevmsgId' must be a binary id.:
> idlib.is_binary_id(prevmsgId): "prevmsgId: %s" %
> humanreadable.hr(prevmsgId)
> + @precondition `msgbody' must be either None or else the full
> msg dict, containing either a "mojo header" subdict or a "mojo message"
> subdict or both.: (not msgbody) or is_mojo_message(msgbody): "msgbody:
> %s" % humanreadable.hr(msgbody)
> + @precondition internal1:
> self._map_inmsgid_to_info.get(prevmsgId) is not None: "prevmsgId: %s" %
> humanreadable.hr(prevmsgId)
> + @precondition internal2:
> (type(self._map_inmsgid_to_info.get(prevmsgId)) in (types.TupleType,
> types.ListType)): "self._map_inmsgid_to_info.get(prevmsgId): %s :: %s" %
> (humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId)),
> humanreadable.hr(type(self._map_inmsgid_to_info.get(prevmsgId))))
> + @precondition internal3:
> self._map_inmsgid_to_info.get(prevmsgId)[2] == EXPECTING_RESPONSE:
> "self._map_inmsgid_to_info.get(prevmsgId): %s" %
> humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId))
> + @precondition internal4:
> idlib.is_binary_id(self._map_inmsgid_to_info.get(prevmsgId)[0]):
> "self._map_inmsgid_to_info.get(prevmsgId)[0]: %s :: %s" %
> (humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> humanreadable.hr(type(self._map_inmsgid_to_info.get(prevmsgId)[0])))
> + """
> + assert idlib.is_binary_id(prevmsgId), "precondition:
> `prevmsgId' must be a binary id." + " -- " + "prevmsgId: %s" %
> humanreadable.hr(prevmsgId)
> + assert (not msgbody) or is_mojo_message(msgbody),
> "precondition: `msgbody' must be either None or else the full msg dict,
> containing either a \"mojo header\" subdict or a \"mojo message\"
> subdict or both." + " -- " + "msgbody: %s" % humanreadable.hr(msgbody)
> + assert self._map_inmsgid_to_info.get(prevmsgId) is not None,
> "precondition: internal1" + " -- " + "prevmsgId: %s" %
> humanreadable.hr(prevmsgId)
> + assert (type(self._map_inmsgid_to_info.get(prevmsgId)) in
> (types.TupleType, types.ListType)), "precondition: internal2" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId): %s :: %s" %
> (humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId)),
> humanreadable.hr(type(self._map_inmsgid_to_info.get(prevmsgId))))
> + assert self._map_inmsgid_to_info.get(prevmsgId)[2] ==
> EXPECTING_RESPONSE, "precondition: internal3" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId): %s" %
> humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId))
> + assert
> idlib.is_binary_id(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> "precondition: internal4" + " -- "
> + "self._map_inmsgid_to_info.get(prevmsgId)[0]: %s :: %s" %
> (humanreadable.hr(self._map_inmsgid_to_info.get(prevmsgId)[0]),
> humanreadable.hr(type(self._map_inmsgid_to_info.get(prevmsgId)[0])))
>
> counterparty_id, inmsgtype, status =
> self._map_inmsgid_to_info.get(prevmsgId)
> - assert idlib.is_binary_id(counterparty_id), "`counterparty_id'
> must be a binary id." + " -- " + "counterparty_id: %s" %
> hr(counterparty_id)
> + assert idlib.is_binary_id(counterparty_id), "`counterparty_id'
> must be a binary id." + " -- " + "counterparty_id: %s" %
> humanreadable.hr(counterparty_id)
> self.drop_request_state(prevmsgId)
>
> msgstr = MojoMessage.makeResponseMessage(inmsgtype + '
> response', msgbody, prevmsgId,
> freshnessproof=self._map_cid_to_freshness_proof.get(counterparty_id),
> mymetainfo=mymetainfo)
> @@ -242,12 +243,12 @@ class ConversationManager:
> @throws MojoMessage.BadFormatError if the message isn't
> properly formatted in
> MojoMessage format
>
> - @precondition `counterparty_id' must be an id.:
> idlib.is_sloppy_id(counterparty_id): "counterparty_id: %s" %
> hr(counterparty_id)
> + @precondition `counterparty_id' must be an id.:
> idlib.is_sloppy_id(counterparty_id): "counterparty_id: %s" %
> humanreadable.hr(counterparty_id)
>
> - @postcondition Result must not be `None'.: result is not None:
> "result: %s" % hr(result)
> - @postcondition Result must be either MojoConstants.NO_RESPONSE
> or MojoConstants.ASYNC_RESPONSE or else a tuple whose first element is
> the full msg body dict and whose second element is a commshint,
> containing either a "mojo header" subdict or a "mojo message" subdict or
> both.: (result is MojoConstants.NO_RESPONSE) or (result is
> MojoConstants.ASYNC_RESPONSE) or ((type(result) in (types.TupleType,
> types.ListType,)) and (len(result) == 2) and is_mojo_message(result[0])
> and CommHints.is_hint(result[1])): "result: %s" % hr(result)
> + @postcondition Result must not be `None'.: result is not None:
> "result: %s" % humanreadable.hr(result)
> + @postcondition Result must be either MojoConstants.NO_RESPONSE
> or MojoConstants.ASYNC_RESPONSE or else a tuple whose first element is
> the full msg body dict and whose second element is a commshint,
> containing either a "mojo header" subdict or a "mojo message" subdict or
> both.: (result is MojoConstants.NO_RESPONSE) or (result is
> MojoConstants.ASYNC_RESPONSE) or ((type(result) in (types.TupleType,
> types.ListType,)) and (len(result) == 2) and is_mojo_message(result[0])
> and CommHints.is_hint(result[1])): "result: %s" %
> humanreadable.hr(result)
> """
> - assert idlib.is_sloppy_id(counterparty_id), "precondition:
> `counterparty_id' must be an id." + " -- " + "counterparty_id: %s" %
> hr(counterparty_id)
> + assert idlib.is_sloppy_id(counterparty_id), "precondition:
> `counterparty_id' must be an id." + " -- " + "counterparty_id: %s" %
> humanreadable.hr(counterparty_id)
>
> counterparty_id = idlib.canonicalize(counterparty_id, "broker")
>
> @@ -272,9 +273,9 @@ class ConversationManager:
> if config.MAX_VERBOSITY >= 5:
> debugprint("<=== %s: receiving: %s, %s bytes uncomp\n"
> % (humread.abbrev(counterparty_id), MojoMessage.repr_msg(msg),
> len(msg),), v=5)
> elif config.MAX_VERBOSITY >= 3:
> - debugprint("<=== %s: receiving: (id: %s, type: %s, %s
> bytes uncomp, ...)\n", args=(counterparty_id, msgId, msgtype, len(msg)),
> v=3)
> + debugprint("<=== %s: receiving: (id: %s, type: %s, %s
> bytes uncomp, ...)\n" % (humanreadable.hr(counterparty_id),
> humanreadable.hr(msgId), msgtype, len(msg),), v=3)
> elif config.MAX_VERBOSITY >= 2:
> - debugprint("<=== %s: receiving: (type: %s, %s bytes
> uncomp, ...)\n", args=(counterparty_id, msgtype, len(msg),), v=2)
> + debugprint("<=== %s: receiving: (type: %s, %s bytes
> uncomp, ...)\n" % (humanreadable.hr(counterparty_id), msgtype,
> len(msg),), v=2)
> elif config.MAX_VERBOSITY >= 1:
> debugprint("<=== %s: receiving: (%s bytes uncomp,
> ...)\n", args=(counterparty_id, len(msg),), v=1)
>
> @@ -312,7 +313,7 @@ class ConversationManager:
> response = result
> commhints = HINT_NO_HINT
>
> - assert (response in (MojoConstants.NO_RESPONSE,
> MojoConstants.ASYNC_RESPONSE,)) or is_mojo_message(response), 'Result
> must be either None or else the full msg body dict, containing either a
> "mojo header" subdict or a "mojo message" subdict or both.' + ' -- '
> + "result: %s" % hr(result)
> + assert (response in (MojoConstants.NO_RESPONSE,
> MojoConstants.ASYNC_RESPONSE,)) or is_mojo_message(response), 'Result
> must be either None or else the full msg body dict, containing either a
> "mojo header" subdict or a "mojo message" subdict or both.' + ' -- '
> + "result: %s" % humanreadable.hr(result)
> if response in (MojoConstants.NO_RESPONSE,
> MojoConstants.ASYNC_RESPONSE,):
> return response
> else:
> @@ -390,9 +391,9 @@ class ConversationManager:
> self._map_cid_to_freshness_proof[counterparty_id] = msgId
>
> result = self._process(inmsg, msgId, counterparty_id,
> commstrat)
> - assert result is not None, "Result must not be `None'." + "
> -- " + "result: %s" % hr(result)
> - assert (result is MojoConstants.NO_RESPONSE) or (result is
> MojoConstants.ASYNC_RESPONSE) or ((type(result) in (types.TupleType,
> types.ListType,)) and (len(result) == 2) and is_mojo_message(result[0])
> and CommHints.is_hint(result[1])), "postcondition: Result must be either
> MojoConstants.NO_RESPONSE or MojoConstants.ASYNC_RESPONSE or else a
> tuple whose first element is the full msg body dict, containing either a
> \"mojo header\" subdict or a \"mojo message\" subdict or both." + "--"
> + "result: %s" % hr(result)
> + assert result is not None, "Result must not be `None'." + "
> -- " + "result: %s" % humanreadable.hr(result)
> + assert (result is MojoConstants.NO_RESPONSE) or (result is
> MojoConstants.ASYNC_RESPONSE) or ((type(result) in (types.TupleType,
> types.ListType,)) and (len(result) == 2) and is_mojo_message(result[0])
> and CommHints.is_hint(result[1])), "postcondition: Result must be either
> MojoConstants.NO_RESPONSE or MojoConstants.ASYNC_RESPONSE or else a
> tuple whose first element is the full msg body dict, containing either a
> \"mojo header\" subdict or a \"mojo message\" subdict or both." + "--"
> + "result: %s" % humanreadable.hr(result)
>
> self._MTM._peerman.mark_as_live(counterparty_id)
>
>
>
> -------------------------------------------------------
> SF.Net is sponsored by: Speed Start Your Linux Apps Now.
> Build and deploy apps & Web services for Linux with
> a free DVD software kit from IBM. Click Now!
> http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
> _______________________________________________
> mnet-devel mailing list
> mnet-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mnet-devel
>
--
http://www.arnowaschk.de
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
mnet-devel mailing list
mnet-devel at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mnet-devel
More information about the Mnet-devel
mailing list