显示标签为“google”的博文。显示所有博文
显示标签为“google”的博文。显示所有博文

2010-10-27

导出Google Apps里所有的用户组和组员

Google Apps的管理功能很不错,但用户组多了不好管理,时常要拿出来晒晒,调整一下结构。这就经常需要把所有组和组员列出来,幸亏Google提供了API,懒人的办法就是用脚本搞定。下面是python示例,输出比较简单。知道了如何做,你可以自己改成输出csv或者任何其他格式,都会容易。多说无益,上代码。

#!/usr/bin/env python
# Author: xieyanbo@gmail.com
# dump_google_apps_mail_groups.py
# export mail groups and group members from Google Apps service

import gdata.apps.groups.service

def print_all_members(email, domain, password):
group_service = gdata.apps.groups.service.GroupsService(email=email,
domain=domain, password=password)
group_service.ProgrammaticLogin()

def print_members(group_id):
for user in group_service.RetrieveAllMembers(group_id):
print user['memberId']

def shrink(str, max=20):
if not str:
return ''
str = str.replace('\n', ' ').strip().decode('utf8')
if len(str) > max:
short = str[:max-3] + '...'
else:
short = str
return str.encode('utf8')

def print_groups(groups):
for group in groups:
gid = group['groupId']
print '%s, %s, %s' % (gid, group['groupName'],
shrink(group['description']))
print '='*60
print_members(gid)
print

groups = group_service.RetrieveAllGroups()
print_groups(groups)

def main():
from optparse import OptionParser
parser = OptionParser()

parser.add_option('-e', '--email')
parser.add_option('-d', '--domain')
parser.add_option('-p', '--password')
options, args = parser.parse_args()

if not options.email:
parser.error('need email address to login')
if not options.domain:
parser.error('need domain to login')
if not options.password:
import getpass
password = getpass.getpass('Password: ')
else:
password = options.password or login
print_all_members(options.email, options.domain, password)

if __name__ == '__main__':
main()

2007-11-16

人们研究android的热情高涨

短短一天时间,又有很多新情况发生。

首先,有人测试了汉字的显示,发现可以支持。我也在模拟器里试了一下,确实很容易。系统内带了几种字体,其中有一款支持CJK字符。

其次,有人成功编译了c版本的hello world,并执行成功。使用的是arm的编译器。而且还编译了全功能的busybox,可以安装到模拟器的系统中。

另外,已经有人成功编译linux放入android模拟器中运行。

邮件列表里很多人都在打听、讨论能不能用C/C++/Python/Ruby之类的语言代替java来开发。今天去jython的项目主页看了看,惊奇的发现项目复苏了,jython 2.2已经正式发布。期待高手把jython打包集成进android吧。

2007-11-14

android真是热火朝天呀

才一天,android的google group里就600多主题了。可惜blogsearch.google.com里还现在搜不到任何andriod主题的blog文章,但我已经四处看到不少文章了。我也下载了一个sdk,用起来很不错。模拟器是基于qemu的,速度很快。不过浏览豆瓣会有文字重叠或者被压缩成条的问题,跟豆瓣的css和 layout table有很大关系,看来要改善在手机的webkit浏览器上的效果,豆瓣还要做很多努力。

google groups里有人在问,能不能用python语言来做开发。但从架构来看,官方会提供的应该只有java。所以有人建议用jython来做,一样能访问所有的api,这个主意倒是不错,但jython项目现在还活跃吗?用五六年前的python语法和类库来开发程序,还是让我死了好啦。

不知道有没有提供像XIM之类的输入法api,但是既然和中国电信、日本docomo这些公司合作,应该会有人在做CJK的输入法吧?可是对他们的开发出来东西的质量表示怀疑,各个智能手机平台上好用的中文输入法大多是个人开发的,这个功能需要好的用户体验才能,这些大公司往往欠缺的就是替用户着想的能力或说是动力。