Use type hints for squeak display entry function (#768)

* Use type hint for squeak entry to message function

* Use type hint for squeak profile to msg function

* Rename messages module in admin
This commit is contained in:
Jonathan Zernik 2021-01-30 22:25:29 -08:00 committed by GitHub
parent a07e73faa4
commit defc7f5935
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 28 deletions

View file

@ -7,6 +7,7 @@ from squeaknode.core.received_offer_with_peer import ReceivedOfferWithPeer
from squeaknode.core.received_payment_summary import ReceivedPaymentSummary
from squeaknode.core.sent_payment_summary import SentPaymentSummary
from squeaknode.core.squeak_entry_with_profile import SqueakEntryWithProfile
from squeaknode.core.squeak_profile import SqueakProfile
from squeaknode.core.util import get_hash
@ -16,31 +17,21 @@ logger = logging.getLogger(__name__)
DEFAULT_PROFILE_IMAGE = load_default_profile_image()
def squeak_entry_to_message(squeak_entry_with_profile: SqueakEntryWithProfile):
if squeak_entry_with_profile is None:
return None
def squeak_entry_to_message(squeak_entry_with_profile: SqueakEntryWithProfile) -> squeak_admin_pb2.SqueakDisplayEntry:
squeak_entry = squeak_entry_with_profile.squeak_entry
squeak = squeak_entry.squeak
block_header = squeak_entry.block_header
is_unlocked = squeak.HasDecryptionKey()
content_str = squeak.GetDecryptedContentStr() if is_unlocked else None
squeak_profile = squeak_entry_with_profile.squeak_profile
# author_name = squeak_profile.profile_name if squeak_profile else None
is_reply = squeak.is_reply
reply_to = squeak.hashReplySqk.hex() if is_reply else None
# if squeak_profile:
# profile_image = squeak_profile.profile_image or DEFAULT_PROFILE_IMAGE
# else:
# profile_image = DEFAULT_PROFILE_IMAGE
# # has_custom_profile_image = squeak_profile.profile_image is not None
# image_base64_str = bytes_to_base64_string(profile_image)
author_address = str(squeak.GetAddress())
squeak_profile = squeak_entry_with_profile.squeak_profile
is_author_known = False
profile_msg = None
if squeak_profile is not None:
is_author_known = True
profile_msg = squeak_profile_to_message(squeak_profile)
else:
is_author_known = False
profile_msg = None
return squeak_admin_pb2.SqueakDisplayEntry(
squeak_hash=get_hash(squeak).hex(),
is_unlocked=squeak.HasDecryptionKey(),
@ -56,9 +47,7 @@ def squeak_entry_to_message(squeak_entry_with_profile: SqueakEntryWithProfile):
)
def squeak_profile_to_message(squeak_profile):
if squeak_profile is None:
return None
def squeak_profile_to_message(squeak_profile: SqueakProfile) -> squeak_admin_pb2.SqueakProfile:
has_private_key = squeak_profile.private_key is not None
profile_image = squeak_profile.profile_image or DEFAULT_PROFILE_IMAGE
has_custom_profile_image = squeak_profile.profile_image is not None

View file

@ -2,16 +2,16 @@ import logging
import sys
from proto import squeak_admin_pb2
from squeaknode.admin.messages import offer_entry_to_message
from squeaknode.admin.messages import payment_summary_to_message
from squeaknode.admin.messages import received_payments_to_message
from squeaknode.admin.messages import sent_offer_to_message
from squeaknode.admin.messages import sent_payment_with_peer_to_message
from squeaknode.admin.messages import squeak_entry_to_detail_message
from squeaknode.admin.messages import squeak_entry_to_message
from squeaknode.admin.messages import squeak_peer_to_message
from squeaknode.admin.messages import squeak_profile_to_message
from squeaknode.admin.profile_image_util import base64_string_to_bytes
from squeaknode.admin.util import offer_entry_to_message
from squeaknode.admin.util import payment_summary_to_message
from squeaknode.admin.util import received_payments_to_message
from squeaknode.admin.util import sent_offer_to_message
from squeaknode.admin.util import sent_payment_with_peer_to_message
from squeaknode.admin.util import squeak_entry_to_detail_message
from squeaknode.admin.util import squeak_entry_to_message
from squeaknode.admin.util import squeak_peer_to_message
from squeaknode.admin.util import squeak_profile_to_message
from squeaknode.core.squeak_controller import SqueakController
from squeaknode.lightning.lnd_lightning_client import LNDLightningClient
from squeaknode.sync.squeak_sync_controller import SqueakSyncController
@ -145,7 +145,7 @@ class SqueakAdminServerHandler(object):
logger.info("Handle get squeak profile with id: {}".format(profile_id))
squeak_profile = self.squeak_controller.get_squeak_profile(profile_id)
if squeak_profile is None:
return None
raise Exception("Profile not found.")
squeak_profile_msg = squeak_profile_to_message(squeak_profile)
return squeak_admin_pb2.GetSqueakProfileReply(
squeak_profile=squeak_profile_msg,
@ -157,6 +157,8 @@ class SqueakAdminServerHandler(object):
"Handle get squeak profile with address: {}".format(address))
squeak_profile = self.squeak_controller.get_squeak_profile_by_address(
address)
if squeak_profile is None:
raise Exception("Profile not found.")
squeak_profile_msg = squeak_profile_to_message(squeak_profile)
return squeak_admin_pb2.GetSqueakProfileByAddressReply(
squeak_profile=squeak_profile_msg
@ -167,6 +169,8 @@ class SqueakAdminServerHandler(object):
logger.info("Handle get squeak profile with name: {}".format(name))
squeak_profile = self.squeak_controller.get_squeak_profile_by_name(
name)
if squeak_profile is None:
raise Exception("Profile not found.")
squeak_profile_msg = squeak_profile_to_message(squeak_profile)
return squeak_admin_pb2.GetSqueakProfileByNameReply(
squeak_profile=squeak_profile_msg
@ -273,7 +277,11 @@ class SqueakAdminServerHandler(object):
squeak_entry_with_profile = (
self.squeak_controller.get_squeak_entry_with_profile(squeak_hash)
)
display_message = squeak_entry_to_message(squeak_entry_with_profile)
if squeak_entry_with_profile is None:
display_message = None
else:
display_message = squeak_entry_to_message(
squeak_entry_with_profile)
return squeak_admin_pb2.GetSqueakDisplayReply(
squeak_display_entry=display_message
)