Solução (s) com script
1. Visualização da biblioteca atualizada automaticamente
Com o script de plano de fundo abaixo, você pode configurar um diretório, virtualmente mostrando o conteúdo combinado de um número arbitrário de outras pastas.
O conteúdo da pasta (existente de links simbólicos) é dinamicamente sincronizado com as fontes (combinadas).
Como funciona
O script lista periodicamente o conteúdo das pastas de origem, bem como a pasta de destino para a visualização "biblioteca".
- Se houver itens em qualquer uma das pastas de origem, não existentes na biblioteca, um link simbólico será criado na biblioteca.
- se houver itens na biblioteca, não existentes em qualquer uma das pastas de origem (na verdade, um link corrompido), o item será removido da biblioteca.
Acomparaçãodelistaséextremamenteleve(programaticamente)ecompoucosrecursos.Eutesteioscriptcomumloopmuitomaisrápidodoqueoscriptabaixo,comumnúmerodeitensdecercade500emumúniconíveldediretório,semnenhumacargaadicional(perceptível).
Oscriptecomousar
#!/usr/bin/env python3
import os
import sys
import time
# --- set loop time below (or leave it as it is)
loop = 5
# ---
# don't change anything below
target = sys.argv[1]
sources = sys.argv[2:]
while True:
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
# loop time
time.sleep(loop)
- Copie o script em um arquivo vazio, salve-o como
library_view.py
-
Teste - execute o script com o diretório direcionado , para visualizar os diretórios combinados em, como primeiro argumento , os diretórios de origem como próximos argumentos, por exemplo:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Este comando mostrará o conteúdo das pastas
source1
esource2
invirtual_library
. -
Se tudo funcionar bem, adicione-o aos aplicativos de inicialização: Dash > Aplicativos de inicialização > Adicionar. Adicione o comando:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Nota
Como mencionado, você pode adicionar mais de dois diretórios soure, se quiser.
2. Versão manual
Se você preferir não usar um script de segundo plano por algum motivo, poderá atualizar manualmente (sincronizar) a pasta da biblioteca, com exatamente o mesmo comando em uma tecla de atalho, usando o script abaixo:
#!/usr/bin/env python3
import os
import sys
target = sys.argv[1]
sources = sys.argv[2:]
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
Escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando yo uma combinação de teclas à sua escolha:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2