def _handle(self, addr, language): ext = get_ext(addr) # this is a temporary file ,will be removed after close() tmp_file = tempfile.NamedTemporaryFile("wb+", suffix=ext) client = tornado.httpclient.AsyncHTTPClient( max_body_size=1024 * 1024 * 1024 * 0.8) # call self.ondownload after get the request file logging.info("downloading: %s" % addr) client.fetch(addr, callback=functools.partial(self.on_donwload, tmp_file, ext, language), connect_timeout=300, request_timeout=600, ) self.cloud_db = lean_cloud.LeanCloud() self.cloud_db.add_media( self.media_name, self.media_id, self.addr, 0, self.session_manager.company.id, self.client_id, self.requirement, language.split(","), self.service_providers, {"machine": 1}, self.caption_type, self.media_fields, ) self.cloud_db.save_media()
def get(self, media_id): # source = self.get_argument("service_source", 0) platform = self.get_argument("plat", 'win') # lc_content_keys = ["content_baidu", "content_google"] # content_key = lc_content_keys[int(source)] lc = lean_cloud.LeanCloud() media = lc.get_media(media_id) self.media = media transcript_sets_map = media.get("transcript_sets") set_type_order = ["timestamp", "ut", "machine"] set_type_to_download = "machine" for set_type in set_type_order: if transcript_sets_map.get(set_type): set_type_to_download = set_type break print 'set type :%s' % set_type_to_download fragment_list = lc.get_list(media_id, set_type_to_download) provider_list = media.get("service_providers") or ["baidu"] content_keys = ["content_" + i for i in provider_list] if platform == "win": sep = "\r\n" encoding = "gbk" else: sep = "\n" encoding = "utf8" self.prepare_fragment_list(fragment_list) self.handle(media, fragment_list, content_keys, sep, encoding)
def post(self): uid = self.get_argument("uid") task_ids = self.get_argument("task_ids") task_id_list = task_ids.split(",") diff_count = len(task_id_list) media_task_map = defaultdict(list) lc_task = LcTask() task_list = lc_task.batch_set_uid(task_id_list, uid) for task in task_list: media_task_map[task.get("media_id")].append(task) lc = lean_cloud.LeanCloud() media_list = lc.get_media_list_by_media_id(media_task_map.keys()) for media in media_list: task_count = media.get("editor_task_count") cur_task_count = int(media.get("assigned_editor_task", 0)) cur_task_count += len(media_task_map[media.get("media_id")]) if cur_task_count < task_count: media.set("assign_status", constants.LC_MEDIA_ASSIGN_STATUS_PART) if cur_task_count == task_count: media.set("assign_status", constants.LC_MEDIA_ASSIGN_STATUS_ALL) media.set("assigned_editor_task", cur_task_count) media.save() # if media_list: # lc.Media.save_all() try: user_mgr = UserMgr() user = user_mgr.User.query.get(uid) task_count = user.get("task_count", 0) task_count += diff_count if task_count < 0: task_count = 0 user.set("task_count", task_count) user.save() self.write(self.response_success()) except lean_cloud.leancloud.LeanCloudError: self.write(self.response_error(*ECODE.ERR_USER_NO_THAT_USER)) return
def post(self, media_id): self.media_id = media_id self.lc = lean_cloud.LeanCloud() self.media = self.lc.get_media(self.media_id) proof_task_id = self.get_body_argument("proof_task_id") timeline_task = self.lc.get_timeline_task(proof_task_id) if timeline_task: self.write(self.response_success()) self.finish() return proof_task = self.lc.get_editor_task(proof_task_id) self.add_timeline_task(proof_task) self.write(self.response_success())
def __init__(self, media_id): self.media_id = media_id self.lc = lean_cloud.LeanCloud() self.media = self.lc.get_media(self.media_id)
from __future__ import absolute_import from xiaobandeng.config import load_config from xiaobandeng.lean_cloud import init from xiaobandeng.config import CONFIG from xiaobandeng.lean_cloud import lean_cloud env = 'develop' load_config(env) init(CONFIG) media_id_list = [ '01cebbd9-ce85-4798-933b-432bc51d7844', 'c31b13ad-069f-4826-8e16-44bf7d78a1d3', '6c05e738-cb89-45ba-b47f-5ef64ab97ba7', 'f7419a52-6173-425b-99ab-758424a0e10b', 'af8f3ad5-eb1a-4867-955e-100c92a30bbe', 'be749fe2-ec75-4855-a088-44755830948c', '345ba370-3f48-44e2-b1e3-d6ba4fb8bd2e' ] lc = lean_cloud.LeanCloud() media_id = media_id_list[0] media = lc.get_media(media_id) print dir(media)