softklin Posted September 16, 2008 at 03:21 PM Report Share #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. Link to comment Share on other sites More sharing options...
Ridelight Posted September 16, 2008 at 03:33 PM Report Share #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 Link to comment Share on other sites More sharing options...
softklin Posted September 16, 2008 at 03:35 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
Ridelight Posted September 16, 2008 at 03:42 PM Report Share #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 Link to comment Share on other sites More sharing options...
Feyder Posted September 16, 2008 at 03:50 PM Report Share #210952 Posted September 16, 2008 at 03:50 PM Parece Interessante, talvez também tente qualquer coisa 😛 Link to comment Share on other sites More sharing options...
Ridelight Posted September 16, 2008 at 03:52 PM Report Share #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 Link to comment Share on other sites More sharing options...
fnds Posted September 16, 2008 at 04:27 PM Report Share #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 😛 Link to comment Share on other sites More sharing options...
softklin Posted September 16, 2008 at 04:36 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
Triton Posted September 16, 2008 at 04:41 PM Report Share #210973 Posted September 16, 2008 at 04:41 PM Não seria mais robusto utilizar um parser de XML? <3 life Link to comment Share on other sites More sharing options...
softklin Posted September 16, 2008 at 04:47 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
fnds Posted September 16, 2008 at 04:55 PM Report Share #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... Link to comment Share on other sites More sharing options...
Tharis Posted September 16, 2008 at 05:43 PM Report Share #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... Link to comment Share on other sites More sharing options...
Feyder Posted September 16, 2008 at 06:09 PM Report Share #211003 Posted September 16, 2008 at 06:09 PM Também já acabei em vb.net Daqui a pouco já publico Link to comment Share on other sites More sharing options...
softklin Posted September 16, 2008 at 06:12 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
Tharis Posted September 16, 2008 at 06:15 PM Report Share #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... Link to comment Share on other sites More sharing options...
Feyder Posted September 16, 2008 at 06:21 PM Report Share #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. Link to comment Share on other sites More sharing options...
softklin Posted September 16, 2008 at 06:51 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
djthyrax Posted September 16, 2008 at 07:43 PM Report Share #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! Link to comment Share on other sites More sharing options...
softklin Posted September 17, 2008 at 01:00 PM Author Report Share #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. Link to comment Share on other sites More sharing options...
djthyrax Posted September 17, 2008 at 06:15 PM Report Share #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! Link to comment Share on other sites More sharing options...
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