Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.

Commit 364aa56

Browse files
committed
Handle audio/video message types
Fixes #170.
1 parent bc73d3c commit 364aa56

File tree

1 file changed

+50
-2
lines changed

1 file changed

+50
-2
lines changed

skpy/msg.py

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@ def fromRaw(cls, skype=None, raw={}):
250250
"RichText/Location": SkypeLocationMsg,
251251
"RichText/Media_GenericFile": SkypeFileMsg,
252252
"RichText/UriObject": SkypeImageMsg,
253+
"RichText/Media_AudioMsg": SkypeAudioMsg,
254+
"RichText/Media_Video": SkypeVideoMsg,
253255
"RichText/Media_Card": SkypeCardMsg,
254256
"Event/Call": SkypeCallMsg,
255257
"ThreadActivity/TopicUpdate": SkypeTopicPropertyMsg,
@@ -625,14 +627,60 @@ def html(self):
625627
if not self.file:
626628
return ""
627629
tag = makeTag("URIObject", type="Picture.1", uri=self.file.urlFull, url_thumbnail=self.file.urlThumb)
628-
tag.append(makeTag("Title"))
629-
tag.append(makeTag("Description"))
630630
tag.append(makeTag("OriginalName", v=self.file.name))
631631
tag.append(makeTag("a", self.file.urlView, href=self.file.urlView))
632632
tag.append(makeTag("meta", type="photo", originalName=self.file.name))
633633
return tag
634634

635635

636+
@SkypeUtils.initAttrs
637+
class SkypeAudioMsg(SkypeFileMsg):
638+
"""
639+
A message containing audio shared in a conversation.
640+
"""
641+
642+
@property
643+
@SkypeUtils.cacheResult
644+
def fileContent(self):
645+
if not self.file:
646+
return None
647+
return self.skype.conn("GET", "{0}/views/audio".format(self.file.urlAsm),
648+
auth=SkypeConnection.Auth.Authorize).content
649+
650+
@property
651+
def html(self):
652+
if not self.file:
653+
return ""
654+
tag = makeTag("URIObject", type="Audio.1", uri=self.file.urlFull, url_thumbnail=self.file.urlThumb)
655+
tag.append(makeTag("OriginalName", v=self.file.name))
656+
tag.append(makeTag("a", self.file.urlView, href=self.file.urlView))
657+
return tag
658+
659+
660+
@SkypeUtils.initAttrs
661+
class SkypeVideoMsg(SkypeFileMsg):
662+
"""
663+
A message containing a video shared in a conversation.
664+
"""
665+
666+
@property
667+
@SkypeUtils.cacheResult
668+
def fileContent(self):
669+
if not self.file:
670+
return None
671+
return self.skype.conn("GET", "{0}/views/video".format(self.file.urlAsm),
672+
auth=SkypeConnection.Auth.Authorize).content
673+
674+
@property
675+
def html(self):
676+
if not self.file:
677+
return ""
678+
tag = makeTag("URIObject", type="Video.1", uri=self.file.urlFull, url_thumbnail=self.file.urlThumb)
679+
tag.append(makeTag("OriginalName", v=self.file.name))
680+
tag.append(makeTag("a", self.file.urlView, href=self.file.urlView))
681+
return tag
682+
683+
636684
@SkypeUtils.initAttrs
637685
@SkypeUtils.convertIds("users")
638686
class SkypeCallMsg(SkypeMsg):

0 commit comments

Comments
 (0)