class Conn: def __init__(self, ak, sk, host, bucket): self.bucket = bucket self.ksyun = Connection(ak, sk, host=host) if not self._exist(bucket): self.ksyun.create_bucket(bucket) assert self._exist(bucket) def _exist(self, bucket): buckets = [b.name for b in self.ksyun.get_all_buckets()] return bucket in buckets def upload(self, keyname, filename): try: bucket = self.ksyun.get_bucket(self.bucket) key_object = bucket.new_key(keyname) key_object.set_contents_from_filename(filename) return {"result": 0, "msg": keyname} except: return {"result": -1, "msg": traceback.format_exc()} pass def download(self, filename, keyname): try: bucket = self.ksyun.get_bucket(self.bucket) key_object = bucket.get_key(keyname) key_object.get_contents_to_filename(filename) return {"result": 0, "msg": filename} except: return {"result": -1, "msg": traceback.format_exc()} pass def make_key(self, app_key, version, package_name): return ''.join([ app_key, md5.new(version).hexdigest(), md5.new(package_name).hexdigest() ]).lower()