Ejemplo n.º 1
0
    def read_issuers(file_path, corpus):
        if not os.path.isfile(file_path):
            return

        data = jsonfile.read_json_file(file_path)

        for issuer_idx, issuer_data in data.items():
            issuer_type = issuer_data.get('type', None)
            issuer_info = issuer_data.get('info', {})

            if issuer_type == 'speaker':
                gender = issuers.Gender(
                    issuer_data.get('gender', 'unknown').lower())
                age_group = issuers.AgeGroup(
                    issuer_data.get('age_group', 'unknown').lower())
                native_language = issuer_data.get('native_language', None)

                issuer = issuers.Speaker(issuer_idx,
                                         gender=gender,
                                         age_group=age_group,
                                         native_language=native_language,
                                         info=issuer_info)
            elif issuer_type == 'artist':
                name = issuer_data.get('name', None)

                issuer = issuers.Artist(issuer_idx,
                                        name=name,
                                        info=issuer_info)
            else:
                issuer = issuers.Issuer(issuer_idx, info=issuer_info)

            corpus.import_issuers(issuer)
Ejemplo n.º 2
0
def generate_issuers(n, rand=None):
    if rand is None:
        rand = random.Random()

    items = []

    for issuer_index in range(n):
        issuer_idx = 'issuer-{}'.format(issuer_index)

        issuer_type = rand.randint(1, 3)

        if issuer_type == 1:
            issuer = issuers.Speaker(
                issuer_idx,
                gender=issuers.Gender.UNKNOWN,
                age_group=issuers.AgeGroup.CHILD,
                native_language='de'
            )
        elif issuer_type == 2:
            issuer = issuers.Artist(issuer_idx, 'badam')
        else:
            issuer = issuers.Issuer(issuer_idx)

        items.append(issuer)

    return items
Ejemplo n.º 3
0
    def _create_or_get_music_issuer(corpus, file_idx, labels):
        if file_idx not in labels:
            return None

        issuer_idx = labels[file_idx][2]

        if issuer_idx not in corpus.issuers:
            issuer = issuers.Artist(issuer_idx, name=issuer_idx)
            corpus.import_issuers(issuer)

        return issuer_idx