Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于插件:安装和编写 #148

Closed
cosven opened this issue May 11, 2016 · 3 comments
Closed

关于插件:安装和编写 #148

cosven opened this issue May 11, 2016 · 3 comments
Labels

Comments

@cosven
Copy link
Member

cosven commented May 11, 2016

UPDATE 2019-05-19: feeluown 3.0 支持了新的插件发现机制,原理可以参考 python packaging 文档。例子可以参考 feeluown-netease 或者 feeluown-local 等。

已知的可用插件,大家可以自己安装使用

在这个新版本中,各种插件都需要 自己动手安装

现在我个人编写了三个插件:

插件的安装使用

下载插件包,把插件包放在 ~/.FeelUOwn/plugins 目录下即可。下次重启软件时就会自动加载。(等软件完善之后,可以不需要重启)

插件开发

这次重新开发新版本,对怎样更容易的开发插件还是有着重考虑的。因为之前发现,大家写插件的激情不够,或者说根本没有(苦笑脸),我反思下,一方面,没有插件开发文档,没有教程。另一方面,代码架构不好,编写难度太高。(其实原因还有很多啦...)

插件示例

一个简单插件的示例:https://github.com/cosven/feeluown-mpris2-plugin.git
一个复杂插件的示例:参考 https://github.com/cosven/FeelUOwn/tree/master/feeluown/plugins/neteasemusic

怎样编写一个插件

编写一个插件,说难不难,说容易嘛,个人感觉真的挺容易。不过你要会 编程 ^_^。如果你会 Python,那么编写一个简单地插件简直易如反掌。我没吹...

一个插件其实就是一个 Python Package。这个 Package 的结构大概是这样。

.
├── __init__.py
├── README.md
└── xxx.py

你需要在 __init__.py 中实现5个东西,它们是三个变量,和两个函数。三个变量分别是:__alias____version____desc__。两个函数就是:enable(app)disable(app)

下面是一个最简单的插件示例

# __init__.py


__alias__ = 'demo'
__version__ = '0.0.1'
__desc__ = 'demo description'

def enable(app):
    # do something
    pass

def disable(app):
     pass
@cosven cosven added the docs label May 11, 2016
@zhangweilun
Copy link

赞!

1 similar comment
@rikonaka
Copy link

赞!

@SangeCoder
Copy link

大神,能加个QQ咨询一下吗? 我的952974923 验证:google

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants