Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#351 Le 07/06/2011, à 08:41

sauthess

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

Tu mets bien à jour la version git à chaque modification ? (cela sert à rien que je regarde une version antérieure à la dernière...)


Serveur : Debian openvz, Portable 1 : Arch linux, Portable 2 et 3 : Ubuntu

Hors ligne

#352 Le 07/06/2011, à 08:50

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

oui

Hors ligne

#353 Le 07/06/2011, à 17:45

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ola

petite concertation pour la fonction de recherche "globale", j ai besoin de vous tongue

deja pour activer le mode en question ... soit on a dans la liste des moteurs deux (trois?) entrees en plus genre: All, All videos, All music

donc trié par genres ou pas, je peux rajouter un type a chaque plugin simplement....

soit une case a cocher genre "global" qui active la fonction mais ou placer la case...

perso j prefere la solution 1....

votre avis?


ensuite gmf chargera la page 1 de chaque moteur dans la liste et voila....

j attend vos retours ! wink

en attendant je viens de corriger le changement de mode de lecture et corrigé un vieux truc qui m enervait (quand ca repassait sans arret sur le 1 er element de la liste)

(je suis sur le tchat dans ma signature aussi...)

++

Hors ligne

#354 Le 07/06/2011, à 17:58

Hizoka

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

perso je suis pour la 1ere soluce.


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#355 Le 07/06/2011, à 18:20

sauthess

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

La solution 1 également.


Serveur : Debian openvz, Portable 1 : Arch linux, Portable 2 et 3 : Ubuntu

Hors ligne

#356 Le 07/06/2011, à 20:06

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

re

bon bah ca marche tranquillou .... tongue

par contre en l etat tout est melange... sinon faut que je fasse un thread de recherche etc et la y a du taff (je devrais le faire a terme) mais pour l instant ca roule

j ai maj la version git, a vous de tester wink

++

Dernière modification par smo (Le 07/06/2011, à 20:09)

Hors ligne

#357 Le 08/06/2011, à 10:36

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ola

bon personne pour tester la version git ?

++

Hors ligne

#358 Le 08/06/2011, à 15:13

titi89

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

salut ,
je me suis dévoué wink
pas de problême
petite suggestion porntube devrait être exclu de "all" et devrait rester à part
cela reste une recherche particulière lol
c'est mon avis

Hors ligne

#359 Le 08/06/2011, à 15:37

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ola

oui je pense aussi wink j attend des retours avant d continuer

me faut un espagnol!!! c est sur les blogs espagnols qu il y a le plus de posts sur gmf ....

thx titi

++

Hors ligne

#360 Le 08/06/2011, à 17:59

sauthess

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

Salut !

Bon moi, je trouve ça pas mal wink

Bon évidemment, en plus de all, il faut "All music" et "All Videos" mais je verrais bien :
- sur chaque titre son origine (le moteur où il se trouve) comme sur youtube où tu affiches le temps en petit en dessous du nom (cet affichage peut être présent tout le temps, ce qui permet de ne faire le développement qu'une fois quelques soient les choix des utilisateurs)
- comme sur all, il y a des musiques et des vidéos, la possibilité de trier selon le type (je mettrais "type" à gauche de "Résultats", il serait possible de cliquer dessus pour trier)

Pour l'espagnol, cela fait longtemps que j'en ai pas fais par contre, je connais quelqu'un qui peut faire les traductions en russe si ça t'intéresse (il a la double nationalité ce qui a l'avantage que la traduction sera réelle, je déteste les g...gle traductions wink). Je viens de faire un export du fichier pl_PL.po en html, je lui soumets pour traduction ? (il est intéressé par le soft, par contre, je lui ai dis que la version windows est pas forcément top...avec un peu de chance je vais le "convertir" wink )


EDIT : il y a les résultats youporn dans "all" ? j'avais pas remarqué wink -> je suis d'accord, il faut que cela apparaisse dans all uniquement si l'utilisateur a sélectionné youporn dans les préférences, et encore... (en même temps, pour chercher des pornos qui iraient sur Mp3Realm ? wink )

Dernière modification par sauthess (Le 08/06/2011, à 18:03)


Serveur : Debian openvz, Portable 1 : Arch linux, Portable 2 et 3 : Ubuntu

Hors ligne

#361 Le 08/06/2011, à 20:58

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ola sauthess

merci pour le retour

alors pour les traductions, c ets ici que ca se passe:
https://www.transifex.net/projects/p/gm … finderpot/

faut juste s inscrire et creer la langue a traduire et c est parti, tres facile...

pour la recherche, je peux creer des entrees all video et all sounds mais a ce moment la je vois pas l interet de pouvoir refiltrer derriere wink le gui etant pas mal, pas envie de commencer a le recharger...

pour youporn bah  c est debat smile, si c est dans la liste je pars du principe que l utilisateur en est conscient... et comme tu dis trouver des trucs sur youporn pour une recherche de son y a tres peu de chances tongue

et afficher le moteur d origine du resultat c est possible (mais j en vois franchement pas l interet tongue), avis ???

pour la version windows oui elle est vieille, ca devient complique a porter ... je me reprendrais la tete une fois tout ca bien peauffiné smile 

++

Hors ligne

#362 Le 08/06/2011, à 22:50

AnsuzPeorth

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

Bjr,
Bon, j'ai l'impression que je suis faché avec ton soft, j'ai essayé 2 fois de l'installé, et tjrs des soucis smile (sous 8.04 et 10.04)

J'ai DL le git et essayé simplement de le lancer sans installation (je préfére les softs non installé).

~/gmediafinder/GmediaFinder$ ./gmediafinder.py
Traceback (most recent call last):
  File "./gmediafinder.py", line 28, in <module>
    from configobj import ConfigObj
ImportError: No module named configobj

Après installation du module:

Traceback (most recent call last):
  File "./gmediafinder.py", line 1258, in <module>
    GsongFinder()
  File "./gmediafinder.py", line 85, in __init__
    os.write(fd,"window_state=%s" % self.window_state)
TypeError: not all arguments converted during string formatting

J'ai modifier la line 85 (je sais pas si ca ira par la suite, vu que c'est pour le fichier de config)

#self.window_state est un tuple, donc ca peut pas marcher
#os.write(fd,"window_state=%s" % self.window_state)
os.write(fd,"window_state=%s" % str(self.window_state))

Problème de recherche avec dilandau.
Artiste recherché: gainsbourg

Unhandled exception in thread started by <bound method Dilandau.search of <lib.engines.Dilandau.Dilandau.Dilandau object at 0xa3c0dcc>>
Traceback (most recent call last):
  File "/home/yoanne/gmediafinder/GmediaFinder/lib/engines/Dilandau/Dilandau.py", line 31, in search
    self.filter(data,query)
  File "/home/yoanne/gmediafinder/GmediaFinder/lib/engines/Dilandau/Dilandau.py", line 36, in filter
    soup = BeautifulStoneSoup(d.decode('utf-8'),selfClosingTags=['/>'])
  File "/usr/lib/pymodules/python2.6/BeautifulSoup.py", line 1230, in __init__
    self._feed(isHTML=isHTML)
  File "/usr/lib/pymodules/python2.6/BeautifulSoup.py", line 1263, in _feed
    self.builder.feed(markup)
  File "/usr/lib/python2.6/HTMLParser.py", line 108, in feed
    self.goahead(0)
  File "/usr/lib/python2.6/HTMLParser.py", line 148, in goahead
    k = self.parse_starttag(i)
  File "/usr/lib/python2.6/HTMLParser.py", line 226, in parse_starttag
    endpos = self.check_for_whole_start_tag(i)
  File "/usr/lib/python2.6/HTMLParser.py", line 301, in check_for_whole_start_tag
    self.error("malformed start tag")
  File "/usr/lib/python2.6/HTMLParser.py", line 115, in error
    raise HTMLParseError(message, self.getpos())
HTMLParser.HTMLParseError: malformed start tag, at line 320, column 92

Dernière modification par AnsuzPeorth (Le 08/06/2011, à 23:05)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#363 Le 08/06/2011, à 23:02

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ola ansuz

je vois pas trop pourquoi il trouve pas la correspondance...

self.window_state est defini au desus...

width = gtk.gdk.screen_width()
height = gtk.gdk.screen_height()
self.window_state = (width-200,height-80,0,0)

je vois meme pas quoi te dire sad mais t as le niveau pour comprendre tongue

effaces ton dossier.config/gmediafinder (pour reproduire)

Hors ligne

#364 Le 08/06/2011, à 23:06

AnsuzPeorth

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

Message éditer:
self.window_state est un tuple, tu veux sauvegarder koi ?

Sinon, j'ai oublié de dire un truc, des petites infobulles serait pas mal sur les boutons !
Et ne pas avoir de visualisation aussi serait bien (les trucs psychédélique me font bloquer smile).

EDIT: On ne pourrait pas arrêter la recherche en cours ? Pour certains moteur c'est long ...

Dernière modification par AnsuzPeorth (Le 08/06/2011, à 23:12)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#365 Le 08/06/2011, à 23:13

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

yup

ok, je vosi meme pas pourquoi je suis passé par un tuple... je corrige

je sauvegarde taille/position de la fenetre...

de toute facon si tu regardes tu vas voir que c est un bordel monstrueux dans le code tongue y en a de partout, je commence a avoir une bonne vision globale du soft donc une reecriture propre sera faite et je comprend toujours kedale aux threads ca me gave...

thx

a+

Dernière modification par smo (Le 08/06/2011, à 23:14)

Hors ligne

#366 Le 08/06/2011, à 23:17

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

Plusieurs exemples sont avec (voir info.txt, copie d'un mail envoyé à smo).

dans ton post glade2script, j ai pas recu de mail tongue

Hors ligne

#367 Le 08/06/2011, à 23:24

sauthess

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

salut,

smo a écrit :

pour la recherche, je peux creer des entrees all video et all sounds mais a ce moment la je vois pas l interet de pouvoir refiltrer derriere wink le gui etant pas mal, pas envie de commencer a le recharger...

C'est pas faux... c'est juste qu'en mettant all le mélange m'a sauté aux yeux...

smo a écrit :

pour youporn bah  c est debat smile, si c est dans la liste je pars du principe que l utilisateur en est conscient... et comme tu dis trouver des trucs sur youporn pour une recherche de son y a tres peu de chances tongue

Là par contre, ke pense qu'on s'est pas compris : avec youporn non sélectionné dans les préférences, j'ai quand même des résultats venant de youporn avec "all"... Là quelque part ça me gêne... Juste en mettant "test" et en faisant défiler un peu, j'ai une vidéo porno dans la liste...


Serveur : Debian openvz, Portable 1 : Arch linux, Portable 2 et 3 : Ubuntu

Hors ligne

#368 Le 08/06/2011, à 23:27

AnsuzPeorth

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

de toute facon si tu regardes tu vas voir que c est un bordel monstrueux dans le code

Je dis tjrs, chacun son bordel, le principal c'est de s'y retrouver ... plusieurs mois/années après, là c'est pas gagné smile (mes codes sont autant en bordel, a part G2S qui ne contient qu'un seul fichier ...)

je comprend toujours kedale aux threads ca me gave...

Les threads gtk ou python ? Au début j'ai un peu galéré avec les gtk, mais maintenant c'est ok (g2s a été un bon formateur pour moi wink)

j ai pas recu de mail

Je te l'ai envoyé en MP !!!

Sinon, tu as vu que j'ai édité mes messages précédents, le problème de dilandau (ca vient de beautyfoulsoup).
Parser les sites c'est tjrs délicat, souvent des erreurs, soit le parser soit même, ou faire comme mes exemples webkit, afficher le site et filtrer l'action user sur le html, ou modifier le html à la volée.

Franchement regarde y, webkit/python/html/css/javascript/jquery, on s'amuse comme un petit fou big_smile


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#369 Le 08/06/2011, à 23:27

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

exacte sauthess, sera corrigé j avais pas compris tongue

interessant tes demos ansuz !


Franchement regarde y, webkit/python/html/css/javascript/jquery, on s'amuse comme un petit fou

whoue surtout que je connais assez bien js/bash/html/jquery and co....

++

Dernière modification par smo (Le 08/06/2011, à 23:29)

Hors ligne

#370 Le 08/06/2011, à 23:43

AnsuzPeorth

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

whoue surtout que je connais assez bien js/bash/html/jquery and co....

Ben n'hésites pas alors ! Tu feras tes interfaces graphiques en jquery big_smile
Je débute avec ce framework, et je le trouve pas mal du tout (petite experience en javascipt, petite).

Je te remets le lien vers la doc webkit (vu que tu n'as pas reçu mon mail):
le webview et webframe sont les principaux.
http://webkitgtk.org/reference/ch02.html

Pour installer un patch pour avoir accès au DOM direct depuis python (perso ca me fait chier de devoir patcher, pour le partage, pas top, surtout qu'on peut faire different, plus galère mais bon ...)
http://www.gnu.org/software/pythonwebkit/

interessant tes demos ansuz !

Le plus interssant, c'est pour megaupload, j'injecte un fichier JS, cherche les liens, les modifié et controle si le fichier existe sur le serveur.
Sinon le lecteur aussi c'est marrrant, faire un navigateur de fichiers, une progressbar en html (je suis étonné de la réactivité du html !!!)

Dernière modification par AnsuzPeorth (Le 08/06/2011, à 23:50)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#371 Le 09/06/2011, à 00:13

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

bah c est cool tout ca smile

j adore jquery big_smile je me suis fait un site pour gerer mes matchs/points de ping pong tout en jquery big_smile ....

je regarde tout ca en detail demain, mediaplayer marche pas chez moi pas moyen de choisir des fichiers

Hors ligne

#372 Le 09/06/2011, à 02:14

AnsuzPeorth

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ping pong

tennis de table SVP big_smile

mediaplayer marche pas chez moi pas moyen de choisir des fichiers

Il faut zenity pour choisir le dossier, sinon crée un fichier MediaLecteur.ini et colle le path de ton dossier musique, il apparaitra dans le combo.

Sinon, comme dilandau ne fonctionne pas chez moi et que je voulais faire un peu de python avant de me coucher, j'ai modifié ton module, je me passe d'un parseur html (ils aiment pas le html mal foutu !), c'est moins jolie/efficace une suite de if, mais suffisant pour des petits fichiers AMHA (faut dire que dilandau est facile à parser et que le travail était 3/4 fait, ca pas été long smile)

import urllib2
import gtk

class Dilandau(object):
    def __init__(self, gui):    
        self.gui = gui
        self.name="Dilandau"
        self.current_page = 1
        self.main_start_page = 1
        self.search_url = "http://fr.dilandau.com/telecharger_musique/%s-%s.html"
        self.start_engine()

    def start_engine(self):
        self.gui.engine_list[self.name] = ''

    def load_gui(self):
        pass

    def search(self, query, page):
        self.gui.throbber.show()
        try:
            data = urllib2.urlopen(self.search_url % (query.replace(' ','-'), self.current_page))
            gtk.gdk.threads_enter()
            self.filter(data, query)
            gtk.gdk.threads_leave()
        except:
            self.gui.info_label.set_text(_("connection failed..."))
        self.gui.throbber.hide()
        
    def filter(self, data, user_search):
        flag = False
        flag_found = False 
        self.gui.changepage_btn.show()        
        for line in data.readlines():
            if 'var playlist' in line: flag = True
            if 'id="body_file_list"' in line: flag = False
            if flag:
                if 'title :' in line:
                    titre = line.split('"')[1]
                elif 'file : ' in line:
                    flag_found = True
                    url = line.split('"')[1]
                    if not titre: titre = url.split('/')[-1]
                    markup="<small><b>%s</b></small>" % titre
                    self.gui.add_sound(titre, markup, url)
                continue
            if 'class="next_page inactive"' in line:
                self.gui.changepage_btn.hide()
                self.gui.info_label.set_text(_("no more files found for %s...") % (user_search))
                break
        if flag_found:
            if self.current_page != 1:
                self.gui.pageback_btn.show()
            else:
                self.gui.pageback_btn.hide()
        else:
            self.gui.changepage_btn.hide()
            self.gui.info_label.set_text(_("no files found for %s...") % (user_search))

Je vois que tu te fais chier avec les threads, enter leave ..., perso je lance, depuis la class du gui, une class en arrière plan avec les fonction qui ne doivent pas bloquer le gui.
Ne pas oublier thread_init et d'utiliser idle_add depuis le thread pour modifier gtk wink
http://www.developpez.net/forums/d90113 … ead-pygtk/

Dernière modification par AnsuzPeorth (Le 09/06/2011, à 03:13)


Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script  (Hors ligne)

Hors ligne

#373 Le 09/06/2011, à 03:44

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

yoyo

bon 4h 40 j pars en c$$$$$ tongue me suis endormi cet aprem ... bref

oui tennis de table (j me tue a l dire en plus)

alors merci pour l exemple ansuz je vais voir si je peux faire pareil pour les autres moteurs mp3 ca me permettera de me passer de beautifulsoup ca serait bien

de mon cote, j ai mis tout ce qui concerne youtube dans le module youtube!! enfin ...

j ai fait un module en 5 minutes pour redtube .... (le cul ca attire les users,  m en fou !!!) et j referai youporn y rame trop ca m enerve mais c est secondaire...

demain j continue a nettoyer/reorganiser le code et finir le delire de recherche globale tongue

ok pour le idle_add je comprenais s il fallait l utiliser du thread ou du gui (pour faire simple) ...

Merci wink

ps: ok pour le ini je test demain

++

Dernière modification par smo (Le 09/06/2011, à 03:44)

Hors ligne

#374 Le 09/06/2011, à 04:03

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

ptite question ansuz

si j reprend ton code pour dilandau, et que je vire mes threds_enter/leave

je test avec gobject.idle_add(.....)

je dois mettre ca devant TOUT ce qui touche au gui ?

les hide/show, set_text etc etc ?

++

Hors ligne

#375 Le 09/06/2011, à 04:38

smo

Re : Gmediafinder : Youtube/dailymotion/vimeo.. sans flash et bien plus....

version refaite avec idle_add


import urllib2
import gtk
import gobject

class Dilandau(object):
    def __init__(self, gui):    
        self.gui = gui
        self.name="Dilandau"
        self.current_page = 1
        self.main_start_page = 1
        self.search_url = "http://fr.dilandau.com/telecharger_musique/%s-%s.html"
        self.start_engine()

    def start_engine(self):
        self.gui.engine_list[self.name] = ''

    def load_gui(self):
        pass
        
    def print_info(self,msg):
        self.gui.info_label.set_text(msg)

    def search(self, query, page):
        self.gui.throbber.show()
        try:
            data = urllib2.urlopen(self.search_url % (query.replace(' ','-'), self.current_page))
            self.filter(data, query)
        except:
            gobject.idle_add(self.print_info,_('Search failed...'))
        self.gui.throbber.hide()
        
    def filter(self, data, user_search):
        flag = False
        flag_found = False 
        self.gui.changepage_btn.show()      
        for line in data.readlines():
            if 'var playlist' in line: flag = True
            if 'id="body_file_list"' in line: flag = False
            if flag:
                if 'title :' in line:
                    titre = line.split('"')[1]
                elif 'file : ' in line:
                    flag_found = True
                    url = line.split('"')[1]
                    if not titre: titre = url.split('/')[-1]
                    markup="<small><b>%s</b></small>" % titre
                    gobject.idle_add(self.gui.add_sound, titre, markup, url)
                continue
            if 'class="next_page inactive"' in line:
                self.gui.changepage_btn.hide()
                gobject.idle_add(self.print_info,_("no more results found for %s...") % user_search)
                break
        if flag_found:
            if self.current_page != 1:
                self.gui.pageback_btn.show()
            else:
                self.gui.pageback_btn.hide()
            gobject.idle_add(self.print_info,'')
        else:
            self.gui.changepage_btn.hide()
            gobject.idle_add(self.print_info,_("no results found for %s...") % user_search)
        self.gui.throbber.hide()
        
    def play(self,link):
        self.gui.media_link = link
        return self.gui.start_play(link)

ca te semble bien ou faut faire une fonction aussi pour les show/hide ?

++

Hors ligne