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.

#1 Le 11/05/2008, à 16:38

FTG

[script/python] Nautilus et picasaweb!

Bonjour à tous,

depuis longtemps je voulais réaliser un petit script python a l'aide des API Google, me permettant d'uploader en 2 temps 3 mouvements un paquet de photos de Nautilus vers Picasaweb par un clic droit de souris.
Je n'avais pratiquement rien à faire aujourd hui et je m'y suis attelé et j'ai fini par obtenir un résultat.
Ce n'est pas grandiose grandiose mais ca fait le boulot!
Est ce que cela interesserait quelqu un que je décrive la marche à suivre ainsi que les outils à installer pour que cela fonctionne sachant que ce n'est vraiment pas compliqué?

a+


Serveur et site@Home:: http://www.lutix.org

Hors ligne

#2 Le 11/05/2008, à 16:46

Jeece

Re : [script/python] Nautilus et picasaweb!

Salut. Non ça intéresse sûrement personne car Picasa c'est propriétaire et on préfère F-Spot qui fait très bien le boulot. tongue

J'rigole hein cool

Dis nous vite vite vite. Et maintenant fait nous la même chose pour flickr ce serait chupa chups.

Dernière modification par Jeece (Le 11/05/2008, à 16:46)


Content que ça vous plaise !

Hors ligne

#3 Le 11/05/2008, à 17:46

FTG

Re : [script/python] Nautilus et picasaweb!

Re à tous,


Le but de ce post est d'initier peut etre un projet plus solide qui pourrait voir le jour, à la communauté de trancher wink


Bon voila l'affaire.
Ce que vous devez avoir installé sur votre machine:
- python 2.4 au moins (de base vous l'avez)
- xterm
- nautilus-actions (dans les depots debian stable, je pense que sous Ubuntu y aura pas de soucis)

Une fois ces trois paquets installés, allez voir du côté de ce lien:
http://code.google.com/p/gdata-python-c … loads/list et telechargez la derniere version de
gdate-py dans un endroit de votre partition /home/user. Décompresser avec la commande tar xvf puis bien lire INSTALL.TXT ca vaut le coup! Pour les plus préssés d'entre vous lancez tout de suite

python setup.py

en root. Dans l'INSTALL.TXT il est bien indiqué comment tester si l'installation a bien fonctionné!

Copiez le script suivant dans ~/Scripts_python/nom_de_fichier.py

# -*- coding: utf-8 -*-
# Envoi de photos sur picasaweb

# installation de gdata, xterm requise, nautilus-actions
# Dans Nautilus Action rentrer
# Chemin:: xterm -e python "script"
# Parametres:: %M


import sys
import gdata.photos.service
#import gdata.media
#import gdata.geo


print "####################### Fichiers à envoyer: #################################"
for i in range(len(sys.argv)-1):
    print sys.argv[i+1]
print "#############################################################################"

print ""
print ""

email=raw_input("Veuillez entrer votre login Picasa/Google: ")
password=raw_input("Veuillez entrer votre mot de passe: ")

gd_client = gdata.photos.service.PhotosService()
gd_client.email = email
gd_client.password = password
gd_client.source = 'exampleCo-exampleApp-1'





try:
    gd_client.ProgrammaticLogin()
except gdata.service.CaptchaRequired:
    print('Required Captcha')
except gdata.service.BadAuthentication:
    print('Mauvaise authentification')
except gdata_client.Error:
    print('Probleme de Login')
else:
    nouvelalbum=raw_input("Voulez vous creer un nouvel album? (O/N) ")


    if nouvelalbum=="O" or nouvelalbum=="o":
        nom_album=raw_input("Nom de l'album (sans espaces): ")
        # Verification si l'album existe deja
        feed = gd_client.GetUserFeed(user="default")
        for entry in feed.entry:
          while nom_album.lower()==str(entry.title.text).lower():
              print "Cet album existe deja, veuillez entrer un autre nom!"
              nom_album=raw_input("Nom de l'album (sans espaces): ")
        
        acces=raw_input("Acces de l'album (private/public): ")
        
        entry = gd_client.InsertAlbum(nom_album, summary='This is an album', access=acces)
        album_url = '/data/feed/api/user/%s/album/%s' % ('default', nom_album)
        for i in range(len(sys.argv)-1):
            entry = gd_client.InsertPhotoSimple(album_url, 'New Photo','Uploaded using FTG loader', sys.argv[i+1], content_type='image/jpeg')
            print "Photo numero " + str(i+1) + " envoyee!"


        
    else:
        print "Choisissez un album: "
        feed = gd_client.GetUserFeed(user="default")
        i=0
        for entry in feed.entry:
          i=i+1  
          print str(i) + ':: %s, number of photos: %s' % (entry.title.text,
              entry.numphotos.text)
        album=raw_input("Veuillez rentrer un numero d'album (Chiffre de 1 a " + str(i) + "): ")
        i=0
        for entry in feed.entry:
            i=i+1
            if str(i)==str(album):
                nom_album=entry.title.text
                album_url = '/data/feed/api/user/%s/album/%s' % ('default', nom_album)
                for j in range(len(sys.argv)-1):
                    entry = gd_client.InsertPhotoSimple(album_url, 'New Photo','Uploaded using FTG loader', sys.argv[j+1], content_type='image/jpeg')
                    print "Photo numero " + str(j+1) + " envoyee!"


fin=raw_input("Appuyez sur Entree pour sortir!")

Ensuite, ouvrir Menu Gnome>Bureau>Preferences>Configuration des actions de nautilus (issu du paquet nautilus-actions)
Cliquer sur Ajouter. Dans Libellé ecrire un truc du genre "Envoyer vers Picasaweb".
Dans Chemin, mettre xterm -e python "lien vers le script python que vous avez stockés plus haut"
Dans Parametres, mettre %M

Fermez le tout!
Ensuite allez dans nautilus, selectionnez les photos que vous desirez envoyer vers picasaweb, cliquez droit puis selectionner "Envoyer vers Picasaweb" et suivez les instructions sous xterm!!

Bon je suis bien conscient que ce tuto est un peu leger, mais c'est historie de vous en faire profiter au plus vite, a terme je compte developper une petite page web avec screenshots et ameliorer l'emballage avec pourquoi pas du GTK et des options supplémentaires!
De plus, le script python est loin d'etre optimisé, mais j'ai codé ca à la va-vite cet apres midi, mais promis je vais améliorer tout ca!

Pour tout dysfonctionnement, n'hésitez pas à m'appeler au secours.

Pour toute idée supplémentaire, n'hésitez pas à me contacter non plus!

Bonne soirée à tous

Dernière modification par FTG (Le 11/05/2008, à 18:00)


Serveur et site@Home:: http://www.lutix.org

Hors ligne

#4 Le 12/05/2008, à 16:31

Annala

Re : [script/python] Nautilus et picasaweb!

Bonjour,

Superbe idée, c'est exactement ce que je cherchais.
L'installation a l'air de bien se dérouler, c'est tout à la fin que ça coince : en faisant le clic droit, je n'ai pas "Envoyer vers ..." pourtant j'ai configuré nautilus-actions comme indiqué.

En cherchant mon erreur, je viens de découvrir dans F-Spot > Fichier >Envoyer vers > Webgallery, Picasaweb, Flickr, CD ...

Dernière modification par Annala (Le 12/05/2008, à 16:42)


Dell XPS M1530 - Trusty Tahr

Hors ligne

#5 Le 12/05/2008, à 17:07

FTG

Re : [script/python] Nautilus et picasaweb!

Oui mais le but est de pouvoir envoyer les photos de Nautilus sans passer par un autre logiciel...


Serveur et site@Home:: http://www.lutix.org

Hors ligne

#6 Le 24/05/2008, à 05:48

FTG

Re : [script/python] Nautilus et picasaweb!

up,pour les curieux


Serveur et site@Home:: http://www.lutix.org

Hors ligne

#7 Le 12/10/2008, à 21:19

Axelap

Re : [script/python] Nautilus et picasaweb!

Vous n'auriez pas un script pour faire l'inverse des fois ? En effet même avec Picase je n'arrive pas à les récupérer. Je ne me vois pas les enregistret une par une.

ps : la galerie est bien à moi et je suis connecté.


Axelap, sous Ubuntu depuis début octobre 2008

Hors ligne

#8 Le 16/10/2008, à 06:27

FTG

Re : [script/python] Nautilus et picasaweb!

Hola,
non désolé je n'ai pas l'inverse pour le moment, mais ca pourrait etre une bonne idée!


Serveur et site@Home:: http://www.lutix.org

Hors ligne

#9 Le 14/11/2008, à 15:04

Axelap

Re : [script/python] Nautilus et picasaweb!

Je viens de découvrir une extension pour firefox qui peut gérer les connexions à double sens : fire/universal uploader.


Axelap, sous Ubuntu depuis début octobre 2008

Hors ligne

#10 Le 15/11/2008, à 00:58

Sebco

Re : [script/python] Nautilus et picasaweb!

vachement bien.....ouaip!!! merci et bravo


.*´¨;)  -->Pour les problemes http://chat.jabberfr.org/muckl_int/index.php?room=ubu-personnalisation
¸.•´¸.•´¨;)¸.•*¨;)-->Le site  http://penguincape.org/
(¸.•´ (¸.•´ .•´ : (´¸.•*´¯`*•~--> Wiki --> http://doc.ubuntu-fr.org/tutoriel/personnalisation_cubemodel_wallpaper_dynamique_et_usplash
Hanoi - VIETNAM

Hors ligne

#11 Le 05/03/2009, à 02:34

Pedrodelalunabe

Re : [script/python] Nautilus et picasaweb!

Très efficace l'uploader de firefox.

Hors ligne

#12 Le 27/06/2009, à 20:01

GNU-max

Re : [script/python] Nautilus et picasaweb!

J'ai repris le script de FTG (merci bcp à lui, j'ai pas changé grand chose) et j'ai ajouté une interface avec zenity (grâce au code de PyZenity de Brian Ramos). J'ai jamais fait de Python alors soyez indulgent.

L'essentiel du code est à la fin.

# -*- coding: utf-8 -*-
# Envoi de photos sur picasaweb

# Dépend de : 
#                    gdata [ à télécharger sur http://code.google.com/p/gdata-python-client/downloads/list et installer - cf. INSTALL.TXT - ]
#                    nautilus-actions
#                    zenity
# Dans Nautilus Action rentrer
# Chemin : /usr/bin/python </chemni/vers/script>
# Parametres : %M
# Conditions : 
#	Types Mime : image/*	
#	Cocher : Apparaît si la selection contient plusieurs fichiers ou dossiers
# 

######-PyZenity-##########
#Afin de ne pas avoir à télécharger et installer le code de PyZenity, je l'ai reproduis en partie ici.
######################################################################################################
# Name: iPyZenity.py
# Author:   Brian Ramos
# Created: 10/17/2005
# Revision Information:
#       $Date: $
#       $Revision: $
#       $Author: bramos $
#
# Licence: MIT Licence
# 
# Copyright (c) 2005 Brian Ramos
# Permission is hereby granted, free of charge, to any person obtaining a copy 
# of this software and associated documentation files (the "Software"), to 
# deal in the Software without restriction, including without limitation the 
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 
# sell copies of the Software, and to permit persons to whom the Software is 
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in 
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
################################################################################
from datetime import date
from subprocess import Popen, PIPE
from itertools import chain
from os import path

__all__ = ['GetText','Question', 'Warning', 'ErrorMessage', 'Progress','List' ]

zen_exec = 'zenity'


def run_zenity(type, *args):
    return Popen([zen_exec, type] + list(args), stdin=PIPE, stdout=PIPE)



def List(column_names, title=None, boolstyle=None, editable=False, 
         select_col=None, sep='|', data=[]):
    """Present a list of items to select.
    
    This will raise a Zenity List Dialog populated with the colomns and rows 
    specified and return either the cell or row that was selected or None if 
    the user hit cancel.
    
    column_names - A tuple or list containing the names of the columns.
    title - The title of the dialog box.
    boolstyle - Whether the first columns should be a bool option ("checklist",
                "radiolist") or None if it should be a text field.
    editable - True if the user can edit the cells.
    select_col - The column number of the selected cell to return or "ALL" to 
                 return the entire row.
    sep - Token to use as the row separator when parsing Zenity's return. 
          Cells should not contain this token.
    data - A list or tuple of tuples that contain the cells in the row.  The 
           size of the row's tuple must be equal to the number of columns."""

    args = []
    for column in column_names:
        args.append('--column=%s' % column)
    
    if title:
        args.append('--title=%s' % title)
    if boolstyle:
        if not (boolstyle == 'checklist' or boolstyle == 'radiolist'):
            raise ValueError('"%s" is not a proper boolean column style.'
                             % boolstyle)
        args.append('--' + boolstyle)
    if editable:
        args.append('--editable')
    if select_col:
        args.append('--print-column=%s' % select_col)
    if sep != '|':
        args.append('--separator=%s' % sep)
    
    for datum in chain(*data):
        args.append(str(datum))
    
    p = run_zenity('--list', *args)

    if p.wait() == 0:
        return p.stdout.read().strip().split(sep)


def ErrorMessage(text):
    """Show an error message dialog to the user.
    
    This will raise a Zenity Error Dialog with a description of the error.
    
    text - A description of the error."""

    run_zenity('--error', '--text=%s' % text).wait()


def Question(text):
    """Ask the user a question.
    
    This will raise a Zenity Question Dialog that will present the user with an 
    OK/Cancel dialog box.  It returns True if the user clicked OK; False on 
    Cancel.
    
    text - The question to ask."""

    return run_zenity('--question', '--text=%s' % text).wait() == 0


def Warning(text):
    """Show a warning message dialog to the user.
    
    This will raise a Zenity Warning Dialog with a description of the warning.
    It returns True if the user clicked OK; False on cancel.
    
    text - A description of the warning."""

    return run_zenity('--warning', '--text=%s' % text).wait() == 0


def Progress(text='', percentage=0, auto_close=False, pulsate=False):
    """Show a progress dialog to the user.
    
    This will raise a Zenity Progress Dialog.  It returns a callback that 
    accepts two arguments.  The first is a numeric value of the percent 
    complete.  The second is a message about the progress.

    NOTE: This function sends the SIGHUP signal if the user hits the cancel 
          button.  You must connect to this signal if you do not want your 
          application to exit.
    
    text - The initial message about the progress.
    percentage - The initial percentage to set the progress bar to.
    auto_close - True if the dialog should close automatically if it reaches 
                 100%.
    pulsate - True is the status should pulsate instead of progress."""

    args = []
    if text:
        args.append('--text=%s' % text)
    if percentage:
        args.append('--percentage=%s' % percentage)
    if auto_close:
        args.append('--auto-close=%s' % auto_close)
    if pulsate:
        args.append('--pulsate=%s' % pulsate)

    p = Popen([zen_exec, '--progress'] + args, stdin=PIPE, stdout=PIPE)

    def update(percent, message=''):
        if type(percent) == float:
            percent = int(percent * 100)
        p.stdin.write(str(percent) + '\n')
        if message:
            p.stdin.write('# %s\n' % message)
        return p.returncode

    return update


def GetText(text='', entry_text='', password=False):
    """Get some text from the user.

    This will raise a Zenity Text Entry Dialog.  It returns the text the user 
    entered or None if the user hit cancel.

    text - A description of the text to enter.
    entry_text - The initial value of the text entry box.
    password - True if text entered should be hidden by stars."""

    args = []
    if text:
        args.append('--text=%s' % text)
    if entry_text:
        args.append('--entry-text=%s' % entry_text)
    if password:
        args.append('--hide-text')

    p = run_zenity('--entry', *args)

    if p.wait() == 0:
        return p.stdout.read()[:-1]


########################################################
#####-END of PyZenity-######


import sys
import gdata.photos.service
#import PyZenity
#import bz2

#Paramètres : possibilité de les rentrer en dur
email=GetText(text='Email', entry_text='@gmail.com', password=False)
password=GetText(text='Mot de passe', entry_text='Picasa', password=True)
#key=...




########-Fonction d'envoi des photos-########
def send_photo(album):
	album_url = '/data/feed/api/user/%s/album/%s' % ('default', album)
	update=Progress(text='Envoi des photos ...', percentage=0, auto_close=False, pulsate=False)
	percent=0
        for i in range(len(sys.argv)-1):
		text='Envoi des photos ... ('+str(i+1)+'/'+str(len(sys.argv)-1)+')'
		print str(percent)
		update(percent,text)
		entry = gd_client.InsertPhotoSimple(album_url, 'New Photo','', sys.argv[i+1], content_type='image/jpeg')
		percent=int(float(i+1)/(len(sys.argv)-1)*100)
#############################################

#Connection à picasaweb
gd_client = gdata.photos.service.PhotosService()
gd_client.email = email
#gd_client.password = bz2.decompress(key)
gd_client.password = password
gd_client.source = 'exampleCo-exampleApp-1'



try:
    gd_client.ProgrammaticLogin()
except gdata.service.CaptchaRequired:
#    print('Required Captcha')
     ErrorMessage('Required Captcha')
except gdata.service.BadAuthentication:
#    print('Mauvaise authentification')
     ErrorMessage('Mauvaise authentification')
except gdata_client.Error:
#    print('Probleme de Login')
     ErrorMessage('Probleme de Login')
else:
	
	nouvelalbum=Question("Creer un nouvel album ?")

	if nouvelalbum==True :
		nom_album=GetText(text='Nom de l\'album (sans espaces): ', entry_text='Nouvel_album', password=False)
		# Verification si l'album existe deja
		feed = gd_client.GetUserFeed(user="default")
		for entry in feed.entry:
			while nom_album.lower()==str(entry.title.text).lower():
				Warning("Cet album existe deja, veuillez entrer un autre nom !")
				nom_album=GetText(text='Nom de l\'album (sans espaces): ', entry_text='Nouvel_album_2', password=False)
		#Permissions sur l'album
		acces="private"
        	#Crée l'album
        	entry = gd_client.InsertAlbum(nom_album, summary='This is an album', access=acces)
		#Envoi des photos
		send_photo(nom_album)


        
	else:
		# Choisir un album
		feed = gd_client.GetUserFeed(user="default")
		i=0
		liste=()
        	for entry in feed.entry:
			i=i+1
			liste = liste + (entry.title.text,)  
		nom_album=(List(('Album',), title=None, boolstyle=None, editable=False, select_col=None, sep='|', data=[liste]))[0]
		#Envoi des photos
		send_photo(nom_album)

Dernière modification par GNU-max (Le 18/07/2009, à 15:39)

Hors ligne

#13 Le 27/06/2009, à 20:12

GNU-max

Re : [script/python] Nautilus et picasaweb!

J'ai fait aussi un script bash qui permet de télécharger un album de picasaweb en cliquant sur «Télécharger vers picasa» depuis l'interface web.

Désolé pour la longueur du script précédent.

#! /bin/bash
# Script de téléchargement d'un album Picasa à partir de son uri picasa://
# Equivalent à «Télécharger avec picasa» sur picasaweb
#.................................................
# Dépends de : Zenity, plugin picasa pour firefox (npPicasa3.so) dispo dans le paquet .deb de Picasa 3 for linux

#--1--
# Copier npPicasa3.so dans les dossiers de plugins firefox :
#...................................................
# sudo  cp npPicasa3.so /usr/lib/mozilla/plugins/ 
# sudo ln -s /usr/lib/mozilla/plugins/npPicasa3.so /usr/lib/firefox/plugins/npPicasa3.so
# sudo ln -s /usr/lib/mozilla/plugins/npPicasa3.so /usr/lib/firefox-addons/plugins/npPicasa3.so
#...................................................
#Verifier le chargement du plugins (taper about:plugins dans firefox)

#--2--
# Configurer Firefox [adapter le chemin vers le script]
#...................................................
# path=$(ls -d /home/$USER/.mozilla/firefox/*.default)
# echo -e "user_pref(\"network.protocol-handler.app.picasa\", \"/home/$USER/picasa_down.sh\");\nuser_pref(\"network.protocol-handler.external.picasa\", true);$" > $path/user.js
#....................................................

 
rss_link=$(
echo $1 | \
sed "
	s#picasa://downloadfeed/?url=## 
		
	s/%25/%/g
	s/%21/!/g
	s/%23/#/g
	s/%24/\$/g
	s/%26/\&/g
	s/%27/'\''/g
	s/%28/(/g
	s/%29/)/g
	s/%2A/\*/g
	s/%2B/+/g
	s/%2C/,/g
	s/%2D/-/g
	s/%2E/\./g
	s/%2F/\//g
	s/%3A/:/g
	s/%3B/;/g
	s/%3D/=/g
	s/%3F/?/g
	s/%40/@/g
	s/%5B/\[/g
	s/%5C/\\\/
	s/%5D/\]/g
	s/%5E/\^/g
	s/%5F/_/g
	s/%60/\`/g
	s/%7B/{/g
	s/%7C/|/g
	s/%7D/}/g
	s/%7E/~/g
")

DOSSIER=`zenity --file-selection --title="Sélectionnez un dossier de destination" --directory --filename=/home/$USER/`

if [ ! "$DOSSIER" ]
then exit 1
else

wget -q -O - "$rss_link" |
sed -e 's/<pheed:imgsrc>/\n/g ; s/<\/pheed:imgsrc>/\n/g' |
grep -E '^http' |sed '1d' > /tmp/picasa_down


Npics=$(cat /tmp/picasa_down | wc -l)

j=1
(
echo "#Téléchargement de l'album ..."

for i in $(cat /tmp/picasa_down)
do
	echo "#Téléchargement de l'album : photo $j/$Npics."
	echo "scale=2 ; $j/$Npics*100"| bc
	j=$((j+1))
	(pidof zenity >/dev/null) && wget -q --directory-prefix="$DOSSIER" "$i"
done

echo "#Terminé"
)|  zenity --progress --title="Picasa" --percentage=0 --auto-kill --width=400 

fi
exit 0

[Edit 10/10/09] Ajout de guillemets à $DOSSIER pour gérer les espaces dans les noms de dossier.

Dernière modification par GNU-max (Le 10/10/2009, à 08:04)

Hors ligne

#14 Le 04/07/2009, à 12:42

lylambda

Re : [script/python] Nautilus et picasaweb!

Salut GNU-max,

Tes scripts adaptés de celui de FTG sont exactement ce que je cherche. J'utilise jBrout pour gérer mes photos, ce logiciel étant parfait niveau tagage. Malheureusement le plugin d'export sur picasaweb ne fonctionne plus sur mon système dernièrement.
[Pour info, j'obtiens ce message d'erreur : ]

Erreur d'upload : 'PicasaWeb' object has no attribute '_PrepareConnection'

Le 1er scripts seraient la solution idéale. Néanmoins, ma 1 ère tentative n'a aboutit qu'à un échec :

# Dépend de : gdata, nautilus-actions, zenity
--> Aprés vérification sur synaptic, j'ai bien ces paquets sur mon ubuntu
# Dans Nautilus Action rentrer
# Chemin : /usr/bin/python </chemni/vers/script>
# Parametres : %M
# Conditions :
#    Types Mime : image/*
#    Cocher : Apparaît si la selection contient plusieurs fichiers ou dossiers
--> j'ai créé une nouvelle action selon les indications ci-dessus (en mettant évidement mon propre chemin de script, celui-ci étant exécutable)

Au final, l'intitulé de l'action apparait bien lorsque je clique droit dans Nautilus mais rien ne se passe lorsque je tente de l'activer.

Aurais-je oublié un élément important ?

Dernière modification par lylambda (Le 04/07/2009, à 12:43)

Hors ligne

#15 Le 18/07/2009, à 15:25

GNU-max

Re : [script/python] Nautilus et picasaweb!

Salut lylambda,

Désolé pour la réponse tardive, je ne passe pas souvent sur le forum.
En fait le paquet gdata n'est pas suffisant, il faut installer gdata manuellement comme l'a décrit FTG :

Une fois ces trois paquets installés, allez voir du côté de ce lien:
http://code.google.com/p/gdata-python-c … loads/list et telechargez la derniere version de
gdate-py dans un endroit de votre partition /home/user. Décompresser avec la commande tar xvf puis bien lire INSTALL.TXT ca vaut le coup! Pour les plus préssés d'entre vous lancez tout de suite

    python setup.py

en root. Dans l'INSTALL.TXT il est bien indiqué comment tester si l'installation a bien fonctionné!

Merci d'avoir relevé ce point (je modifie la note d'installation en conséquence). J'espère que c'est ça.

Dernière modification par GNU-max (Le 18/07/2009, à 15:34)

Hors ligne

#16 Le 19/07/2009, à 22:04

lylambda

Re : [script/python] Nautilus et picasaweb!

Merci beaucoup pour le retour GNU-max !

Effectivement, si c'est une dépendance qui n'est pas à jour, cela explique le non-fonctionnement du script
J'ai tenté de compiler gdata-2.0.0 comme indiquer mais apparemment je manque encore de connaissance.

Quand je tape dans mon répertoire de décompression

sudo python setup.py

cela ne me donne que

/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: no commands supplied

Par contre taper 

sudo python setup.py install

à plus d'effet avec comme résultat

/usr/lib/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'install_requires'
  warnings.warn(msg)
running install
running build
running build_py
creating build
creating build/lib.linux-i686-2.6
creating build/lib.linux-i686-2.6/atom
copying src/atom/http.py -> build/lib.linux-i686-2.6/atom
copying src/atom/data.py -> build/lib.linux-i686-2.6/atom
copying src/atom/mock_service.py -> build/lib.linux-i686-2.6/atom
copying src/atom/http_core.py -> build/lib.linux-i686-2.6/atom
copying src/atom/mock_http_core.py -> build/lib.linux-i686-2.6/atom
copying src/atom/core.py -> build/lib.linux-i686-2.6/atom
copying src/atom/client.py -> build/lib.linux-i686-2.6/atom
copying src/atom/token_store.py -> build/lib.linux-i686-2.6/atom
copying src/atom/http_interface.py -> build/lib.linux-i686-2.6/atom
copying src/atom/service.py -> build/lib.linux-i686-2.6/atom
copying src/atom/auth.py -> build/lib.linux-i686-2.6/atom
copying src/atom/url.py -> build/lib.linux-i686-2.6/atom
copying src/atom/__init__.py -> build/lib.linux-i686-2.6/atom
copying src/atom/mock_http.py -> build/lib.linux-i686-2.6/atom
creating build/lib.linux-i686-2.6/gdata
copying src/gdata/data.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/gauth.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/urlfetch.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/test_config.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/sample_util.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/client.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/service.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/auth.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/test_config_template.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/test_data.py -> build/lib.linux-i686-2.6/gdata
copying src/gdata/__init__.py -> build/lib.linux-i686-2.6/gdata
creating build/lib.linux-i686-2.6/gdata/calendar
copying src/gdata/calendar/service.py -> build/lib.linux-i686-2.6/gdata/calendar
copying src/gdata/calendar/__init__.py -> build/lib.linux-i686-2.6/gdata/calendar
creating build/lib.linux-i686-2.6/gdata/base
copying src/gdata/base/service.py -> build/lib.linux-i686-2.6/gdata/base
copying src/gdata/base/__init__.py -> build/lib.linux-i686-2.6/gdata/base
creating build/lib.linux-i686-2.6/gdata/spreadsheet
copying src/gdata/spreadsheet/service.py -> build/lib.linux-i686-2.6/gdata/spreadsheet
copying src/gdata/spreadsheet/text_db.py -> build/lib.linux-i686-2.6/gdata/spreadsheet
copying src/gdata/spreadsheet/__init__.py -> build/lib.linux-i686-2.6/gdata/spreadsheet
creating build/lib.linux-i686-2.6/gdata/apps
copying src/gdata/apps/service.py -> build/lib.linux-i686-2.6/gdata/apps
copying src/gdata/apps/__init__.py -> build/lib.linux-i686-2.6/gdata/apps
creating build/lib.linux-i686-2.6/gdata/apps/emailsettings
copying src/gdata/apps/emailsettings/service.py -> build/lib.linux-i686-2.6/gdata/apps/emailsettings
copying src/gdata/apps/emailsettings/__init__.py -> build/lib.linux-i686-2.6/gdata/apps/emailsettings
creating build/lib.linux-i686-2.6/gdata/apps/migration
copying src/gdata/apps/migration/service.py -> build/lib.linux-i686-2.6/gdata/apps/migration
copying src/gdata/apps/migration/__init__.py -> build/lib.linux-i686-2.6/gdata/apps/migration
creating build/lib.linux-i686-2.6/gdata/apps/groups
copying src/gdata/apps/groups/service.py -> build/lib.linux-i686-2.6/gdata/apps/groups
copying src/gdata/apps/groups/__init__.py -> build/lib.linux-i686-2.6/gdata/apps/groups
creating build/lib.linux-i686-2.6/gdata/docs
copying src/gdata/docs/service.py -> build/lib.linux-i686-2.6/gdata/docs
copying src/gdata/docs/__init__.py -> build/lib.linux-i686-2.6/gdata/docs
creating build/lib.linux-i686-2.6/gdata/codesearch
copying src/gdata/codesearch/service.py -> build/lib.linux-i686-2.6/gdata/codesearch
copying src/gdata/codesearch/__init__.py -> build/lib.linux-i686-2.6/gdata/codesearch
creating build/lib.linux-i686-2.6/gdata/books
copying src/gdata/books/service.py -> build/lib.linux-i686-2.6/gdata/books
copying src/gdata/books/__init__.py -> build/lib.linux-i686-2.6/gdata/books
creating build/lib.linux-i686-2.6/gdata/photos
copying src/gdata/photos/service.py -> build/lib.linux-i686-2.6/gdata/photos
copying src/gdata/photos/__init__.py -> build/lib.linux-i686-2.6/gdata/photos
creating build/lib.linux-i686-2.6/gdata/exif
copying src/gdata/exif/__init__.py -> build/lib.linux-i686-2.6/gdata/exif
creating build/lib.linux-i686-2.6/gdata/geo
copying src/gdata/geo/__init__.py -> build/lib.linux-i686-2.6/gdata/geo
creating build/lib.linux-i686-2.6/gdata/media
copying src/gdata/media/__init__.py -> build/lib.linux-i686-2.6/gdata/media
creating build/lib.linux-i686-2.6/gdata/contacts
copying src/gdata/contacts/service.py -> build/lib.linux-i686-2.6/gdata/contacts
copying src/gdata/contacts/__init__.py -> build/lib.linux-i686-2.6/gdata/contacts
creating build/lib.linux-i686-2.6/gdata/youtube
copying src/gdata/youtube/service.py -> build/lib.linux-i686-2.6/gdata/youtube
copying src/gdata/youtube/__init__.py -> build/lib.linux-i686-2.6/gdata/youtube
creating build/lib.linux-i686-2.6/gdata/webmastertools
copying src/gdata/webmastertools/service.py -> build/lib.linux-i686-2.6/gdata/webmastertools
copying src/gdata/webmastertools/__init__.py -> build/lib.linux-i686-2.6/gdata/webmastertools
creating build/lib.linux-i686-2.6/gdata/blogger
copying src/gdata/blogger/data.py -> build/lib.linux-i686-2.6/gdata/blogger
copying src/gdata/blogger/client.py -> build/lib.linux-i686-2.6/gdata/blogger
copying src/gdata/blogger/service.py -> build/lib.linux-i686-2.6/gdata/blogger
copying src/gdata/blogger/__init__.py -> build/lib.linux-i686-2.6/gdata/blogger
creating build/lib.linux-i686-2.6/gdata/alt
copying src/gdata/alt/appengine.py -> build/lib.linux-i686-2.6/gdata/alt
copying src/gdata/alt/app_engine.py -> build/lib.linux-i686-2.6/gdata/alt
copying src/gdata/alt/__init__.py -> build/lib.linux-i686-2.6/gdata/alt
creating build/lib.linux-i686-2.6/gdata/oauth
copying src/gdata/oauth/rsa.py -> build/lib.linux-i686-2.6/gdata/oauth
copying src/gdata/oauth/__init__.py -> build/lib.linux-i686-2.6/gdata/oauth
creating build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/SessionCache.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/Session.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/errors.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/FileObject.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/X509CertChain.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/mathtls.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/api.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/BaseDB.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/TLSRecordLayer.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/SharedKeyDB.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/HandshakeSettings.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/Checker.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/X509.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/constants.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/TLSConnection.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/messages.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/__init__.py -> build/lib.linux-i686-2.6/gdata/tlslite
copying src/gdata/tlslite/VerifierDB.py -> build/lib.linux-i686-2.6/gdata/tlslite
creating build/lib.linux-i686-2.6/gdata/Crypto
copying src/gdata/Crypto/test.py -> build/lib.linux-i686-2.6/gdata/Crypto
copying src/gdata/Crypto/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto
creating build/lib.linux-i686-2.6/gdata/Crypto/Cipher
copying src/gdata/Crypto/Cipher/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto/Cipher
creating build/lib.linux-i686-2.6/gdata/Crypto/Hash
copying src/gdata/Crypto/Hash/HMAC.py -> build/lib.linux-i686-2.6/gdata/Crypto/Hash
copying src/gdata/Crypto/Hash/MD5.py -> build/lib.linux-i686-2.6/gdata/Crypto/Hash
copying src/gdata/Crypto/Hash/SHA.py -> build/lib.linux-i686-2.6/gdata/Crypto/Hash
copying src/gdata/Crypto/Hash/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto/Hash
creating build/lib.linux-i686-2.6/gdata/Crypto/Protocol
copying src/gdata/Crypto/Protocol/Chaffing.py -> build/lib.linux-i686-2.6/gdata/Crypto/Protocol
copying src/gdata/Crypto/Protocol/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto/Protocol
copying src/gdata/Crypto/Protocol/AllOrNothing.py -> build/lib.linux-i686-2.6/gdata/Crypto/Protocol
creating build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/pubkey.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/ElGamal.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/DSA.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/RSA.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
copying src/gdata/Crypto/PublicKey/qNEW.py -> build/lib.linux-i686-2.6/gdata/Crypto/PublicKey
creating build/lib.linux-i686-2.6/gdata/Crypto/Util
copying src/gdata/Crypto/Util/randpool.py -> build/lib.linux-i686-2.6/gdata/Crypto/Util
copying src/gdata/Crypto/Util/test.py -> build/lib.linux-i686-2.6/gdata/Crypto/Util
copying src/gdata/Crypto/Util/RFC1751.py -> build/lib.linux-i686-2.6/gdata/Crypto/Util
copying src/gdata/Crypto/Util/number.py -> build/lib.linux-i686-2.6/gdata/Crypto/Util
copying src/gdata/Crypto/Util/__init__.py -> build/lib.linux-i686-2.6/gdata/Crypto/Util
creating build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Cryptlib_AES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Cryptlib_TripleDES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/keyfactory.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/dateFuncs.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/PyCrypto_AES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/PyCrypto_RSAKey.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Python_RSAKey.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/RSAKey.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/codec.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/AES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/hmac.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/OpenSSL_AES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Cryptlib_RC4.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/cryptomath.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/OpenSSL_RSAKey.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/compat.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/TripleDES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/OpenSSL_TripleDES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Python_RC4.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/Python_AES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/PyCrypto_RC4.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/xmltools.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/RC4.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/OpenSSL_RC4.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/__init__.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/PyCrypto_TripleDES.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/ASN1Parser.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/cipherfactory.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/jython_compat.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
copying src/gdata/tlslite/utils/rijndael.py -> build/lib.linux-i686-2.6/gdata/tlslite/utils
creating build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/IMAP4_TLS.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/TLSAsyncDispatcherMixIn.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/IntegrationHelper.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/SMTP_TLS.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/POP3_TLS.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/TLSSocketServerMixIn.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/TLSTwistedProtocolWrapper.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/HTTPTLSConnection.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/AsyncStateMachine.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/ClientHelper.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/__init__.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
copying src/gdata/tlslite/integration/XMLRPCTransport.py -> build/lib.linux-i686-2.6/gdata/tlslite/integration
creating build/lib.linux-i686-2.6/gdata/health
copying src/gdata/health/service.py -> build/lib.linux-i686-2.6/gdata/health
copying src/gdata/health/__init__.py -> build/lib.linux-i686-2.6/gdata/health
creating build/lib.linux-i686-2.6/gdata/analytics
copying src/gdata/analytics/service.py -> build/lib.linux-i686-2.6/gdata/analytics
copying src/gdata/analytics/__init__.py -> build/lib.linux-i686-2.6/gdata/analytics
creating build/lib.linux-i686-2.6/gdata/finance
copying src/gdata/finance/service.py -> build/lib.linux-i686-2.6/gdata/finance
copying src/gdata/finance/__init__.py -> build/lib.linux-i686-2.6/gdata/finance
running install_lib
running install_egg_info
Removing /usr/local/lib/python2.6/dist-packages/gdata-2.0.0.egg-info
Writing /usr/local/lib/python2.6/dist-packages/gdata-2.0.0.egg-info

Mais ce ne doit pas être la solution vu qu'au final le script ne s'active toujours pas lorsque je le sélectionne par "clique-droit" dans Nautilus. Bref, je fais une pause pour ce soir et je me replongerais dans l'INSTALL.TXT un peu plus tard.
En tout cas, si tu as tout lu jusqu'ici, tu es décidément serviable (et surtout courageux ;-) !

PS: si un petit paquet deb du dernier gdata traine dans le coin, dis lui que je lui offre un CDI illico :-p

Hors ligne

#17 Le 20/07/2009, à 00:54

GNU-max

Re : [script/python] Nautilus et picasaweb!

Lorsque j'ai fait le script c'était gdata 1.3.3 mais je ne pense pas que ce soit ça. Dans l'INSTALL.TXT il y a une procédure pour tester l'installation : lancer ./tests/run_data_tests.py

Essaye d'executer le script en ligne de commande pour voir si il y a un message d'erreur.

python picasa_export.py <une image>

Hors ligne

#18 Le 01/08/2009, à 15:46

lylambda

Re : [script/python] Nautilus et picasaweb!

Désolé de l'absence.

Dans mon répertoire de compilation, j'avais bien fait le test

./tests/run_data_tests.py

Le résultat a était positif d'après l'INSTALL.

Par contre

python picasa_export.py <une image>

me renvois un message d'erreur, donc je suppose que ça vient de ma manière de rentrer l'action dans Nautilus.

Comme j'ai bloqué à ce niveau, j'ai testé l'extension firefox "fire/universal uploader" indiqué précédemment par Axelap.
Il me convient parfaitement mais cela me frustre de ne pas avoir réussi à faire fonctionner ton script >_<.

Merci encore et promis, je referais un essai lorsque mes compétences se seront améliorées !

Hors ligne

#19 Le 02/08/2009, à 20:09

GNU-max

Re : [script/python] Nautilus et picasaweb!

C'est bien si t'as trouvé quelque chose qui te convient. Si tu décides de remettre les mains dans le cambouis, n'hésite pas. J'essayerais de t'aider du mieux que je peux.

P.S.

lylambda a écrit :

Par contre

python picasa_export.py <une image>

me renvois un message d'erreur, donc je suppose que ça vient de ma manière de rentrer l'action dans Nautilus.

Au contraire, cette commande permet d'exécuter le script sans utiliser nautilus-actions, donc de s'affranchir des éventuelles erreurs liées à celui-ci. Par contre d'une manière générale, si on te demande d'essayer une commande c'est justement pour voir quelle erreur(s) s'affiche(nt) tongue
Je n'exlcus pas qu'il s'agissent d'une erreur de ma part.

Dernière modification par GNU-max (Le 02/08/2009, à 20:11)

Hors ligne

#20 Le 03/08/2009, à 01:19

Qid

Re : [script/python] Nautilus et picasaweb!

Jeece a écrit :

Salut. Non ça intéresse sûrement personne car Picasa c'est propriétaire et on préfère F-Spot qui fait très bien le boulot. tongue

au depart j'avais picasa sur ubuntu et quand je suis passé au 3
j'ai eu des mauvaises surprise alors je l'ai désinstallé car entre temp en plus
j'avais découvert que f-spot effectivement faisait aussi bine le boulot
(pas moyen de mettre de transfere en standby mais bon)
enfin voila par contre c'est vrais que
la gestion de fspot ne me plaisant pas dutout
je ne m'en sert vraiement que pour les transfere vers picasa
et dois le revider à chaque fois ... bref faudra que je teste ton truc
mais la méthode d'install me plait pas trop hmm


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#21 Le 13/03/2010, à 15:45

YvanD

Re : [script/python] Nautilus et picasaweb!

Ce serait super de créer un clone (enfin de s'inspirer) de nautilus-flirck-uploader mais pour picasa. big_smile

http://www.usebox.net/jjm/nautilus-flickr-uploader/

Hors ligne

#22 Le 09/01/2011, à 18:25

JimBo

Re : [script/python] Nautilus et picasaweb!

Il existe une extension Firefox pour ça (upload et download depuis Picasa, mais aussi Facebook, Youtube, Flickr et tout un tas d'autres sites...)
malheureusement uniquement en anglais : FireUploader

Hors ligne

#23 Le 16/02/2013, à 00:30

elephant

Re : [script/python] Nautilus et picasaweb!

bonjour à tous

Je ne suis pas sûre que le problème que je rencontre est le même que ceux évoqués plus haut : depuis plus d'un an, j'ai une galerie picasa gratuite qui me sert de vitrine pour exposer mes peintures. J'ai donc besoin de poster des photos dessus très régulièrement. Or, impossible de faire ça depuis mon ordi (sous Ubuntu). je dois aller dans des internet café.

kafkaïen : je clique sur
"transférer des fichiers"
je tombe sur
"Picasa Albums Web ne comporte pas encore de programme de transfert propre à Linux. Pour tenter de transférer des photos avec notre formulaire de transfert via le Web, cliquez sur le bouton Transférer des photos, à droite."
J'appuie donc, on me dit de me connecter (alors que je suis connectée), je clique donc sur "me connecter"
et je tombe sur
"La fonctionnalité que vous avez demandée est actuellement indisponible. Veuillez réessayer ultérieurement."

J'ai lu vos échanges, mais je suis une femme des cavernes : je ne m'y connais pas suffisamment en informatiques pour engager les procédures que vous décrivez.

en résumé, je cherche un moyen compréhensible pour seulement exporter des fichiers jpeg depuis mon ordi vers Picasa.
des suggestions ?

merci

Hors ligne

#24 Le 16/02/2013, à 09:16

GNU-max

Re : [script/python] Nautilus et picasaweb!

Bonjour,

Vous avez bien fait de lire les sujets du forum sur picasa. Mais peut-être auriez vous dû créer un nouveau sujet car celui-ci est ancien et contient des informations sûrement obsolètes.

Je n'utilise pas Picasa et je ne peux pas vous aider sur votre problème avec l'interface web de Picasa.
Pour utiliser Picasa avec Ubuntu vous pouvez essayer les logiciels Shotwell (normalement installé par défaut sur ubuntu) ou Conduit. (source : askubuntu)

Hors ligne

#25 Le 16/02/2013, à 09:25

michel_04

Re : [script/python] Nautilus et picasaweb!

Bonjour,

elephant a écrit :

en résumé, je cherche un moyen compréhensible pour seulement exporter des fichiers jpeg depuis mon ordi vers Picasa.
des suggestions ?

Tu as vu http://doc.ubuntu-fr.org/galeries_web_picasa ?

A+

Hors ligne