123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352 |
- Metadata-Version: 1.0
- Name: fdfs_client-py
- Version: 1.2.7
- Summary: Python client for Fastdfs ver 4.06
- Home-page: UNKNOWN
- Author: scott yuan
- Author-email: scottzer8@gmail.com
- License: GPLV3
- Description: # Fdfs_client py
-
- The Python interface to the Fastdfs Ver 4.06.
-
- ## Installation
-
- $ sudo python setup.py install
-
- ## Getting Started
- 1. import fdfs_client.client module
- 2. instantiate class Fdfs_client
- 3. call memeber functions
-
- >>>from fdfs_client.client import *
- >>>client = Fdfs_client('/etc/fdfs/client.conf')
- >>>ret = client.upload_by_filename('test')
- >>>ret
- {'Group name':'group1','Status':'Upload successed.', 'Remote file_id':'group1/M00/00/00/
- wKjzh0_xaR63RExnAAAaDqbNk5E1398.py','Uploaded size':'6.0KB','Local file name':'test'
- , 'Storage IP':'192.168.243.133'}
-
- ## API Reference
-
- Class Fdfs_client:
-
- member functions:
-
- * upload_by_filename(self, filename, meta_dict = None)
- '''
- Upload a file to Storage server.
- arguments:
- @filename: string, name of file that will be uploaded
- @meta_dict: dictionary e.g.:{
- 'ext_name' : 'jpg',
- 'file_size' : '10240B',
- 'width' : '160px',
- 'hight' : '80px'
- } meta_dict can be null
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : local_file_name,
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- } if success else None
-
- * upload_by_buffer(self, filebuffer, file_ext_name = None, meta_dict = None)
- '''
- Upload a buffer to Storage server.
- arguments:
- @filebuffer: string, buffer
- @file_ext_name: string, file extend name
- @meta_dict: dictionary e.g.:{
- 'ext_name' : 'jpg',
- 'file_size' : '10240B',
- 'width' : '160px',
- 'hight' : '80px'
- }
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : '',
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * upload_slave_by_filename(self, filename, remote_file_id, prefix_name, \
- meta_dict = None)
- '''
- Upload slave file to Storage server.
- arguments:
- @filename: string, local file name
- @remote_file_id: string, remote file id
- @prefix_name: string
- @meta_dict: dictionary e.g.:{
- 'ext_name' : 'jpg',
- 'file_size' : '10240B',
- 'width' : '160px',
- 'hight' : '80px'
- }
- @return dictionary {
- 'Status' : 'Upload slave successed.',
- 'Local file name' : local_filename,
- 'Uploaded size' : upload_size,
- 'Remote file id' : remote_file_id,
- 'Storage IP' : storage_ip
- }
- '''
-
- * upload_slave_by_buffer(self, filebuffer, remote_file_id, \
- meta_dict = None, file_ext_name = None)
- '''
- Upload slave file by buffer
- arguments:
- @filebuffer: string
- @remote_file_id: string
- @meta_dict: dictionary e.g.:{
- 'ext_name' : 'jpg',
- 'file_size' : '10240B',
- 'width' : '160px',
- 'hight' : '80px'
- }
- @return dictionary {
- 'Status' : 'Upload slave successed.',
- 'Local file name' : local_filename,
- 'Uploaded size' : upload_size,
- 'Remote file id' : remote_file_id,
- 'Storage IP' : storage_ip
- }
- '''
-
- * upload_appender_by_filename(self, local_filename, meta_dict = None)
- '''
- Upload an appender file by filename.
- arguments:
- @local_filename: string
- @meta_dict: dictionary e.g.:{
- 'ext_name' : 'jpg',
- 'file_size' : '10240B',
- 'width' : '160px',
- 'hight' : '80px'
- } Notice: it can be null
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : '',
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * upload_appender_by_buffer(self, filebuffer, file_ext_name = None, meta_dict = None)
- '''
- Upload a buffer to Storage server.
- arguments:
- @filebuffer: string
- @file_ext_name: string, can be null
- @meta_dict: dictionary, can be null
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : '',
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * delete_file(self, remote_file_id)
- '''
- Delete a file from Storage server.
- arguments:
- @remote_file_id: string, file_id of file that is on storage server
- @return tuple ('Delete file successed.', remote_file_id, storage_ip)
- '''
-
- * download_to_file(self, local_filename, remote_file_id, offset = 0, down_bytes = 0)
- '''
- Download a file from Storage server.
- arguments:
- @local_filename: string, local name of file
- @remote_file_id: string, file_id of file that is on storage server
- @offset: long
- @down_bytes: long
- @return dict {
- 'Remote file_id' : remote_file_id,
- 'Content' : local_filename,
- 'Download size' : downloaded_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * download_to_buffer(self, remote_file_id, offset = 0, down_bytes = 0)
- '''
- Download a file from Storage server and store in buffer.
- arguments:
- @remote_file_id: string, file_id of file that is on storage server
- @offset: long
- @down_bytes: long
- @return dict {
- 'Remote file_id' : remote_file_id,
- 'Content' : file_buffer,
- 'Download size' : downloaded_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * list_one_group(self, group_name)
- '''
- List one group information.
- arguments:
- @group_name: string, group name will be list
- @return Group_info, instance
- '''
-
- * list_all_groups(self)
- '''
- List all group information.
- @return dictionary {
- 'Groups count' : group_count,
- 'Groups' : list of groups
- }
- '''
-
- * list_servers(self, group_name, storage_ip = None)
- '''
- List all storage servers information in a group
- arguments:
- @group_name: string
- @return dictionary {
- 'Group name' : group_name,
- 'Servers' : server list,
- }
- '''
-
- * get_meta_data(self, remote_file_id)
- '''
- Get meta data of remote file.
- arguments:
- @remote_fileid: string, remote file id
- @return dictionary, meta data
- '''
-
- * set_meta_data(self, remote_file_id, \
- meta_dict, op_flag = STORAGE_SET_METADATA_FLAG_OVERWRITE)
- '''
- Set meta data of remote file.
- arguments:
- @remote_file_id: string
- @meta_dict: dictionary
- @op_flag: char, 'O' for overwrite, 'M' for merge
- @return dictionary {
- 'Status' : status,
- 'Storage IP' : storage_ip
- }
- '''
-
- * append_by_filename(self, local_filename, remote_fileid)
- '''
- Append a file of Storage server
- arguments:
- @local_filename: string
- @remote_fileid: string
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : '',
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * append_by_buffer(self, file_buffer, remote_fileid)
- '''
- Append a file of Storage server
- arguments:
- @file_buffer: string
- @remote_fileid: string
- @return dict {
- 'Group name' : group_name,
- 'Remote file_id' : remote_file_id,
- 'Status' : 'Upload successed.',
- 'Local file name' : '',
- 'Uploaded size' : upload_size,
- 'Storage IP' : storage_ip
- }
- '''
-
- * truncate_file(self, truncated_filesize, appender_fileid)
- '''
- Truncate file in Storage server.
- arguments:
- @truncated_filesize: long
- @appender_fileid: remote_fileid
- @return: dictionary {
- 'Status' : 'Truncate successed.',
- 'Storage IP' : storage_ip
- }
- '''
-
- * modify_by_filename(self, filename, appender_fileid, offset = 0)
- '''
- Modify a file in Storage server by filename.
- arguments:
- @filename: string, local file name
- @offset: long, file offset
- @appender_fileid: string, remote file id
- @return: dictionary {
- 'Status' : 'Modify successed.',
- 'Storage IP' : storage_ip
- }
- '''
-
- * modify_by_buffer(self, filebuffer, appender_fileid, offset = 0)
- '''
- Modify a file in Storage server by buffer.
- arguments:
- @filebuffer: string, file buffer
- @offset: long, file offset
- @appender_fileid: string, remote file id
- @return: dictionary {
- 'Status' : 'Modify successed.',
- 'Storage IP' : storage_ip
- }
- '''
-
- ### Connection Pools
-
- Behind the scenes, fdfs_client-py uses a connection pool to manage connections to
- sets of tracker server and storage server.
-
-
- ## Versioning scheme
-
- fdfs_client-py ver 1.2.7b support client protol of Fastdfs ver 4.06.
- Python must be ver 2.6 later.
-
- Author
- ------
-
- fdfs_client-py is developed and maintained by scott yuan (scottzer8@gmail.com)
- fdfs_client-py is bug fixed and maintained by hay86
-
- It can be found here: http://github.com/hay86/fdfs_client-py
-
- Special thanks to:
-
- * Andy Mccurdy, author of redis-py, referenced his code.
- * g.rodola, author sendfile module for python, g.rodola@gmail.com
-
-
- Keywords: Fastdfs,Distribute File System
- Platform: UNKNOWN
- Classifier: Development Status :: 1 - Production/Beta
- Classifier: Environment :: Console
- Classifier: Intended Audience :: Developers
- Classifier: License :: GPLV3
- Classifier: Operating System :: OS Independent
- Classifier: Programming Language :: Python
|