示例#1
0
def get_file_info(database, udp_conn, size, ed2k):
    '''Look up file using size and ed2k
    First in local database, next in anidb
    Update local db if asked anidb
    '''
    local_info = database.get_info_hash(size, ed2k)
    if len(local_info):
        print "Get file info: Local info found"
        return local_info
    else:  # Ask anidb
        anidb_info = udp_conn.get_file_info(size, ed2k)
        if anidb_info:  # File found on anidb
            print "Get file info: Anidb info found"
            if not database.in_db('anime', int(
                    anidb_info['aid'])):  # Anime not in local
                database.add_anime(int(anidb_info['aid']), anidb_info['romanji_name'], int(anidb_info['anime_total_episodes']), \
                                anidb_info['year'], anidb_info['english_name'], anidb_info['kanji_name'])
            if not database.in_db('episode', int(
                    anidb_info['eid'])):  # Episode not in local
                database.add_episode(int(anidb_info['eid']), anidb_info['epno'], anidb_info['ep_name'], \
                                anidb_info['ep_romanji_name'], anidb_info['ep_kanji_name'])
            # Add file info to local database
            # print "Adding to local db"
            database.add_file(int(anidb_info['fid']), int(anidb_info['aid']), int(anidb_info['eid']), int(anidb_info['gid']),\
                                int(anidb_info['size']), anidb_info['ed2k'], anidb_info['md5'], \
                                anidb_info['sha1'], anidb_info['crc32'], anidb_info['dub'], anidb_info['sub'], \
                                anidb_info['src'], anidb_info['audio'], anidb_info['video'], \
                                anidb_info['res'], anidb_info['file_type'], anidb_info['group_short_name'])

            return anidb_info
        else:
            return {}
示例#2
0
def get_file_info(database, udp_conn, size, ed2k):
    '''Look up file using size and ed2k
    First in local database, next in anidb
    Update local db if asked anidb
    '''
    local_info = database.get_info_hash(size, ed2k)
    if len(local_info):
        print "Get file info: Local info found"
        return local_info
    else: # Ask anidb
        anidb_info = udp_conn.get_file_info(size, ed2k)
        if anidb_info: # File found on anidb
            print "Get file info: Anidb info found"
            if not database.in_db('anime', int(anidb_info['aid'])): # Anime not in local
                database.add_anime(int(anidb_info['aid']), anidb_info['romanji_name'], int(anidb_info['anime_total_episodes']), \
                                anidb_info['year'], anidb_info['english_name'], anidb_info['kanji_name'])
            if not database.in_db('episode', int(anidb_info['eid'])): # Episode not in local
                database.add_episode(int(anidb_info['eid']), anidb_info['epno'], anidb_info['ep_name'], \
                                anidb_info['ep_romanji_name'], anidb_info['ep_kanji_name'])
            # Add file info to local database
            # print "Adding to local db"
            database.add_file(int(anidb_info['fid']), int(anidb_info['aid']), int(anidb_info['eid']), int(anidb_info['gid']),\
                                int(anidb_info['size']), anidb_info['ed2k'], anidb_info['md5'], \
                                anidb_info['sha1'], anidb_info['crc32'], anidb_info['dub'], anidb_info['sub'], \
                                anidb_info['src'], anidb_info['audio'], anidb_info['video'], \
                                anidb_info['res'], anidb_info['file_type'], anidb_info['group_short_name'])
           
            return anidb_info
        else:
            return {}
示例#3
0
def get_anime_info(database, udp_conn, aid):
    '''Look up an anime using aid. 
    First in local database, next in anidb
    Automatically update local base if searched anidb
    '''
    info = database.get_info_aid(aid)
    if len(info):  # Has entry in local database
        print "Get anime info: Local data found"
        return info
    else:  # Local db return blank. Ask anidb
        info = udp_conn.get_anime_info(aid, ('aid', 'romanji_name', 'episodes',
                                             'year', 'eng_name', 'kanji_name'))
        if len(info):  # Anime found. Update local
            database.add_anime(int(info['aid']), info['romanji_name'], int(info['episodes']), \
                                int(info['year']), info['eng_name'], info['kanji_name'])
            return info
        else:  # No match found
            return {}
示例#4
0
def get_anime_info(database, udp_conn, aid):
    '''Look up an anime using aid. 
    First in local database, next in anidb
    Automatically update local base if searched anidb
    '''
    info = database.get_info_aid(aid)
    if len(info): # Has entry in local database
        print "Get anime info: Local data found"
        return info
    else: # Local db return blank. Ask anidb
        info = udp_conn.get_anime_info(aid, ('aid' , 'romanji_name', 'episodes', 'year', 'eng_name',
                    'kanji_name'))
        if len(info): # Anime found. Update local
            database.add_anime(int(info['aid']), info['romanji_name'], int(info['episodes']), \
                                int(info['year']), info['eng_name'], info['kanji_name'])
            return info
        else: # No match found
            return {}