Exemple #1
0
def search_word(bson_id):
    bson_id = bson.objectid.ObjectId(bson_id)
    db_words = mymongo.pymg('mynihongo1', 'words')
    searched_word = db_words.find_one({'_id': bson_id})
    data = {
        'tags': '/'.join(searched_word['tags']),
        'meaning': searched_word['meaning'],
        'Nx': searched_word['Nx'],
        'raw_word': searched_word['mecab'][7],
        'this_word': searched_word['mecab'][0],
        'speak': searched_word['mecab'][-2],
    }
    return data
Exemple #2
0
from pydub import AudioSegment

from tool import mymongo

input_path = "/Users/user/language/sp/MagicKaito"
nx_data = list(
    mymongo.pymg('mynihongo1',
                 'sentences').find({'sentence_Nx': {
                     '$nin': ['not in Nx']
                 }}))[:315]
for index, x in enumerate(nx_data):
    print(index)
    # mp3 = AudioSegment.from_mp3('/Users/user/language/sp/MagicKaito/moshu01.mp3') # 打开mp3文件
    #
    # base_pydub = "mp3[{start}*1000:{end}*1000].export('{out_mp3_path}', format='mp3')"
    # this_pydub = base_pydub.format(
    #     start = x['start_seconds'],
    #     end = x['end_seconds'],
    #     out_mp3_path = input_path+'/split/'+'moshu01_'+str(index)+'.mp3',
    # )
    # exec(this_pydub)
    if float(time[0])<2:
        a = -0.2
        b = 5.3
    else:
        a = -2.2
        b = 4.2
    base_ffmpeg_split = "ffmpeg  -i {input_path} -vcodec copy -acodec copy -ss {start} -to {end} {out_path} -y"
    this_ffmpeg = base_ffmpeg_split.format(
        input_path = input_mp4_path,
        start = float(time[0])+a,
        end = float(time[1])+b,
        out_path = out_path,
    )
    os.system(this_ffmpeg)
input_path = '/Users/user/language/sp/动漫/言叶之庭/kodoba.mp4'
for x in mymongo.pymg('mynihongo2','subs').find({'name':'言叶之庭'}):
    times = [x['start_seconds'],x['end_seconds']]
    split_video(times,input_path,'/Users/user/language/sp/动漫/言叶之庭/mp4_split/{}.mp4'.format(str(x['index'])))





# input_path = "/Users/user/language/sp/MagicKaito"
# nx_data = list(mymongo.pymg('mynihongo1','sentences').find({'sentence_Nx':{'$nin':['not in Nx']}}))[:31]
# for index,x in enumerate(nx_data):
#     print(index)
#     print(x['_id'])
#     base_ffmpeg_split = "ffmpeg  -i {input_path} -vcodec copy -acodec copy -ss {start} -to {end} {out_path} -y"
#     this_ffmpeg = base_ffmpeg_split.format(
#         input_path = input_path+'/moshu01.mp4',
Exemple #4
0
from tool import mymongo
from tool.toolJp import kanaTrans
import re

# 1. 平假名转片假名
# for each in mymongo.pymg('mynihongo1','raw_sgk').find():
#     if each['raw'][0] in kanaTrans.pianjiaming and each['raw'][-1] in kanaTrans.pianjiaming:
#         print(each['raw'])
#         read = re.sub(r"・", '', each['raw'])
#         # each['hiragana'] = kanaTrans.trans(read)  不对
#         mymongo.pymg('mynihongo1','raw_sgk').update({'_id': each['_id']},{'$set': {'hiragana':kanaTrans.trans(read)}})
#

# 2. mecab backup dict_backup_03
for each in mymongo.pymg('mynihongo1',
                         'raw_sgk').find({'can_mecab': {
                             '$exists': False
                         }}):
    word = aboutMecab.SentenceToMecab(each['raw']).start()
    if len(word) == 1 and word[0][-1] == each['hiragana']:
        if len(word[0]) == 11:
            mymongo.pymg('mynihongo1',
                         'raw_sgk').update({'_id': each['_id']},
                                           {'$set': {
                                               'mecab': word[0]
                                           }})
            mymongo.pymg('mynihongo1',
                         'raw_sgk').update({'_id': each['_id']},
                                           {'$set': {
                                               'can_mecab': 1
                                           }})
            print(word)
from tool import mymongo
from tool import baiduTranslate
from tool.toolJp import aboutMecab
from db.words.expand import ExpandWords
from db.words.meet import MeetWords
from db.words.base import Words
from db.sentences.video import VideoSentences

db_words = mymongo.pymg('mynihongo1', 'words')


def trans_word(to_trans_word):
    to_trans_word.meaning = baiduTranslate.bd_tanslate(to_trans_word.raw)


def trans_sentence(to_trans_sentence):
    to_trans_sentence.sentence_cn = baiduTranslate.bd_tanslate(
        to_trans_sentence.sentence_jp)


def get_word(each):
    q1 = {'mecab': each}
    finded_word = db_words.find_one(q1)
    # '单词数据库里不存在该单词'
    if finded_word:
        word_cls = finded_word['_cls'].split('.')[-1]
        # Words.objects(mecab = word_mecab) 只能查找Words类
        old_word = eval(word_cls + '''.objects(mecab = each).first()''')
        return old_word
    else:
        # 属于派生
Exemple #6
0
from tool import mymongo
from db.words.base import Words
# 1.   words_backup_01
for each in mymongo.pymg('mynihongo1', 'raw_sgk').find({'can_mecab': 1}):
    w = Words()
    w.raw = each['raw']

    w.hiragana = each['hiragana']

    w.mecab = each['mecab']
    w.tags = [x for x in each['mecab'][1:-4] if x != '*']

    w.meaning = each['meaning']
    try:
        w.Nx = each['Nx']
    except:
        try:
            w.Nx = 'S' + str(each['import'])
        except:
            w.Nx = 'S0'

    w.save()
Exemple #7
0
from pydub import AudioSegment

import os, re

# 打开mp3文件
mp3 = AudioSegment.from_mp3('/Users/user/language/sp/turan/3.mp3')

# 切割前17.5秒并覆盖保存

from tool import mymongo
input_path = '/Users/user/language/sp/turan/3.mp3'
for x in mymongo.pymg('mynihongo2', 'subs').find({'name': '徒然喜欢你03'}):
    mp3_path = '/Users/user/language/sp/turan/mp3_split3/{}.mp3'.format(
        str(x['index']))

    mp3[float(x['start_seconds']) * 1000:float(x['end_seconds']) *
        1000].export(mp3_path, format="mp3")