Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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())
Exemplo n.º 5
0
    def __init__(self, media_id):
        self.media_id = media_id

        self.lc = lean_cloud.LeanCloud()
        self.media = self.lc.get_media(self.media_id)
Exemplo n.º 6
0
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)