From 6115c0592a5d24e2708bd2763093c3dc1ae79d0a Mon Sep 17 00:00:00 2001 From: wjmcat Date: Sat, 29 Feb 2020 16:03:40 +0800 Subject: [PATCH 1/4] quick test --- src/wechaty/accessory.py | 21 ++++++++++++ src/wechaty/config.py | 7 ++++ src/wechaty/images.py | 70 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 src/wechaty/accessory.py create mode 100644 src/wechaty/config.py create mode 100644 src/wechaty/images.py diff --git a/src/wechaty/accessory.py b/src/wechaty/accessory.py new file mode 100644 index 00000000..497f0fbd --- /dev/null +++ b/src/wechaty/accessory.py @@ -0,0 +1,21 @@ +from abc import ABCMeta,abstractclassmethod +from typing import Any +from enum import Enum + +class Puppet(object): + + def messageImage(self,id:int,image_type : Enum): + pass + +class Accessory(object): + """ + + """ + __metaclass__ = ABCMeta + + def __init__(self): + self.puppet = + + @abstractclassmethod + def __str__(self): + raise NotImplementedError diff --git a/src/wechaty/config.py b/src/wechaty/config.py new file mode 100644 index 00000000..0a8c7ade --- /dev/null +++ b/src/wechaty/config.py @@ -0,0 +1,7 @@ +import logging + + +class FileBox: + pass + +log = logging.getLogger(__name__) \ No newline at end of file diff --git a/src/wechaty/images.py b/src/wechaty/images.py new file mode 100644 index 00000000..ea0f60dc --- /dev/null +++ b/src/wechaty/images.py @@ -0,0 +1,70 @@ +from src.wechaty.accessory import Accessory +from src.wechaty.config import FileBox,log +from typing import Optional,Type,TypeVar +import asyncio +from enum import IntEnum + +T = TypeVar("T") + + +class ImageType(IntEnum): + """ + docstring ... + """ + Thumbnail = 0, + HD = 1, + Artwork = 2 + +class Image(Accessory): + """ + docstring ... + """ + def __init__(self,id:str) -> None: + super(Image,self).__init__() + self.id = id + log.info(f"create image : {self.__name__}") + + if self.puppet is None: + raise NotImplementedError("Image class can not be instanciated without a puppet!") + + + @staticmethod + def create(cls:Type[T],id:str) -> "Image": + """ + docstring + :param cls: + :param id: + :return: + """ + log.info(f"create static image : {id}") + return Image(id) + + async def thumbnail(self) -> FileBox: + """ + docstring + :return: + """ + log.info(f"image thumbnail for {self.id}") + file_box = await self.puppet.messageImage(self.id, ImageType.Thumbnail) + return file_box + + async def hd(self) -> FileBox: + """ + docstring + :return: + """ + log.info(f"image hd for {self.id}") + file_box = await self.puppet.messageImage(self.id,ImageType.HD) + return file_box + + async def artwork(self) -> FileBox: + """ + docstring + :return: + """ + log.info(f"image artwork for {self.id}") + file_box = await self.puppet.messageImage(self.id, ImageType.Artwork) + return file_box + + + From 512173472c044b3cb96a5d6585a7d06049491c97 Mon Sep 17 00:00:00 2001 From: wjmcat Date: Sat, 29 Feb 2020 16:14:11 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/wechaty/accessory.py | 14 ++++++++++++-- src/wechaty/images.py | 13 +++++-------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/wechaty/accessory.py b/src/wechaty/accessory.py index 497f0fbd..e035ed27 100644 --- a/src/wechaty/accessory.py +++ b/src/wechaty/accessory.py @@ -4,7 +4,13 @@ class Puppet(object): - def messageImage(self,id:int,image_type : Enum): + def message_image(self,id:int,image_type : Enum): + """ + docstring + :param id: + :param image_type: + :return: + """ pass class Accessory(object): @@ -14,8 +20,12 @@ class Accessory(object): __metaclass__ = ABCMeta def __init__(self): - self.puppet = + self.puppet = Puppet() @abstractclassmethod def __str__(self): + """ + docstring + :return: + """ raise NotImplementedError diff --git a/src/wechaty/images.py b/src/wechaty/images.py index ea0f60dc..5016bc92 100644 --- a/src/wechaty/images.py +++ b/src/wechaty/images.py @@ -4,9 +4,6 @@ import asyncio from enum import IntEnum -T = TypeVar("T") - - class ImageType(IntEnum): """ docstring ... @@ -29,7 +26,7 @@ def __init__(self,id:str) -> None: @staticmethod - def create(cls:Type[T],id:str) -> "Image": + def create(cls:Image,id:str) -> Image: """ docstring :param cls: @@ -37,7 +34,7 @@ def create(cls:Type[T],id:str) -> "Image": :return: """ log.info(f"create static image : {id}") - return Image(id) + return cls(id) async def thumbnail(self) -> FileBox: """ @@ -45,7 +42,7 @@ async def thumbnail(self) -> FileBox: :return: """ log.info(f"image thumbnail for {self.id}") - file_box = await self.puppet.messageImage(self.id, ImageType.Thumbnail) + file_box = await self.puppet.message_image(self.id, ImageType.Thumbnail) return file_box async def hd(self) -> FileBox: @@ -54,7 +51,7 @@ async def hd(self) -> FileBox: :return: """ log.info(f"image hd for {self.id}") - file_box = await self.puppet.messageImage(self.id,ImageType.HD) + file_box = await self.puppet.message_image(self.id,ImageType.HD) return file_box async def artwork(self) -> FileBox: @@ -63,7 +60,7 @@ async def artwork(self) -> FileBox: :return: """ log.info(f"image artwork for {self.id}") - file_box = await self.puppet.messageImage(self.id, ImageType.Artwork) + file_box = await self.puppet.message_image(self.id, ImageType.Artwork) return file_box From b57c4f306ad74c524215463b1ce1daf1e26b8ecf Mon Sep 17 00:00:00 2001 From: wjmcat Date: Sat, 29 Feb 2020 18:26:28 +0800 Subject: [PATCH 3/4] add email address --- src/wechaty/images.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/wechaty/images.py b/src/wechaty/images.py index 5016bc92..d9254ea4 100644 --- a/src/wechaty/images.py +++ b/src/wechaty/images.py @@ -4,6 +4,7 @@ import asyncio from enum import IntEnum + class ImageType(IntEnum): """ docstring ... From 13a3ee122dcb7d4adda729f33b1ab6f2c9e39b8d Mon Sep 17 00:00:00 2001 From: wjmcat <1435130236@qq.com> Date: Sat, 29 Feb 2020 18:42:39 +0800 Subject: [PATCH 4/4] change local email --- src/wechaty/images.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/wechaty/images.py b/src/wechaty/images.py index d9254ea4..5016bc92 100644 --- a/src/wechaty/images.py +++ b/src/wechaty/images.py @@ -4,7 +4,6 @@ import asyncio from enum import IntEnum - class ImageType(IntEnum): """ docstring ...