Gerenciador de músicas
Publicado por Émerson Moreira (última atualização em 01/12/2015)
[ Hits: 6.524 ]
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
hicon - Criador de ícones desktop e aplicações do Gnome
Dividir um grupo de arquivos em vários CDs Ou DVDs
Detectando e excluindo imagens em branco obtidas de scanner
Mini-dicionário de termos em Python e PyQT 4
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Todo erro sempre gera um acerto... (12)
pacote não instala no void linux (0)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba