#-*- coding:utf-8 -*-
import logging
logging.basicConfig(level=logging.ERROR)


class StorageAbstractAdapter:
	r'''
		A abatract interface class ,that provides a common interface to access it for different third party service

	'''
	def __init__(self,*args,**kw):
		r'''
			The init parameter is unique for different storage service
		'''
		pass
	def move(self,src,dest):
		r'''
			the mean of the parameter may represent different means
		'''
		raise NotImplementedError
	def copy(self,src,dest):
		raise NotImplementedError
	def delete(self,src):
		raise NotImplementedError
	def file_size(self,file_name):
		raise NotImplementedError
	def file_hash(self,file_name):
		raise NotImplementedError
	def file_info(self,file_name):
		raise NotImplementedError
	def file_mime(self,file_name):
		raise NotImplementedError
	def file_create_time(self,file_name):
		raise NotImplementedError
	def put(self,token,file_name,**kw):
		r'''
			**kw is different for different implmentation
		''' 
		raise NotImplementedError
	def token(self,file_name,**kw):
		raise NotImplementedError
	def get(self,file_name,**kw):
		raise NotImplementedError
	def get_url(self,file_name,**kw):
		raise NotImplementedError
	


@@ -105,19 +105,19 @@
 pter:%0A%09r
-'''
+%22%22%22
 %0A%09%09A aba
@@ -221,19 +221,19 @@
 rvice%0A%0A%09
-'''
+%22%22%22
 %0A%09def __
@@ -256,27 +256,27 @@
 s,**kw):%0A%09%09r
-'''
+%22%22%22
 %0A%09%09%09The init
@@ -328,19 +328,19 @@
 rvice%0A%09%09
-'''
+%22%22%22
 %0A%09%09pass%0A
@@ -372,130 +372,344 @@
 %0A%09%09r
-'''%0A%09%09%09the mean of the parameter may represent different means%0A%09%09'''%0A%09%09raise NotImplementedError%0A%09def copy(self,src,dest):
+%22%22%22%0A%09%09    @move a file %0A%09            @parameters:%0A%09%09%09src:source file name,must be 'str' type%0A%09%09        dest:destination file name,must be 'str' type%0A%09%09%22%22%22%0A%09%09raise NotImplementedError%0A%09def copy(self,src,dest):%09%0A%09%09r%22%22%22%0A%09%09    @copy a file%0A%09%09    @parameters:%0A%09%09%09src:source file name,'str' type%0A%09%09%09dest:destination file name,'str' type%0A%09%09%22%22%22
 %0A%09%09r
@@ -756,16 +756,51 @@
 f,src):%0A
+%09%09r%22%22%22%0A%09%09    @delete a file %0A%09%09%22%22%22%0A
 %09%09raise 
@@ -843,32 +843,78 @@
 elf,file_name):%0A
+%09%09r%22%22%22%0A%09%09    @get file size information%0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -949,32 +949,72 @@
 elf,file_name):%0A
+%09%09r%22%22%22%0A%09%09    @get file hash value%0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -1049,32 +1049,77 @@
 elf,file_name):%0A
+%09%09r%22%22%22%0A%09%09    @get file all information%0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -1154,32 +1154,83 @@
 elf,file_name):%0A
+%09%09r%22%22%22%0A%09%09    @get file mime type information%0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -1280,16 +1280,57 @@
 _name):%0A
+%09%09r%22%22%22%0A%09%09    @get file create time%0A%09%09%22%22%22%0A
 %09%09raise 
@@ -1399,54 +1399,26 @@
 '%0A%09%09
-%09**kw is different for different implmentation
+    @update a file
 %0A%09%09'
@@ -1474,32 +1474,75 @@
 ile_name,**kw):%0A
+%09%09r%22%22%22%0A%09%09    @generate upload token %0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -1576,32 +1576,67 @@
 ile_name,**kw):%0A
+%09%09r%22%22%22%0A%09%09    @download file %0A%09%09%22%22%22%0A
 %09%09raise NotImple
@@ -1682,16 +1682,63 @@
 ,**kw):%0A
+%09%09r%22%22%22%0A%09%09    @generate download file url%0A%09%09%22%22%22%0A
 %09%09raise 

add comments for each method