中国Linux公社论坛's Archiver

yunfan 发表于 2007-6-24 17:00

Eva 脚本编写指南

[b]Eva 脚本编写指南[/b]

[color=blue]1. 简介[/color]
Eva 可以通过打开独立进程来运行一个脚本。通过 KDE 目前的进程通讯机制 DCOP (在KDE4中, 将使用dbus)来进行进程间的通讯。
脚本可以通过Eva 提供的 DCOP 接口函数来调用 Eva 的功能, Eva 则通过写入脚本所在进程的“标准输入”来反馈消息。

[color=blue]2. Eva 脚本语言的要求[/color]
任何在linux上可以运行的脚本,理论上都可以被Eva 支持。 但是由于linux系统的定制性和多样性, 导致环境的不一致。 比如,如果在
没有安装pyKDE 支持的机器上, 含有 pyKDE 代码的 python 脚本就无法正常运行。 所以, 建议大家使用尽量少的外部依赖, 这样
可以确保脚本在更多机器上运行。比如 bash 脚本。

[color=blue]3.Eva 脚本安装包[/color]
由于Eva 脚本管理部分基本是学习Amarok而来, 所以很多地方和Amarok都保持了一致(脚本管理器代码大概80%代码是从Amarok复制而来)。

[b]3.1 安装包的构成[/b]
一个标准(基本)的 Eva 脚本安装包包括: 脚本,规格文件,说明文件,许可说明 四个文件。

[i]3.1.1 规格文件要求[/i]
目前规格文件包括两行:第一行是指定脚本名称,这个名称将会显示到Eva的脚本管理器中(请一定注意,这个名字在一些Eva的DCOP
方法里需要用到, 当传参数时,请使用这个文件里标注的名字), 第二行是脚本类型。
脚本类型在Eva 中实际上是注册脚本需要得到的消息类型
[code]
name = 我的脚本
type = message, status
[/code]
上面的例子是指定脚本名字叫“我的脚本”, 脚本需要接收聊天消息 还有好友状态改变消息。

[i]3.1.2 说明文件要求[/i]
说明文件名规定为固定名称:README
内容没有特殊的要求, 可以使用HTML的tag,下面是一个简单的例子
[code]
<div align="center"><b>我的脚本</b></div>

<p>
<b>关于:</b><br>
这是一个Eva脚本
</p>

<p>
<b>使用方法:</b><br>
测试
</p>

<p>
<b>依赖:</b><br>
>=eva-20070620
</p>

<p>
<b>感谢:</b><br>
感谢CCTV, 感谢TVB, 感谢湖南电视台 ~~~~
</p>

<p>
<b>作者:</b><br>
你的名字, 你的email
</p>
[/code]

[i]3.1.3 许可说明文件要求[/i]
许可说明文件的文件名固定为“COPYING”
里面是文本的许可说明。我们建议使用GPL 第二版做为许可说明, 但您可以自由选择自己喜欢的许可说明

[b]3.2 Eva 脚本安装包的制作[/b]
[i]3.2.1 目录结构[/i]
制作Eva脚本,需要首先创建一个目录, 目录名称为你编写的脚本的名称(不含扩展名部分)。
然后, 将你的脚本文件, 规格文件,说明文件,许可说明文件复制到这个目录下。最后把这个目录
打包即可。

[i]3.2.2 命名规则[/i]
上面已经提到过一点了。 目录名称需要和脚本名称以及规格文件名称一致。 脚本文件名的扩展名没有
要求。规格文件的扩展名固定为“.spec”。 说明文件名称固定为README, 许可说明文件名称固定为
COPYING。下面就是一个脚本为 myscript.sh 的目录结构
[code]
myscript -- COPYING
         |- myscript.sh
         |- myscript.spec
         |- README
[/code]

在做好了这个工作后, 需要把myscript 这个目录打包, 打包工作需要使用tar, bzip工具。 打包后
的文件名必须是如下三种格式之一, 包括压缩方式“*.evascript.tar *.evascript.tar.bz2 *.evascript.tar.gz”
就上面的例子而言, 可以使用命令
[code]
tar cjvf myscript.evascript.tar.bz2 myscript
[/code]


最后, 有关Eva DCOP 和消息反馈的格式, 请参阅“Eva 脚本调用简述 ”一帖
脚本测试版本下载(注意:这是个测试版本, 存在很多不稳定因素, 建议普通用户使用sourceforge cvs 中的版本或者 0403 版本)
[url]http://www.myswear.net/myswear/eva/beta/eva-20070623.tar.bz2[/url]

KDE 发表于 2007-6-25 21:44

我在服务器上打了包,试用了一下新版本,感觉不错。

东方不坏 发表于 2007-6-29 09:56

真的很好,希望能及时发布新源:-D

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.