예제 #1
0
def extract_note(url, email):
    url_hash = get_hash(url)
    task_logger = log_processor.get_logger(current_session_time, url_hash)
    media_processor = MediaProcessor(url = url, hash=url_hash, logger=task_logger)
    resources = media_processor.process_video()
    print(resources)
    pass
예제 #2
0
def extract_note(url, email):

    # start processing
    if url != None and email != None:
        logger.info("new request: url is {} and email is {}".format(
            url, email))

    # create a hash for the video and use for logging
    url_hash = get_hash(url)
    task_logger = log_processor.get_logger(current_session_time, url_hash)

    # process the video to extract pdf slides from it
    media_processor = MediaProcessor(url=url,
                                     hash=url_hash,
                                     logger=task_logger)
    title, resources = media_processor.process_video()
    images_path = resources["images_path"]
    pdf_path = batch_convert_img2pdf(images_path)

    # send the final pdf slide to user
    send_pdf(email, pdf_path)
예제 #3
0
parent_path = sys.path[0].split('service')[0] + '/service/loggings'
parent_path1 = sys.path[0].split('service')[0] + '/service/utils'
parent_path2 = sys.path[0].split('service')[0] + '/service/common'
if parent_path not in sys.path:
    sys.path.append(parent_path)
if parent_path1 not in sys.path:
    sys.path.append(parent_path1)
if parent_path2 not in sys.path:
    sys.path.append(parent_path2)

import mod_config
import log_processor
import tushare_data_util

logger = log_processor.get_logger(__name__)
path = mod_config.get_config("path", "path")


@download_decorator.download_stocks_json_file
def get_hist_data(stock_code, **params):
    try:
        logger.info('get get history stocks data starting...')
        df = ts.get_hist_data(stock_code, **params)
        logger.info('get get history stocks data end...')
    except:
        logger.exception('some errors between get history stocks data: ')
    return df


@download_decorator.download_json_file
예제 #4
0
                    os.remove(file_path)
                    media_files.append(file_path)
        except Exception as e:
            logger.warn('Failed to delete %s. Reason: %s' % (file_path, e))

    msg = "The following media have been cleared:\n"
    for each in media_files:
        msg += "  " + each + "\n"

    logger.info(msg)


if __name__ == "__main__":
    url = "https://www.youtube.com/watch?v=ww95zvvhX0c&list=PLfetWr5y3KmmAPUcfMnepril3nHDNTJ0a"
    hash = "hashcode_test"
    logger = log_processor.get_logger("hashcode_test")
    media_processor = MediaProcessor(url, hash, logger)

    media_processor.download_video()
    media_processor.slice_video()
    media_processor.extract_audio()
    media_processor.extract_images()
    # test_url = "https://www.youtube.com/watch?v=IwFpiywyjcE"

    # clear_media()
    # video_addr = download_from_youtube(short_video_url)
    # print("Video addr = {}".format(video_addr))
    # clip_addr = slice_video(video_addr)
    # print("clip addr = {}".format(clip_addr))
    #
    #
예제 #5
0
from flask import Flask
from flask_restful import Resource, Api, reqparse
import log_processor
import re
import requests
import hashlib
from datetime import datetime
from config import time_format, server_responses, server_log_file_name, url_hashing_character_count
from media_processor import MediaProcessor

# set up logger
current_time = datetime.now()
current_session_time = current_time.strftime(time_format)
logger = log_processor.get_logger(current_session_time,server_log_file_name)

# initialize the flask app
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()

logger.info("Flask server started")


class GetYouTubeTask(Resource):
    def get(self):
        return server_responses["successful_get"]

    def post(self):
        args = self.get_argument()
        url = args['url']
        email = args['email']