Gerenciador de músicas
Publicado por Émerson Moreira (última atualização em 01/12/2015)
[ Hits: 7.078 ]
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
ShellCrypTor criptografador de dados
Manipulação de arquivos CSV - OO
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Pisando no acelerador do Linux Mint: Kernel XanMod, zRAM e Ajustes de Swap
Como compilar kernel no Linux Mint
Lançamento do Brutal DOOM test 6
Consertando o erro no Brave de webgl
Solução para ter de volta as bordas e barra de títulos das janelas em zenity no Debian 13.x
Abrir um arquivo URL pelo Clipper (8)
Seno, Coseno, Tangente em CLIPPER (1)
Inserir uma URL num arquvo pelo Ubuntu (CLIPPER) (0)
VMWare Player não conecta na rede nem consigo intercambiar arquivos (1)









