VoiceMessage   A
last analyzed

Complexity

Total Complexity 0

Size/Duplication

Total Lines 5
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 0
dl 0
loc 5
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
1
# -*- coding: utf-8 -*-
2
3 15
import six
4 15
from werobot.messages.entries import StringEntry, IntEntry, FloatEntry
5
from werobot.messages.base import WeRoBotMetaClass
6 15
7
8
class MessageMetaClass(WeRoBotMetaClass):
9 15
    pass
10 15
11 15
12
@six.add_metaclass(MessageMetaClass)
13 15
class WeChatMessage(object):
14 15
    message_id = IntEntry('MsgId', 0)
15 15
    target = StringEntry('ToUserName')
16 15
    source = StringEntry('FromUserName')
17 15
    time = IntEntry('CreateTime', 0)
18
19 15
    def __init__(self, message):
20 15
        self.__dict__.update(message)
21
22
23 15
class TextMessage(WeChatMessage):
24 15
    __type__ = 'text'
25 15
    content = StringEntry('Content')
26 15
27 15
28 15
class ImageMessage(WeChatMessage):
29
    __type__ = 'image'
30 15
    img = StringEntry('PicUrl')
31 15
32
33
class LocationMessage(WeChatMessage):
34 15
    __type__ = 'location'
35 15
    location_x = FloatEntry('Location_X')
36 15
    location_y = FloatEntry('Location_Y')
37
    label = StringEntry('Label')
38
    scale = IntEntry('Scale')
39 15
40 15
    @property
41 15
    def location(self):
42
        return self.location_x, self.location_y
43
44 15
45 15
class LinkMessage(WeChatMessage):
46 15
    __type__ = 'link'
47 15
    title = StringEntry('Title')
48 15
    description = StringEntry('Description')
49 15
    url = StringEntry('Url')
50
51 15
52
class VoiceMessage(WeChatMessage):
53 15
    __type__ = 'voice'
54
    media_id = StringEntry('MediaId')
55
    format = StringEntry('Format')
56 15
    recognition = StringEntry('Recognition')
57 15
58 15
59 15
class VideoMessage(WeChatMessage):
60 15
    __type__ = ['video', 'shortvideo']
61
    media_id = StringEntry('MediaId')
62
    thumb_media_id = StringEntry('ThumbMediaId')
63 15
64 15
65 15
class UnknownMessage(WeChatMessage):
66
    __type__ = 'unknown'
67