Gerenciador de músicas
Publicado por Émerson Moreira (última atualização em 01/12/2015)
[ Hits: 6.663 ]
Download chec_e_rem-4.py (versão 3)
Download chec_e_rem-5.py (versão 4)
Este programa gerencia automaticamente suas músicas sem que você mexa um dedo! Ele checa 2 diretórios e os compara movendo suas músicas da pasta de downloads para a sua biblioteca ou remove-as se já existirem em sua biblioteca.
Comentem o que vocês acharam pra talvez eu melhorá-lo XD
Versão 3 - Enviado por Émerson Moreira em 30/03/2015
Changelog: Changelog:
- Adicionado suporte a arquivos com "(" e ")".
- Adicionado toque musical ao mover músicas (para usá-lo você terá que instalar o programa mpg321).
Versão 4 - Enviado por Émerson Moreira em 25/11/2015
Changelog: Existia um bug que se estivesse fazendo download da música ele movia ela mesmo assim, e bugava o arquivo, agora ele espera terminar o download.
# coding: utf-8 ############################################################################################################### ######!!!! Este programa checa suas musicas na pasta Musica e as compara com as da pasta Downloads !!!!######## ######!!!! Gerencia-as movendo ou excluindo chexando se elas existem nas duas pastas ou em uma so !!!!######### ######!!! SE quiser ... altere o caminho dos diretorios e tambem a extensao a ser utilizada pelo programa !!!## ############################################################################################################### import os import glob import shutil import time import dbus LISTA = [] LISTA_rem = [] class chec_e_rem: def dire_mus(self): self.val_mus = os.path.expanduser('~/Música')#### ALTERE SE NECESSARIO os.chdir(self.val_mus) self.dire_musica = glob.glob('*.mp3')###ALTERE SE QUISER print ' ' print '!! MUSICAS LOCALIZADAS !!' print ' ' def dire_dow(self): self.val_dow = os.path.expanduser('~/Downloads') os.chdir(self.val_dow) #### ALTERE SE NECESSARIO self.dire_downloads = glob.glob('*.mp3') print '!! MUSICAS NA PASTA DE DOWNLOADS LOCALIZADAS !!' print ' ' def chec_rem(self): x = 0 while x != len(self.dire_downloads): if self.dire_musica.count(self.dire_downloads[x]) >= 1: LISTA_rem.append(self.dire_downloads[x]) x += 1 def chec_mov(self): x = 0 while x != len(self.dire_downloads): if self.dire_musica.count(self.dire_downloads[x]) == 0: LISTA.append(self.dire_downloads[x]) x += 1 def prt(self): print '========================================' print 'ESTES ARQUIVOS SERAO REMOVIDOS :' print LISTA_rem print '========================================' print ' ' print '========================================' print 'ESTES ARQUIVOS SERAO MOVIDOS :' print LISTA print '========================================' print ' ' def dbus_rem(self) : if LISTA_rem != []: icon = '/usr/share/icons/Tango/scalable/status/audio-volume-high.svg' title = 'Estas serao as músicas que seão removidas :' dbus_arq = '' for i in LISTA_rem : dbus_arq = dbus_arq + i text = dbus_arq bus = dbus.SessionBus() obj = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') dbus_notify = dbus.Interface(obj, 'org.freedesktop.Notifications') dbus_notify.Notify("notify", 0, icon, title, text, '', {}, 10000) def dbus_mov(self): if LISTA != []: icon = '/usr/share/icons/Tango/scalable/status/audio-volume-high.svg' title = 'Estas serao as músicas que seão movidas :' dbus_arq = '' for i in LISTA : dbus_arq = dbus_arq + i text = dbus_arq bus = dbus.SessionBus() obj = bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') dbus_notify = dbus.Interface(obj, 'org.freedesktop.Notifications') dbus_notify.Notify("notify", 0, icon, title, text, '', {}, 10000) def REM_mus(self): x = 0 os.chdir(self.val_dow) while x != len(LISTA_rem): LISTA_rem[x] = LISTA_rem[x].replace(' ','\ ') os.remove(LISTA_rem[x]) print "removido : "+ str(LISTA_rem[x]) x += 1 def MOV_mus(self): x = 0 os.chdir(self.val_dow) while x != len(LISTA): LISTA[x] = LISTA[x].replace(' ', '\ ') os.system('mv ' + LISTA[x] + ' ' + self.val_mus) print 'movido : ' + str(LISTA[x]) x += 1 CHEC_E_REM = chec_e_rem() while True : LISTA = [] # ZERA A LISTA LISTA_rem = [] # ZERA A LISTA CHEC_E_REM.dire_mus() # OBTER DIRETORIO DE MUSICAS CHEC_E_REM.dire_dow() # OBTER DIRETORIO DE DOWNLOADS CHEC_E_REM.chec_rem() # CHECA OS ARQUIVOS QUE SERAO REMOVIDOS CHEC_E_REM.chec_mov() # CHECA OS ARQUIVOS QUE SERAO MOVIDOS CHEC_E_REM.prt() # IMPRIME NO TERMINAL CHEC_E_REM.dbus_rem() # INTERFACE COM D-BUS CHEC_E_REM.dbus_mov() # INTERFACE COM D-BUS CHEC_E_REM.REM_mus() # REMOVE AS MUSICAS CHEC_E_REM.MOV_mus() # MOVE AS MUSICAS time.sleep(30) # DELAY DE ESPERA PARA REINICIAR LOOP
subwrite - um simples editor de texto em Python
Agenda de cadastros com tratamento de erros
Mini-dicionário de termos em Python e PyQT 4
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
SysAdmin ou DevOps: Qual curso inicial pra essa área? (0)
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código (3)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta