softklin Posted September 16, 2008 at 03:21 PM Report #210938 Posted September 16, 2008 at 03:21 PM Título do Projecto: Músicas da RFM Última Versão: 1.0.2 (P@P special edition) Líder do Projecto: softclean Ultimamente tenho me fartado das músicas que tinha disponíveis na minha biblioteca, e como tal dediquei-me a rádio. Sem motivo especial, escolhi a RFM. Como sou um bocado "desligado" do mundo da música, há muitas que gosto, porque as ouvia em pequeno, ou simplesmente porque gosto da música em si, mas não sei o nome. Ora estar a abrir uma tab e ir ao site da RFM sempre que quero saber o nome de uma música, torna-se chato, e quero automatizar essa tarefa, porque sou preguiçoso 😛 . Como tal, este pequeno utilitário, em principio para ser feito em VB.net, ficaria na tray, e bastava passar o rato por cima para saber a música actual. O meu problema é o de vasculhar as páginas para encontrar o que quero, e de passagem aproveito para dizer que detesto estas soluções sem flexibilidade (criar um código para vasculhar a página, basta mudarem uma coisinha, tenho de fazer tudo novamente), mas tem que ser... A página em questão é http://www.rfm.pt/p_quemusicaera.aspx. Este tópico é também um compromisso para mim próprio diante o público de ter de desenvolver isto 😛 A ver no que dá. Já deu 😛 Actualizações: v 1.0.3 (18/03/09) - Adicionada opção de copiar o título e o autor das músicas para o clipboard v 1.0.2 (23/02/09) - Código fonte melhor organizado para possibilitar um melhor estudo do programa - Referência a este tópico e à participação no 1º concurso de projectos de programação do P@P v 1.0.1 (19/09/08) - Possibilidade de pesquisa das letras da música ao clicar no balão informativo - Algumas optimizações de código v 1.0.0 - Release pública inicial do programa Download do EXE: http://www.mediafire.com/?ttjyzwyoxmz Download o source (VB.net): http://www.mediafire.com/?qdt22zdyryi (links actualizados v1.0.3) Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
Ridelight Posted September 16, 2008 at 03:33 PM Report #210944 Posted September 16, 2008 at 03:33 PM Não me parece mau, a vêr o que apresentas, se calhar tambem vou tentar fazêr algo, a vêr quem acaba primeiro, ou se alguem acaba. 😛 Regras do FÓRUM
softklin Posted September 16, 2008 at 03:35 PM Author Report #210947 Posted September 16, 2008 at 03:35 PM Com a preguiça que tenho e com o tempo que tenho disponível, acho que qualquer um acaba antes de mim 😛 Mas desta vez é algo que me é útil, continua a sê-lo, e mais importante, tenho vontade de o fazer, por isso espero não desistir tão facilmente. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
Ridelight Posted September 16, 2008 at 03:42 PM Report #210949 Posted September 16, 2008 at 03:42 PM Com a preguiça que tenho e com o tempo que tenho disponível, acho que qualquer um acaba antes de mim 😛 Neste aspecto partimos então em pé de igualdade, de qualquer das formas se o fizer disponibilizo-te o source, assim sempre podes melhorar/adaptar e/ou adicionar funcionalidades. Regras do FÓRUM
dcco Posted September 16, 2008 at 03:50 PM Report #210952 Posted September 16, 2008 at 03:50 PM Parece Interessante, talvez também tente qualquer coisa 😛
Ridelight Posted September 16, 2008 at 03:52 PM Report #210953 Posted September 16, 2008 at 03:52 PM Voluntários já há bastantes, vamos vêr o que sai daqui. Eu irei desenvolver (se densenvolver) em vb6 ou vb08, depende. Regras do FÓRUM
fnds Posted September 16, 2008 at 04:27 PM Report #210967 Posted September 16, 2008 at 04:27 PM https://www.portugal-a-programar.pt/forums/topic/21706-python-música-que-está-a-tocar-na-rfm/#comment-210970 Só falta a GUI, vou fazer agora 😛
softklin Posted September 16, 2008 at 04:36 PM Author Report #210971 Posted September 16, 2008 at 04:36 PM fnds, obrigado pela tua ajuda, mas se experimentares e confirmares no site, o resultado apresentado é o artista da musica mais recente, e o titulo da ultima musica (que tocou à mais tempo, ultima da lista). Mas por acaso tinha experimentado fazer com expressões regulares, só que não sabia por onde começar. 😛 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
Triton Posted September 16, 2008 at 04:41 PM Report #210973 Posted September 16, 2008 at 04:41 PM Não seria mais robusto utilizar um parser de XML? <3 life
softklin Posted September 16, 2008 at 04:47 PM Author Report #210975 Posted September 16, 2008 at 04:47 PM Não seria mais robusto utilizar um parser de XML? Funciona com o HTML? É que é a única maneira de aceder à informação que pretendo, não há RSS nem coisa que lhe valha... Se por acaso der com HTML, dá para "navegar" pelas tags como por exemplo, com javascript? Nota: Estamos a falar de VB.net Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
fnds Posted September 16, 2008 at 04:55 PM Report #210978 Posted September 16, 2008 at 04:55 PM fnds, obrigado pela tua ajuda, mas se experimentares e confirmares no site, o resultado apresentado é o artista da musica mais recente, e o titulo da ultima musica (que tocou à mais tempo, ultima da lista). Tens razão... vou corrigir. Já tá. Não seria mais robusto utilizar um parser de XML? Era, e este problemas não acontecia... Este foi o metodo mais simples que arranjei...
Tharis Posted September 16, 2008 at 05:43 PM Report #210996 Posted September 16, 2008 at 05:43 PM Ícone = http://ubuntu.jasonwhutchinson.com/images/MenuIcons/music.gif (Colocar na mesma directoria o ficheiro .py e o ficheiro music.gif) # SysTray RFM Music Announcer # License: GPL v3 # Coded by Tharis import wx from thread import start_new_thread from time import sleep from urllib import urlopen class RFM: def __init__(self): self.source=urlopen("http://www.rfm.pt/p_quemusicaera.aspx").read() self.to_find='<MARQUEE WIDTH="100%" scrolldelay="150" BEHAVIOR="SCROLL" ><span class="txtmarquee">A TOCAR AGORA : ' def getInterprete(self): ini=self.source.find(self.to_find)+len(self.to_find) i=ini+1 while self.source[i:i+len('</span>')]!='</span>' and self.source[i:i+len(' ')]!=' ': i+=1 interprete=self.source[ini:i] return interprete class doIcon: def __init__(self): pass def doIt(self): ico=wx.Bitmap('/home/tharis/music.gif',wx.BITMAP_TYPE_ANY) icon=wx.EmptyIcon() icon.CopyFromBitmap(ico) return icon class SysTrayCre(wx.TaskBarIcon): def __init__(self,frame): wx.TaskBarIcon.__init__(self) self.frame=frame self.Icon = doIcon() self.icone=self.Icon.doIt() self.rfm=RFM() start_new_thread(self.doLoop,()) def doLoop(self): self.SetIcon(self.icone,self.rfm.getInterprete()) sleep(5) self.doLoop() class SysTrayApp(wx.Frame): def __init__(self,parent,id,title): wx.Frame.__init__(self,parent, -1, title, size = (1, 1), style=wx.FRAME_NO_TASKBAR|wx.NO_FULL_REPAINT_ON_RESIZE) self.SysTrayIcon=SysTrayCre(self) self.Show(True) class MyApp(wx.App): def OnInit(self): frame=SysTrayApp(None, -1, ' ') frame.Center(wx.BOTH) frame.Show(False) return True if __name__=="__main__": app=MyApp(0) app.MainLoop() E como sempre, os Pythonistas são sempre os primeiros! 😛 EDIT Modifiquei porque o script não mudava de música...
dcco Posted September 16, 2008 at 06:09 PM Report #211003 Posted September 16, 2008 at 06:09 PM Também já acabei em vb.net Daqui a pouco já publico
softklin Posted September 16, 2008 at 06:12 PM Author Report #211005 Posted September 16, 2008 at 06:12 PM Gostava de ter eu feito o projecto desenvolvendo a solução, mas pelos vistos ninguém perdeu tempo a apresentar os programas já prontos. Desculpem se isto vos pareceu um concurso, mas de facto não era, queria apenas criar este programa, e como compromisso para mim próprio, resolvi abrir o tópico, tal como disse lá em cima. Sinceramente, depois de ver a solução, já não estou tão motivado a resolver o problema. Talvez ainda treine um bocado no VB.net, escolhido inicialmente para resolver isto de forma simples, se tiver algum avanço coloco aqui. Nada vos impedia de criarem mil e um programas para obter as musicas da RFM, ou de outras rádios, mas que pelo menos dessem dicas em vez de códigos prontos. / Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
Tharis Posted September 16, 2008 at 06:15 PM Report #211007 Posted September 16, 2008 at 06:15 PM Desculpa atão... 😐 Nem reparei na Secção em que tinha aberto. :x (Abri bués para ver as novidades e depois pensei que querias que alguém fizesse isto) Sorry...
dcco Posted September 16, 2008 at 06:21 PM Report #211008 Posted September 16, 2008 at 06:21 PM Ya, desculpa se te desmotivámos. Entretanto se precisares de espreitar o código em vb, avisa.
softklin Posted September 16, 2008 at 06:51 PM Author Report #211015 Posted September 16, 2008 at 06:51 PM Pronto, tudo bem. Não fico ressentido. 😛 Tentarei na mesma explorar o VB.net, em busca da solução (que, ou se usa regexp ou se faz parsing ao HTML). Porém, também estou a tentar aprender Python, e a ideia não deixa de ser interessante. A seu tempo, pode ser que aprenda algo dos vossos programas. Mas de momento, vou tentar fazer o que pretendia em VB.net. Abraço a todos. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
djthyrax Posted September 16, 2008 at 07:43 PM Report #211030 Posted September 16, 2008 at 07:43 PM Um conselho, não tentes aprender 2 linguagens ao mesmo tempo. Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
softklin Posted September 17, 2008 at 01:00 PM Author Report #211157 Posted September 17, 2008 at 01:00 PM Bem, aqui está uma primeira versão da aplicação. Não consegui usar as expressões regulares, por isso tive de recorrer as funções de strings do VB. Download do EXE: http://www.mediafire.com/?jjmjyjzjmwn Download o source (VB.net): http://www.mediafire.com/?htmrdmsjstj Testado em Windows XP, com .net Framework 2. Por favor, se alguém usar Vista, informe aqui se há algum problema. Aceito sugestões para o programa, desde que não fuja ao objectivo. Adicionar uma função de streaming é algo que não tenciono fazer. EDIT: esqueci-me, o modo de funcionamento. Para utilizar, basta fazer um clique no ícone que vos deve aparecer na tray, e aparece num balão o título da música. Para fechar a aplicação, devem fazer clique com o botão direito no ícone, e seleccionar a opção "Sair do programa". Limitações: quando dá notícias, ao clicar no icone, ele diz que está a dar uma música. mas pronto, é a informação que me é fornecida 😛 Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.
djthyrax Posted September 17, 2008 at 06:15 PM Report #211229 Posted September 17, 2008 at 06:15 PM http://www.hdd.pt/imagens/1120294884.jpg No Vista funciona na boa, gostei. Apenas peço que mudes o "Acerca de ..." para "Sobre ...", soa bem melhor 😛 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now