NPDD/Baobáxia/Sync
(links) |
|||
Linha 20: | Linha 20: | ||
* http://git-annex.branchable.com/preferred_content/ vicfg | * http://git-annex.branchable.com/preferred_content/ vicfg | ||
* http://tools.ietf.org/html/rfc5050 | * http://tools.ietf.org/html/rfc5050 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | online -> offline | ||
+ | -> pacote de dados grande | ||
+ | offline -> online | ||
+ | mucuas - universo conhecido | ||
+ | mucua online - metadado sync | ||
+ | mucua semi-conectada - metadado sync eventual | ||
+ | mucua offline | ||
+ | valedoribeira (offline) Miniserver de sync milson/MA (gesac) Dandara (online) Acotirene (online principal) | ||
+ | Video a1 (meta + bin) P | ||
+ | Dandara.pilha.copyTo(a1, dest) | ||
+ | Video a1 (meta) Video a1 (meta) | ||
+ | demanda Video a1 | ||
+ | Video a1(meta+bin) | ||
+ | metadados (pilhas) | ||
+ | http://docs.python.org/2/library/stdtypes.html#set-types-set-frozenset | ||
+ | http://docs.python.org/2/library/sets.html | ||
+ | media/models.py | ||
+ | ... | ||
+ | @receiver(post_save, sender=Media) | ||
+ | def startPostSavePolicies(mediaInstance, **kwargs): | ||
+ | # verificar se a media q acabou de ser salva aciona o método postSave | ||
+ | if "postSave" in policy: | ||
+ | import triage.policy # (import postSave_publico (.py) | ||
+ | result = getattr(triage, policy(mediaInstance)) | ||
+ | etiqueta/models.py | ||
+ | |||
+ | etiqueta.policies['NomeSinal_NomePolicies', '...'] | ||
+ | |||
+ | triage/postSave_publico.py | ||
+ | def postSave_publico(mediaInstance): | ||
+ | |||
+ | # joga o arquivo para a pilha | ||
+ | |||
+ | mucua.pilha.add(mediaInstance) | ||
+ | gitannex/models.py | ||
+ | def syncRepository(): | ||
+ | crontab | ||
+ | -> executa o sync do repositorio | ||
+ | class pilha(): | ||
+ | itens = # set | ||
+ | def add(): | ||
+ | # verifica se existe o arquivo pilha, se nao, cria | ||
+ | # adiciona elemento na pilha | ||
+ | |||
+ | |||
+ | def parsePilha(): | ||
+ | |||
+ | -----milson.pilha------------------------- | ||
+ | git annex copy arquivo_tal.ogg --to DANDARA | ||
+ | git annex copy video_2.ogg --to DANDARA | ||
+ | git annex copy video_6.ogg --to DANDARA | ||
+ | ------------------------------ | ||
+ | aonde (qual app python) colocar a lógica das pilhas => repositorio (gitannex) | ||
+ | sugestão: pilha de arquivos demandados por mucua | ||
+ | valedoribeira.pilhaDemanda: [Video a1] | ||
+ | milsonMa.pilhaDemanda: [Video a1] | ||
+ | (milsonMA) verifica aonde existe Video a1 (git annex whereis Video a1) | ||
+ | Video a1 (metadado) | ||
+ | 01 Video a1 -> lista de sync | ||
+ | 02 Video a1 (metadado) | ||
+ | 03 Video a1 (arquivo) |
Edição das 21h48min de 18 de setembro de 2013
sync
- - "publico"
- -> joga para a pilha
- --> conexao internet
- --> conexao direta
- -> mucua: propriedades
- --> propriedade tipo de conexao
- --> mucua nao eh persistente - existe o mapeamento do git annex
- syncInternet - git annex copy to
- syncDireto - git annex copy to
- syncMetatados - git annex sync
Estudos:
online -> offline
-> pacote de dados grande
offline -> online mucuas - universo conhecido mucua online - metadado sync mucua semi-conectada - metadado sync eventual mucua offline valedoribeira (offline) Miniserver de sync milson/MA (gesac) Dandara (online) Acotirene (online principal)
Video a1 (meta + bin) P Dandara.pilha.copyTo(a1, dest) Video a1 (meta) Video a1 (meta) demanda Video a1 Video a1(meta+bin) metadados (pilhas)
http://docs.python.org/2/library/stdtypes.html#set-types-set-frozenset http://docs.python.org/2/library/sets.html media/models.py ... @receiver(post_save, sender=Media) def startPostSavePolicies(mediaInstance, **kwargs):
# verificar se a media q acabou de ser salva aciona o método postSave if "postSave" in policy: import triage.policy # (import postSave_publico (.py) result = getattr(triage, policy(mediaInstance))
etiqueta/models.py
etiqueta.policies['NomeSinal_NomePolicies', '...']
triage/postSave_publico.py def postSave_publico(mediaInstance):
# joga o arquivo para a pilha
mucua.pilha.add(mediaInstance)
gitannex/models.py def syncRepository(): crontab
-> executa o sync do repositorio
class pilha():
itens = # set def add(): # verifica se existe o arquivo pilha, se nao, cria # adiciona elemento na pilha def parsePilha():
milson.pilha-------------------------
git annex copy arquivo_tal.ogg --to DANDARA git annex copy video_2.ogg --to DANDARA git annex copy video_6.ogg --to DANDARA
aonde (qual app python) colocar a lógica das pilhas => repositorio (gitannex) sugestão: pilha de arquivos demandados por mucua valedoribeira.pilhaDemanda: [Video a1] milsonMa.pilhaDemanda: [Video a1] (milsonMA) verifica aonde existe Video a1 (git annex whereis Video a1)
Video a1 (metadado)
01 Video a1 -> lista de sync 02 Video a1 (metadado) 03 Video a1 (arquivo)