Base da rotina de atualização do conteúdo #111

Open
wants to merge 17 commits into
from

Conversation

Projects
None yet
2 participants
Owner

gustavofonseca commented Mar 25, 2013

Relacionado ao #62

Implementa as funcionalidades básicas para a atualização incremental do conteúdo do catálogo. Nesta implementação apenas foi contemplada a atualização de periódicos.

Para que funcione, alguns daemons do Celery devem ser executados:

./manage.py celeryd worker -E  #events
./manage.py celerycam
./manage.py celeryd -B  #heartbeat

gustavofonseca added some commits Feb 28, 2013

@gustavofonseca gustavofonseca Implementação básica da função ``datacollector.identify_changes`` que…
… identifica documentos que necessitam ser visitados pelo utilitário de sincronização
f0cb9d7
@gustavofonseca gustavofonseca Adicionada a capacidade na função ``datacollector.identify_changes`` …
…de identificar alterações em fascículos pertencentes a periódicos que fazem parte do catálogo
26e0490
@gustavofonseca gustavofonseca Criado módulo ``utils.functions`` para melhor organização de funções …
…que apoiam de alguma maneira as tarefas relacionadas a sincronização de dados
f6e2e82
@gustavofonseca gustavofonseca Implementação básica da classe ChangesList 17de104
@gustavofonseca gustavofonseca Funcionalidades da classe ChangesList 9d67735
@gustavofonseca gustavofonseca Merge branch 'master' into tk62 c8e94b3
@gustavofonseca gustavofonseca Criação do método Marreta.update_collection 1cfd1fa
@gustavofonseca gustavofonseca Atualização dos periódicos 1c9cb0f
@gustavofonseca gustavofonseca Alteração dos nomes de algumas funções do módulo ``utils.functions`` 7d6b6c0
@gustavofonseca gustavofonseca Merge branch 'master' into tk62 b689a66
@gustavofonseca gustavofonseca 100% de cobertura de testes no módulo utils.functions 18d1d17
@gustavofonseca gustavofonseca Testes automáticos para ``utils.sync.datacollector.ChangeListIterator`` cf49310
@gustavofonseca gustavofonseca Testes automáticos para ``utils.sync.datacollector.ChangeListIterator`` 3edbf65
@gustavofonseca gustavofonseca Testes automatizados para a classe ``utils.sync.datacollector.Changes…
…List``
d30d8c0
@gustavofonseca gustavofonseca 100% de testes no módulo ``utils.sync.dataloader`` b25b51f
@gustavofonseca gustavofonseca Merge branch 'master' into tk62 bdcbcb3
@gustavofonseca gustavofonseca Utilização de timezones nos objetos datetime 3c937d4

jamilatta was assigned Mar 25, 2013

Owner

jamilatta commented Mar 26, 2013

Estou encontrando dificuldades de colocar essa task para funcionar, segue o erro:

[2013-03-26 13:47:07,220: ERROR/MainProcess] Task utils.tasks.update_catalog[ab344a6d-162c-4a8e-a8b9-e63e3463bcd0] raised exception: ValueError('no journal found for this criteria',)
Traceback (most recent call last):
  File "/Users/jamil/.virtualenvs/journalopac/lib/python2.7/site-packages/celery/task/trace.py", line 228, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/Users/jamil/.virtualenvs/journalopac/lib/python2.7/site-packages/celery/task/trace.py", line 415, in __protected_call__
    return self.run(*args, **kwargs)
  File "/Users/jamil/project/journals-opac/opac/utils/tasks.py", line 43, in update_catalog
    changes = functions.get_all_changes(since=functions.get_last_seq())
  File "/Users/jamil/project/journals-opac/opac/utils/functions.py", line 84, in get_all_changes
    journals=journals_a_la_carte)
  File "/Users/jamil/project/journals-opac/opac/utils/sync/datacollector.py", line 217, in filter
    issues_list.append(self.list_issues_uri(j))
  File "/Users/jamil/project/journals-opac/opac/utils/sync/datacollector.py", line 157, in _list_issues_uri
    journal_doc = journal_dep.get_journal({'id': journal_meta.resource_id})
  File "/Users/jamil/project/journals-opac/opac/catalog/mongomodels.py", line 306, in get_journal
    raise ValueError('no journal found for this criteria')
ValueError: no journal found for this criteria

Acredito que devemos realizar o procedimento de teste em conjunto.

Owner

jamilatta commented Mar 26, 2013

O param journal_meta.resource_id é o mesmo que está na minha base local?

Owner

jamilatta commented Mar 26, 2013

Verifiquei o id do único journal que tem na minha base de dados local é 1 no SciELO Manager o mesmo journal é 25.

Não estou afirmando que deveriam ser iguais, porém repare no código:

journal_dep.get_journal({'id': journal_meta.resource_id})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment