`
jgsj
  • 浏览: 962414 次
文章分类
社区版块
存档分类
最新评论

Alioss python Pypi包更新记录

 
阅读更多

上次打包了阿里的云服务,刚发现更新了,很久没更新之后终于更新了,更新日记如下,于是,也更新了此包。未来阿里应该在此方面会比较正式一点,也没有多大必要再更新了,于是修改了接口与其保持一致。


ChangeHistory
===============================================================
0.3.2   -   2013-10-20
* 修复osscmd的uploadfromdir命令中,在中文目录下,上传的object名字被截断的问题。
* 修复oss_util.py中DEBUG被设置成True的情况下无法打印log的问题。
* oss_api.py中增加了设置每次上传和下载大小的接口。
* osscmd增加了--debug=true来打印日志。
* oss_api.py中增加了上传失败时候的重试,最大重试100次。

0.3.1   -   2013-08-02
* 支持跳转。
* 给oss_api.py部分函数增加说明。

0.1.3   -   2013-07-12
* 支持multipart相关操作,osscmd增加multipart相关的接口。
  osscmd支持本地目录上传。
  osscmd支持将bucket的某一个prefix的object下载到本地的目录。

0.1.0   -   2011-11-15
* 第一次操作支持基本的创建,删除和显示bucket。
  支持创建,删除和显示object。

这里就不吐嘈两次更新差了那么久了。(转载自Phodal's Blog)


补充下阿里OSS SDK的steup.py缺少的东西。

		scripts=[
			'oss/osscmd.py',
		],

事实 上也就是把SDK中的osscmd复制到oss,命名为osscmd.py。完整的setup.py如下:

#!/usr/bin/env python
try:
    from setuptools import setup
except ImportError:
    from distutils.core import setup

import os
import sys
import oss.pkg_info

if float("%d.%d" % sys.version_info[:2]) < 2.5 or float("%d.%d" % sys.version_info[:2]) >= 3.0:
	sys.stderr.write("Your Python version %d.%d.%d is not supported.\n" % sys.version_info[:3])
	sys.stderr.write("osscmd requires Python between 2.4 and 3.0.\n")
	sys.exit(1)

source_dir_list = []
package_list = []
data_file_dict = {}
data_file_list = []
for dir in os.listdir(os.getcwd()):
    if os.path.exists(os.path.join(dir, '__init__.py')):
        package_list.append(dir)
        source_dir_list.append(dir)

for source_dir in source_dir_list:
    for rootDir, dirs, files in os.walk(source_dir):
        for dir in dirs:
            dir = os.path.join(rootDir, dir)
            if os.path.exists(os.path.join(dir, '__init__.py')):
                package_list.append(dir.replace(os.sep, '.'))
        for file in files:
            file = os.path.join(rootDir, file)
            if not file.endswith('.py') and not file.endswith('.pyc') and '.svn' not in file:
                if rootDir not in data_file_dict.keys():
                    data_file_dict[rootDir] = [file]
                else:
                    data_file_dict[rootDir].append(file)

for k, v in data_file_dict.items():
    data_file_list.append((k, v))

setup(
	name = oss.pkg_info.package,
	version = oss.pkg_info.version,
    packages=package_list,
    data_files=data_file_list,

	author = "Phodal.Gmszone",
	author_email = "gmszone@gmail.com",
	url = oss.pkg_info.url,
	license = oss.pkg_info.license,
	description = oss.pkg_info.short_description,
	long_description = oss.pkg_info.long_description,
	

		scripts=[
			'oss/osscmd.py',
		],
	)


安装Ali OSS

easy_install alioss
或者
pip install alioss 



注意事项


如果你之前用过alioss,记得修改一下
  1. fromalioss.oss_apiimport*
  2. fromalioss.oss_xml_handlerimport*

  1. from oss_apiimport*
  2. from oss_xml_handlerimport*

为的是与官方接口保持一致,以后就不再更新了。


OSSCMD方法和官网一致

换句话说,我只是打包了他们的包。
 运行

"osscmd.py config --id=YOUR_ID --key=YOUR_KEY"

用来配置访问OSS所需要的认证码

osscmd.py getallbucket" 
列出创建的bucket.

这里就不再详细说明了。

代码可见:https://github.com/gmszone/alioss
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics