Skip to content

Popular campo raw_text em _add_institution_history com original_data#1277

Closed
Copilot wants to merge 2 commits intomainfrom
copilot/populate-raw-text-in-history
Closed

Popular campo raw_text em _add_institution_history com original_data#1277
Copilot wants to merge 2 commits intomainfrom
copilot/populate-raw-text-in-history

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 5, 2026

O que esse PR faz?

Implementa a população do campo raw_text nos modelos de histórico de instituições (OwnerHistory, PublisherHistory, SponsorHistory, CopyrightHolderHistory) usando o valor de original_data.

Onde a revisão poderia começar?

journal/models.py - método _add_institution_history (linha 1110-1111) onde o campo raw_text é populado.

Como este poderia ser testado manualmente?

  1. Executar migração de dados do ArticleMeta que utiliza os métodos modificados
  2. Verificar que os registros de histórico criados possuem o campo raw_text preenchido
  3. Confirmar que o valor em raw_text corresponde ao original_data fornecido

Algum cenário de contexto que queira dar?

O campo raw_text faz parte do RawOrganizationMixin (PR #1276) que preserva dados originais antes de processamento. Esta implementação:

journal/models.py:

  • Adiciona parâmetro raw_text ao método _add_institution_history
  • Popula institution_history.raw_text com fallback para original_data quando raw_text não é fornecido
  • Propaga parâmetro através de add_publisher, add_owner, add_sponsor, add_copyright_holder

journal/sources/am_to_core.py:

  • Atualiza 6 chamadas em 4 funções (update_panel_institution, get_or_create_sponsor, get_or_create_copyright_holder, create_location_and_add_institutions)
  • Passa valor original como raw_text em todas as chamadas
# Antes
journal.add_publisher(user=user, original_data=p, location=location)

# Depois
journal.add_publisher(user=user, original_data=p, location=location, raw_text=p)

Backward compatible - raw_text é opcional (default=None).

Screenshots

Não aplicável.

Quais são tickets relevantes?

Relacionado ao PR #1276 que adiciona RawOrganizationMixin aos modelos de histórico.

Referências

Original prompt

Usar original_data para popular raw_text no _add_institution_history

Contexto

O PR #1276 adiciona RawOrganizationMixin aos modelos de histórico (OwnerHistory, PublisherHistory, SponsorHistory, CopyrightHolderHistory), que contém campos para armazenar dados originais da organização antes do processamento.

Objetivo

Modificar o método _add_institution_history em journal/models.py e as chamadas em journal/sources/am_to_core.py para popular o campo raw_text com o valor de original_data.

Mudanças necessárias

1. Em journal/models.py

Modificar o método _add_institution_history (aproximadamente linha 1067-1110) para:

  1. Popular o campo raw_text do institution_history com o valor de original_data
  2. Isso deve ser feito logo após a linha onde institution_history.organization = organization é atribuído

Adicionar após a linha institution_history.organization = organization:

# Populate raw_text from original_data
institution_history.raw_text = original_data

2. Em journal/sources/am_to_core.py

Atualizar todas as chamadas aos métodos que usam _add_institution_history:

a) update_panel_institution (linhas 231-241)

Modificar as chamadas para add_publisher e add_owner para:

journal.add_publisher(
    user=user,
    original_data=p,
    location=location,
    raw_text=p,  # Adicionar este parâmetro
)
journal.add_owner(
    user=user,
    original_data=p,
    location=location,
    raw_text=p,  # Adicionar este parâmetro
)

b) get_or_create_sponsor (linhas 540-544)

Modificar a chamada para add_sponsor:

journal.add_sponsor(
    user=user,
    original_data=s,
    location=location,
    raw_text=s,  # Adicionar este parâmetro
)

c) get_or_create_copyright_holder (linhas 821-825)

Modificar a chamada para add_copyright_holder:

journal.add_copyright_holder(
    user=user,
    original_data=cp,
    location=location,
    raw_text=cp,  # Adicionar este parâmetro
)

d) create_location_and_add_institutions (linhas 935-945)

Modificar as chamadas para add_publisher e add_owner:

journal.add_publisher(
    user=user,
    original_data=p,
    location=location,
    raw_text=p,  # Adicionar este parâmetro
)
journal.add_owner(
    user=user,
    original_data=p,
    location=location,
    raw_text=p,  # Adicionar este parâmetro
)

Observações importantes

  1. O campo raw_text deve ser populado com o valor original não processado (original_data ou a variável que contém o texto original)
  2. Manter a compatibilidade com o código existente
  3. O raw_text serve para preservar os dados originais antes de qualquer processamento ou normalização
  4. Todos os outros campos do RawOrganizationMixin (raw_institution_name, raw_country_name, etc.) já estão sendo tratados nos parâmetros opcionais adicionados no PR Adiciona RawOrganizationMixin para transição de Institution #1276

Arquivos a modificar

  • journal/models.py - método _add_institution_history
  • journal/sources/am_to_core.py - funções que chamam add_publisher, add_owner, add_sponsor, add_copyright_holder

This pull request was created from Copilot chat.


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot AI changed the title [WIP] Update _add_institution_history to use original_data Popular campo raw_text em _add_institution_history com original_data Feb 5, 2026
Copilot AI requested a review from robertatakenaka February 5, 2026 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants