Ejemplo n.º 1
0
class JamendoManager(Singleton, Client):
    def __init__(self):
        Singleton.__init__(self)
        Client.__init__(self)

        self.prefs = PluginPrefs("jamendo")
        self.username = self.get_preference("username", "")
        self.password = self.get_preference("password", "")

    def is_logged(self):
        return self.logged

    def has_preference(self, name):
        return self.prefs.has_key(name)

    def get_preference(self, name, default=None):
        return self.prefs.get(name, default)

    def set_preference(self, name, value):
        self.prefs[name] = value
        self.prefs.save()

    def get_username(self):
        return self.username

    def set_username(self, value):
        self.username = value
        self.set_preference("username", value)

    def get_password(self):
        return self.password

    def set_password(self, value):
        self.password = value
        self.set_preference("password", value)
Ejemplo n.º 2
0
class PicasaManager(Singleton):
    def __init__(self):
        Singleton.__init__(self)
        self.gd_client = gdata.photos.service.PhotosService()
        self.gd_client.email = ''
        self.gd_client.password = ''
        self.gd_client.source = 'Picasa plugin for Canola'
        self.logged = False
        self.login_error = ''
        self._user = ''
        self._password = ''
        self.albums =''
        self.thumbs_path = ''
        self.outside_terra = False;

        #used to save the list of current downloading thumbs to avoid multiple
        #downloads for the same file
        self.thumbs_in_progress = {};

        try:
            self.prefs = PluginPrefs("picasa")
        except:
            print "running outside canola"
            self.outside_terra = True;

    def reload_prefs(self):
        self.user = self.get_preference("username", "")
        self.password = self.get_preference("password", "")

    def get_preference(self, name, default=None):
        return self.prefs.get(name, default)

    def get_thumbs_path(self):
        if not self.thumbs_path:
            try:
                self.thumbs_path = self.prefs["thumbs_path"]
            except KeyError:
                try:
                    download_path = PluginPrefs("settings")["download_path"]
                except KeyError:
                    download_path = os.path.join(os.path.expanduser("~"), ".canola")

                self.thumbs_path = os.path.join(download_path, "picasa", "thumbnails")
                self.set_preference("thumbs_path", self.thumbs_path)

        if not os.path.exists(self.thumbs_path):
            os.makedirs(self.thumbs_path)

        return self.thumbs_path

    def set_preference(self, name, value):
        self.prefs[name] = value
        self.prefs.save()

    def getPassword(self):
        return self._password

    def setPassword(self, password):
        self._password = self.gd_client.password = password
        if not self.outside_terra:
            self.set_preference("password", password)

    password = property(getPassword, setPassword)

    def getUser(self):
        return self._user

    def setUser(self, email):
        self._user = self.gd_client.email = email
        if not self.outside_terra:
            self.set_preference("username", email)

    user = property(getUser, setUser)

    def login(self):
        if not self.outside_terra:
            self.reload_prefs()
        try:
            self.gd_client.ProgrammaticLogin()
            self.logged = True
            self.albums = None
        except gdata.service.Error, error:
            log.error("Could not login to Picasa, exception: %s" % error)
            self.login_error = error
            self.logged = False