Gerenciador de músicas
Publicado por Émerson Moreira (última atualização em 01/12/2015)
[ Hits: 6.926 ]
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
Pyconv - Conversor de codificação de caracteres
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
VOL já não é mais como antes? (7)
É normal não gostar de KDE? (12)
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









