NPDD/Baobáxia/Sync
De Rede Mocambos
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)