Changeset 4029


Ignore:
Timestamp:
Mar 23, 2017, 2:16:54 PM (2 years ago)
Author:
jrpelegrina
Message:

WIP in check connection

Location:
lliurex-gdrive/trunk/fuentes
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/debian/control

    r4018 r4029  
    3434Package: lliurex-gdrive-indicator
    3535Architecture: all
    36 Depends: ${shlibs:Depends}, ${misc:Depends}, lliurex-gdrive-core (= ${binary:Version}), lliurex-gdrive-gui (= ${binary:Version}), python
     36Depends: ${shlibs:Depends}, ${misc:Depends}, lliurex-gdrive-core (= ${binary:Version}), lliurex-gdrive-gui (= ${binary:Version}), python, python-notify2
    3737Description: Indicator menu to lliurex-google-drive
    3838 Indicator menu to lliurex-google-drive.
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py

    r4021 r4029  
    8686
    8787                self.init_threads()
     88                self.check_initial_connection()
    8889
    8990                               
    9091        #def __init__
    91        
     92
    9293        def init_threads(self):
    9394
     
    9596                self.create_mountpoint_t=threading.Thread(target=self.create_mountpoint)
    9697                self.edit_profile_t=threading.Thread(target=self.edit_profile)
     98                self.delete_profile_t=threading.Thread(target=self.delete_profile)
    9799
    98100               
     
    100102                self.create_mountpoint_t.daemon=True
    101103                self.edit_profile_t.daemon=True
     104                self.delete_profile_t.daemon=True
    102105
    103106                self.create_mountpoint_t.done=False
    104107                self.edit_profile_t.done=False
     108                self.delete_profile_t.done=False
    105109
    106110                self.create_profile_t.launched=False
    107111                self.create_mountpoint_t.launched=False
    108112                self.edit_profile_t.launched=False
     113                self.delete_profile_t.launched=False
    109114               
    110115                GObject.threads_init()
     
    140145
    141146        #def connect_signals
     147
     148
     149        def check_initial_connection(self):
     150               
     151                self.initial_connection=self.LliurexGoogleDriveManager.check_google_connection()
     152                return
    142153       
    143154        def load_info(self,info):
     
    240251                dialog.destroy()
    241252
     253                self.init_threads()
     254
    242255                if response==Gtk.ResponseType.YES:
    243256                        self.msg_label.set_text("")
     
    246259                        profile=profile.decode("utf-8")
    247260                        self.profiles_info.pop(profile)
    248 
    249                         delete=self.core.LliurexGoogleDriveManager.delete_profile(self.profiles_info,profile)
    250                         self.msg_label.show()
    251 
    252                         if delete["result"]:
    253                                 self.profile_msg.set_name("MSG_LABEL")
    254                                 self.msg_label.set_text(MSG_CHANGE_SUCCESS)
    255                                 self.profile_list_box.remove(hbox)
     261                        self.delete_profile_t.start()
     262                        self.delete_profile_t.launched=True
     263                        GLib.timeout_add(100,self.pulsate_delete_profile,profile)
     264
     265                        # delete=self.core.LliurexGoogleDriveManager.delete_profile(self.profiles_info,profile)
     266                        # self.msg_label.show()
     267
     268                        # if delete["result"]:
     269                        #       self.profile_msg.set_name("MSG_LABEL")
     270                        #       self.msg_label.set_text(MSG_CHANGE_SUCCESS)
     271                        #       self.profile_list_box.remove(hbox)
     272                        # else:
     273                        #       msg_error=self.get_msg_error(delete["code"])
     274                        #       self.msg_label.set_name("MSG_ERROR_LABEL")
     275                        #       self.msg_label.set_text(msg_error)
     276
     277                        # self.profiles_info=self.core.LliurexGoogleDriveManager.profiles_config.copy()
     278
     279
     280        # def delete_profile_clicked
     281               
     282        def pulsate_delete_profile(self,profile)
     283
     284                        if self.delete_profile_t.launched:
     285                                if self.delete_profile_t.is_alive():
     286                                        return True
     287
    256288                        else:
    257                                 msg_error=self.get_msg_error(delete["code"])
    258                                 self.msg_label.set_name("MSG_ERROR_LABEL")
    259                                 self.msg_label.set_text(msg_error)
    260 
    261                         self.profiles_info=self.core.LliurexGoogleDriveManager.profiles_config.copy()
    262 
    263 
    264         # def delete_profile_clicked
    265                
     289                                if self.delete_profile_t.done:
     290                                        #delete=self.core.LliurexGoogleDriveManager.delete_profile(self.profiles_info,profile)
     291                                        self.msg_label.show()
     292
     293                                        if delete["result"]:
     294                                                self.profile_msg.set_name("MSG_LABEL")
     295                                                self.msg_label.set_text(MSG_CHANGE_SUCCESS)
     296                                                self.profile_list_box.remove(hbox)
     297                                        else:
     298                                                msg_error=self.get_msg_error(delete["code"])
     299                                                self.msg_label.set_name("MSG_ERROR_LABEL")
     300                                                self.msg_label.set_text(msg_error)
     301
     302                                        self.profiles_info=self.core.LliurexGoogleDriveManager.profiles_config.copy()
     303
     304                                return False   
     305
     306       
     307        def delete_profile(self,profile):
     308
     309                delete=self.core.LliurexGoogleDriveManager.delete_profile(self.profiles_info,profile)
     310                self.delete_profile_t.done=True                                 
    266311
    267312        def sync_profile_clicked(self,button,hbox):
     
    369414                mount=Gtk.Button()
    370415               
    371                 status_info=self.core.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    372                 self.current_status[profile_name]=status_info["status"]
    373                 info=self.item_status_info(status_info)
     416                if self.initial_connection:
     417                        status_info=self.core.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     418                        self.current_status[profile_name]=status_info["status"]
     419                        info=self.item_status_info(status_info)
     420                else:
     421                        info={}
     422                        img=Gtk.Image.new_from_file(MOUNT_ON_IMAGE)
     423                        info["img"]=img
     424                        info["css"]=="WARNING_ITEM_BUTTON"
     425                        info["tooltip"]=_("With out connect")   
    374426               
    375427                mount_image=info["img"]
     
    505557                                self.profile_pbar.hide()
    506558                                if self.create_result["result"]:
     559                                                self.initial_connection=True
    507560                                                self.new_profile_button(self.new_profile,self.new_email,self.new_mountpoint)
    508561                                                self.profile_msg.set_text(_("Profile created successfully"))
     
    534587
    535588                if code==1:
    536                         msg_error=_("Erro: Unable to create mount point")
     589                        msg_error=_("Error: Unable to create mount point")
    537590
    538591                elif code==2:
     
    552605
    553606                elif code==7:
    554                         msg_error=_("Error: Unable to dismount mount point")           
     607                        msg_error=_("Error: Unable to dismount mount point")
     608
     609                elif code==8:
     610                        msg_error=_("Error: Unable to connect with google")                     
    555611
    556612                return msg_error       
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/lliurex-gdrive.css

    r3993 r4029  
    106106        }
    107107
     108       
     109        #WARNING_ITEM_BUTTON {
     110                        border-width: 5px;
     111                        border-radius: 0px;
     112                        padding: 0px 0px;
     113                        box-shadow: none;
     114                        border-color: #f4c20d;
     115                       
     116                        color: white;
     117                        background-image:-gtk-gradient (linear, left top, left bottom, from (#f4c20d),  to (#f4c20d));
     118                        text-shadow: none;
     119                       
     120        }
     121               
     122        #WARNING_ITEM_BUTTON:hover {
     123                border-color: #f7d045;
     124                background-image:-gtk-gradient (linear, left top, left bottom, from (#f7d045),  to (#f7d045));
     125                box-shadow: -0.5px 3px 3px #aaaaaa;
     126        }       
     127
    108128               
    109129        #EDIT_ITEM_BUTTON {
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator

    r4022 r4029  
    99import os
    1010import threading
     11import subprocess
    1112import sys
    1213import gettext
    1314import json
     15import random
     16import notify2
     17
    1418
    1519import pyinotify
     
    3034MOUNT_ON_IMAGE=RSRC+"rsrc/mount_on.png"
    3135MOUNT_OFF_IMAGE=RSRC+"rsrc/mount_off.png"
     36MOUNT_WARNING_IMAGE=RSRC+"rsrc/mount_warning.png"
     37
     38TIME_CHECK_STATUS=300000
    3239
    3340class LlliurexGdriveIndicator:
     
    5057                       
    5158                self.createLockToken()
     59                self.check_initial_connection()
    5260                self.populate_menu()
    5361                self.start_inotify()
    54                 self.init_t()
    55                
    56 
    57                 GLib.timeout_add(60000,self.check_status)
     62                self.connect_threads={}
     63                self.result_connect_threads={}
     64                self.profile_clicked=[]
     65                self.checking_status=False
     66               
     67
     68                GLib.timeout_add(TIME_CHECK_STATUS,self.check_status)
    5869               
    5970        #def __init__
    6071
    61 
    62         def init_t(self):
    63 
    64                 self.check_connection_t=threading.Thread(target=self.check_connection)
    65                 self.check_connection_t.daemon=True
    66                 self.check_connection_t.done=False
    67                 self.check_connection_t.launched=False
     72        def check_initial_connection(self):
     73               
     74                self.initial_connection=self.LliurexGoogleDriveManager.check_google_connection()
     75                return
     76
     77        def generate_threads(self):
     78               
     79                id=int(random.random()*1000)           
     80                t=threading.Thread(target=self.check_connection,args=(id,))
     81                t.daemon=True
     82                t.start()
     83                self.connect_threads[id]={}
     84                self.connect_threads[id]["thread"]=t
     85                self.result_connect_threads[id]={}
     86                return id
    6887
    6988        def createLockToken(self):
     
    100119
    101120                                self.main.update_info()
     121                                self.main.initial_connection=True
    102122                                for profile in self.main.update_profiles:
    103123                                        if not profile in self.main.profiles_info:
     
    146166        def add_menu_item(self,profile,mountpoint):
    147167
    148                 status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    149                 info=self.item_status_info(status_info)
    150                 self.current_status[profile]=status_info["status"]     
    151 
     168                if self.initial_connection:
     169                        status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     170                        info=self.item_status_info(status_info)
     171                        self.current_status[profile]=status_info["status"]     
     172                else:
     173                        info={}
     174                        img=Gtk.Image.new_from_file(MOUNT_WARNING_IMAGE)
     175                        tooltip=_("With out connect")
     176                        used_size=_("Used: not available")
     177                        info["img"]=img
     178                        info["tooltip"]=tooltip
     179                        info["used_size"]=used_size
     180                       
     181                       
    152182                label_item=profile     
    153183                item=Gtk.ImageMenuItem()
     
    236266       
    237267        def item_clicked(self,widget,profile):
    238 
    239 
    240                 mountpoint=self.profiles_info[profile]["mountpoint"]
    241                 status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    242 
    243                 if self.current_status[profile]==status_info["status"]:
    244                                 GLib.timeout_add(6000,self.pulsate_check_connection)
    245 
    246                 #       status_mod=self.LliurexGoogleDriveManager.sync_profile(profile,mountpoint)
    247 
    248                 #       if status_mod["result"]:
    249                 #               status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     268       
     269                if profile not in self.profile_clicked:
     270                        self.profile_clicked.append(profile)
     271                        id=self.generate_threads()
     272                        GLib.timeout_add(100,self.pulsate_check_connection,id,widget,profile)
     273
     274               
     275        #def item_clicked
     276
     277        def pulsate_check_connection(self,id,widget,profile):
     278               
     279               
     280                if self.connect_threads[id]["thread"].is_alive():
     281                        return True
     282               
     283                else:
     284                        self.profile_clicked.remove(profile)
     285                        if self.result_connect_threads[id]["value"]:
     286                                self.connect_threads.pop(id)
     287                                self.result_connect_threads.pop(id)
     288                                mountpoint=self.profiles_info[profile]["mountpoint"]
     289                                status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     290                               
     291                                if self.current_status[profile]==status_info["status"]:
     292                                        status_mod=self.LliurexGoogleDriveManager.sync_profile(profile,mountpoint)
     293
     294                                        if status_mod["result"]:
     295                                                status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    250296                                       
    251                 # info=self.item_status_info(status_info)
    252                 # self.current_status[profile]=status_info["status"]
    253                 # for item in self.menu.get_children():
    254                 #       if item.size:
    255                 #               if item.profile==profile:
    256                 #                       item.set_label(info["used_size"])
    257                
    258 
    259                 # widget.set_tooltip_text(info["tooltip"])
    260                 # widget.set_image(info["img"])
    261                
    262                
    263         #def item_clicked
    264 
    265         def pulsate_check_connection(self):
    266 
    267                 if not self.check_connection_t.launched:
    268                         self.check_connection_t.launched=True
    269                         self.check_connection_t.start()
    270 
    271 
    272                 if self.check_connection_t.done:
    273                         if self.connect:
    274                                 print "GOLA"
    275                                 self.init_t()
    276 
    277                         return False
    278 
    279 
    280                 if self.check_connection_t.launched:
    281                         if not self.check_connection_t.done:
    282                                 print "HOLA"   
    283                                 return True
    284 
    285         def     check_connection(self):
    286                 print "Comprobando"
    287                 self.connect=self.LliurexGoogleDriveManager.check_google_connection()
    288                 self.check_connection_t.done=True
    289 
    290 
     297                                info=self.item_status_info(status_info)
     298                                self.current_status[profile]=status_info["status"]
     299                       
     300                                for item in self.menu.get_children():
     301                                        if item.size:
     302                                                if item.profile==profile:
     303                                                        item.set_label(info["used_size"])
     304                        else:
     305                                info={}
     306                                info["tooltip"]=_("With out connect")
     307                                info["used_size"]=_("Used: not available")
     308                                img=Gtk.Image.new_from_file(MOUNT_WARNING_IMAGE)
     309                                info["img"]=img
     310                                for item in self.menu.get_children():
     311                                        if item.size:
     312                                                if item.profile==profile:
     313                                                        item.set_label(info["used_size"])
     314                                status=self.current_status[profile]
     315                                if status:
     316                                        action=_("dismount")
     317                                else:
     318                                        action=_("mount")       
     319                                message=_("Unable to ") + action + " " + profile.encode("utf-8")
     320                                self.show_message(message)
     321
     322
     323                        widget.set_tooltip_text(info["tooltip"])
     324                        widget.set_image(info["img"])   
     325               
     326                return False
     327                       
     328       
     329        def     check_connection(self,id):
     330
     331                self.result_connect_threads[id]["value"]=self.LliurexGoogleDriveManager.check_google_connection()
     332       
    291333        def open_folder(self,widget,profile):
    292334
     
    327369
    328370        def check_status(self):
    329                 print "vamos a ver2"
    330                 connect=self.LliurexGoogleDriveManager.check_google_connection()
    331                 print connect
    332        
    333                 for profile in self.profiles_info:
    334                         mountpoint=self.profiles_info[profile]["mountpoint"]
    335                         status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
    336                         info=self.item_status_info(status_info)
    337                         self.current_status[profile]=status_info["status"]
    338 
    339                         for item in self.menu.get_children():
    340                                 if item.profile==profile:
    341                                         if item.size:
    342                                                 item.set_label(info["used_size"])
     371               
     372                if not self.checking_status:
     373                        self.checking_status=True
     374                        id=self.generate_threads()
     375                        GLib.timeout_add(100,self.get_status_info,id)
     376
     377                return True
     378               
     379               
     380        #def check_status
     381       
     382        def get_status_info(self,id):
     383               
     384                if self.connect_threads[id]["thread"].is_alive():
     385                        return True
     386               
     387                else:   
     388                        self.checking_status=False
     389                        self.connect_threads.pop(id)
     390                        if self.result_connect_threads[id]["value"]:
     391                                for profile in self.profiles_info:
     392                                        mountpoint=self.profiles_info[profile]["mountpoint"]
     393                                        status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     394                                        info=self.item_status_info(status_info)
     395                                        self.current_status[profile]=status_info["status"]
     396                                for item in self.menu.get_children():
     397                                        if item.profile==profile:
     398                                                if item.size:
     399                                                        item.set_label(info["used_size"])
     400                                                if item.status:
     401                                                        item.set_tooltip_text(info["tooltip"])
     402                                                        item.set_image(info["img"])
     403
     404
     405                        else:
     406                                info={}
     407                                img["tooltip"]=_("With out connect")
     408                                img["used_size"]=_("Used: not available")
     409                                                       
     410                                for profile in self.profiles_info:
     411                                        img=Gtk.Image.new_from_file(MOUNT_OFF_IMAGE)
     412                                        img["img"]=img
     413                                        for item in self.menu.get_children():
     414                                                if item.profile==profile:
     415                                                        if item.size:
     416                                                                item.set_label(info["used_size"])
     417                                                        if item.status:
     418                                                                item.set_tooltip_text(info["tooltip"])
     419                                                                item.set_image(info["img"])     
     420                       
     421               
     422                self.result_connect_threads.pop(id)             
     423                return False   
    343424                                       
    344                                         if item.status:
    345                                                 item.set_tooltip_text(info["tooltip"])
    346                                                 item.set_image(info["img"])
    347                
    348                 return True
    349                
    350                
    351         #def check_status
    352 
    353 
     425       
     426        def show_message(self,message):
     427                notify2.init("test")
     428                n=notify2.Notification("Lliurex-GDrive",message,"gdrive")
     429                n.show()
     430                return
     431                               
     432       
    354433        def cleanIndicatorLock(self):
    355434
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/share/lliurex-gdrive/rsrc/indicator.svg

    r3993 r4029  
    409409       xlink:href="#light90to0"
    410410       inkscape:collect="always" />
     411    <inkscape:perspective
     412       id="perspective4169-3"
     413       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
     414       inkscape:vp_z="744.09448 : 526.18109 : 1"
     415       inkscape:vp_y="0 : 1000 : 0"
     416       inkscape:vp_x="0 : 526.18109 : 1"
     417       sodipodi:type="inkscape:persp3d" />
     418    <inkscape:perspective
     419       sodipodi:type="inkscape:persp3d"
     420       inkscape:vp_x="0 : 0.5 : 1"
     421       inkscape:vp_y="0 : 1000 : 0"
     422       inkscape:vp_z="1 : 0.5 : 1"
     423       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
     424       id="perspective4083-3" />
     425    <linearGradient
     426       y2="1061.3409"
     427       x2="345.05276"
     428       y1="1061.3409"
     429       x1="-35.431614"
     430       gradientTransform="matrix(0.5509854,0,0,0.5560898,24.33569,25.458894)"
     431       gradientUnits="userSpaceOnUse"
     432       id="linearGradient4424"
     433       xlink:href="#shadow100to0"
     434       inkscape:collect="always" />
     435    <radialGradient
     436       r="166.47372"
     437       fy="391.47498"
     438       fx="124.57159"
     439       cy="391.47498"
     440       cx="123.88702"
     441       gradientTransform="matrix(0.5674544,0.1791961,-0.08865409,0.2807391,95.240755,37.815032)"
     442       gradientUnits="userSpaceOnUse"
     443       id="radialGradient2886-6"
     444       xlink:href="#light90to0"
     445       inkscape:collect="always" />
     446    <linearGradient
     447       y2="346.10425"
     448       x2="183.38441"
     449       y1="18.164442"
     450       x1="183.38441"
     451       gradientUnits="userSpaceOnUse"
     452       id="linearGradient4427"
     453       xlink:href="#light90to0"
     454       inkscape:collect="always" />
     455    <linearGradient
     456       y2="1061.3409"
     457       x2="345.05276"
     458       y1="1061.3409"
     459       x1="-35.431614"
     460       gradientTransform="matrix(0.20068731,0,0,0.2025465,34.479905,43.403091)"
     461       gradientUnits="userSpaceOnUse"
     462       id="linearGradient4429"
     463       xlink:href="#shadow100to0"
     464       inkscape:collect="always" />
     465    <radialGradient
     466       r="166.47372"
     467       fy="391.47498"
     468       fx="124.57159"
     469       cy="391.47498"
     470       cx="123.88702"
     471       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,60.305901,47.903609)"
     472       gradientUnits="userSpaceOnUse"
     473       id="radialGradient2892-4"
     474       xlink:href="#light90to0"
     475       inkscape:collect="always" />
     476    <linearGradient
     477       y2="346.10425"
     478       x2="183.38441"
     479       y1="18.164442"
     480       x1="183.38441"
     481       gradientUnits="userSpaceOnUse"
     482       id="linearGradient4432"
     483       xlink:href="#light90to0"
     484       inkscape:collect="always" />
     485    <linearGradient
     486       y2="1061.3409"
     487       x2="345.05276"
     488       y1="1061.3409"
     489       x1="-35.431614"
     490       gradientTransform="matrix(0.20068731,0,0,0.2025465,146.75015,124.54891)"
     491       gradientUnits="userSpaceOnUse"
     492       id="linearGradient4434"
     493       xlink:href="#shadow100to0"
     494       inkscape:collect="always" />
     495    <radialGradient
     496       r="166.47372"
     497       fy="391.47498"
     498       fx="124.57159"
     499       cy="391.47498"
     500       cx="123.88702"
     501       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,172.57615,129.04943)"
     502       gradientUnits="userSpaceOnUse"
     503       id="radialGradient2898-0"
     504       xlink:href="#light90to0"
     505       inkscape:collect="always" />
     506    <linearGradient
     507       y2="346.10425"
     508       x2="183.38441"
     509       y1="18.164442"
     510       x1="183.38441"
     511       gradientUnits="userSpaceOnUse"
     512       id="linearGradient4437"
     513       xlink:href="#light90to0"
     514       inkscape:collect="always" />
     515    <linearGradient
     516       gradientUnits="userSpaceOnUse"
     517       y2="650.91998"
     518       x2="446.88852"
     519       y1="65.167778"
     520       x1="247.42979"
     521       id="linearGradient4439"
     522       xlink:href="#shadow100to0"
     523       inkscape:collect="always" />
     524    <linearGradient
     525       y2="1061.3409"
     526       x2="345.05276"
     527       y1="1061.3409"
     528       x1="-35.431614"
     529       gradientTransform="matrix(0.5509854,0,0,0.5560898,24.33569,25.458894)"
     530       gradientUnits="userSpaceOnUse"
     531       id="linearGradient4441"
     532       xlink:href="#shadow100to0"
     533       inkscape:collect="always" />
     534    <radialGradient
     535       r="166.47372"
     536       fy="391.47498"
     537       fx="124.57159"
     538       cy="391.47498"
     539       cx="123.88702"
     540       gradientTransform="matrix(0.5674544,0.1791961,-0.08865409,0.2807391,95.240755,37.815032)"
     541       gradientUnits="userSpaceOnUse"
     542       id="radialGradient2967-0"
     543       xlink:href="#light90to0"
     544       inkscape:collect="always" />
     545    <linearGradient
     546       y2="346.10425"
     547       x2="183.38441"
     548       y1="18.164442"
     549       x1="183.38441"
     550       gradientUnits="userSpaceOnUse"
     551       id="linearGradient4444"
     552       xlink:href="#light90to0"
     553       inkscape:collect="always" />
     554    <linearGradient
     555       y2="1061.3409"
     556       x2="345.05276"
     557       y1="1061.3409"
     558       x1="-35.431614"
     559       gradientTransform="matrix(0.20068731,0,0,0.2025465,34.479905,43.403091)"
     560       gradientUnits="userSpaceOnUse"
     561       id="linearGradient4446"
     562       xlink:href="#shadow100to0"
     563       inkscape:collect="always" />
     564    <radialGradient
     565       r="166.47372"
     566       fy="391.47498"
     567       fx="124.57159"
     568       cy="391.47498"
     569       cx="123.88702"
     570       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,60.305901,47.903609)"
     571       gradientUnits="userSpaceOnUse"
     572       id="radialGradient2973-4"
     573       xlink:href="#light90to0"
     574       inkscape:collect="always" />
     575    <linearGradient
     576       y2="346.10425"
     577       x2="183.38441"
     578       y1="18.164442"
     579       x1="183.38441"
     580       gradientUnits="userSpaceOnUse"
     581       id="linearGradient4449"
     582       xlink:href="#light90to0"
     583       inkscape:collect="always" />
     584    <linearGradient
     585       y2="1061.3409"
     586       x2="345.05276"
     587       y1="1061.3409"
     588       x1="-35.431614"
     589       gradientTransform="matrix(0.20068731,0,0,0.2025465,146.75015,124.54891)"
     590       gradientUnits="userSpaceOnUse"
     591       id="linearGradient4451"
     592       xlink:href="#shadow100to0"
     593       inkscape:collect="always" />
     594    <radialGradient
     595       r="166.47372"
     596       fy="391.47498"
     597       fx="124.57159"
     598       cy="391.47498"
     599       cx="123.88702"
     600       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,172.57615,129.04943)"
     601       gradientUnits="userSpaceOnUse"
     602       id="radialGradient2979-6"
     603       xlink:href="#light90to0"
     604       inkscape:collect="always" />
     605    <linearGradient
     606       y2="346.10425"
     607       x2="183.38441"
     608       y1="18.164442"
     609       x1="183.38441"
     610       gradientUnits="userSpaceOnUse"
     611       id="linearGradient4454"
     612       xlink:href="#light90to0"
     613       inkscape:collect="always" />
     614    <linearGradient
     615       y2="1061.3409"
     616       x2="345.05276"
     617       y1="1061.3409"
     618       x1="-35.431614"
     619       gradientTransform="matrix(0.5509854,0,0,0.5560898,24.33569,25.458894)"
     620       gradientUnits="userSpaceOnUse"
     621       id="linearGradient4456"
     622       xlink:href="#shadow100to0"
     623       inkscape:collect="always" />
     624    <radialGradient
     625       r="166.47372"
     626       fy="391.47498"
     627       fx="124.57159"
     628       cy="391.47498"
     629       cx="123.88702"
     630       gradientTransform="matrix(0.5674544,0.1791961,-0.08865409,0.2807391,95.240755,37.815032)"
     631       gradientUnits="userSpaceOnUse"
     632       id="radialGradient3020-2"
     633       xlink:href="#light90to0"
     634       inkscape:collect="always" />
     635    <linearGradient
     636       y2="346.10425"
     637       x2="183.38441"
     638       y1="18.164442"
     639       x1="183.38441"
     640       gradientUnits="userSpaceOnUse"
     641       id="linearGradient4459"
     642       xlink:href="#light90to0"
     643       inkscape:collect="always" />
     644    <linearGradient
     645       y2="1061.3409"
     646       x2="345.05276"
     647       y1="1061.3409"
     648       x1="-35.431614"
     649       gradientTransform="matrix(0.20068731,0,0,0.2025465,34.479905,43.403091)"
     650       gradientUnits="userSpaceOnUse"
     651       id="linearGradient4461"
     652       xlink:href="#shadow100to0"
     653       inkscape:collect="always" />
     654    <radialGradient
     655       r="166.47372"
     656       fy="391.47498"
     657       fx="124.57159"
     658       cy="391.47498"
     659       cx="123.88702"
     660       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,60.305901,47.903609)"
     661       gradientUnits="userSpaceOnUse"
     662       id="radialGradient3026-6"
     663       xlink:href="#light90to0"
     664       inkscape:collect="always" />
     665    <linearGradient
     666       y2="346.10425"
     667       x2="183.38441"
     668       y1="18.164442"
     669       x1="183.38441"
     670       gradientUnits="userSpaceOnUse"
     671       id="linearGradient4464"
     672       xlink:href="#light90to0"
     673       inkscape:collect="always" />
     674    <linearGradient
     675       y2="1061.3409"
     676       x2="345.05276"
     677       y1="1061.3409"
     678       x1="-35.431614"
     679       gradientTransform="matrix(0.20068731,0,0,0.2025465,146.75015,124.54891)"
     680       gradientUnits="userSpaceOnUse"
     681       id="linearGradient4466"
     682       xlink:href="#shadow100to0"
     683       inkscape:collect="always" />
     684    <radialGradient
     685       r="166.47372"
     686       fy="391.47498"
     687       fx="124.57159"
     688       cy="391.47498"
     689       cx="123.88702"
     690       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,172.57615,129.04943)"
     691       gradientUnits="userSpaceOnUse"
     692       id="radialGradient3032-7"
     693       xlink:href="#light90to0"
     694       inkscape:collect="always" />
     695    <linearGradient
     696       y2="346.10425"
     697       x2="183.38441"
     698       y1="18.164442"
     699       x1="183.38441"
     700       gradientUnits="userSpaceOnUse"
     701       id="linearGradient4469"
     702       xlink:href="#light90to0"
     703       inkscape:collect="always" />
     704    <radialGradient
     705       r="166.47372"
     706       fy="391.47498"
     707       fx="124.57159"
     708       cy="391.47498"
     709       cx="123.88702"
     710       gradientTransform="matrix(0.20668587,0.06526921,-0.03229078,0.10225457,172.57615,129.04943)"
     711       gradientUnits="userSpaceOnUse"
     712       id="radialGradient3085"
     713       xlink:href="#light90to0"
     714       inkscape:collect="always" />
     715    <linearGradient
     716       y2="346.10425"
     717       x2="183.38441"
     718       y1="18.164442"
     719       x1="183.38441"
     720       gradientUnits="userSpaceOnUse"
     721       id="linearGradient3087"
     722       xlink:href="#light90to0"
     723       inkscape:collect="always" />
    411724  </defs>
    412725  <sodipodi:namedview
     
    417730     inkscape:pageopacity="0.0"
    418731     inkscape:pageshadow="2"
    419      inkscape:zoom="3.959798"
    420      inkscape:cx="19.361457"
    421      inkscape:cy="-21.629664"
     732     inkscape:zoom="2.8"
     733     inkscape:cx="121.80139"
     734     inkscape:cy="20.739047"
    422735     inkscape:document-units="px"
    423736     inkscape:current-layer="layer1-1"
     
    437750        <dc:type
    438751           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
    439         <dc:title></dc:title>
     752        <dc:title />
    440753      </cc:Work>
    441754    </rdf:RDF>
     
    512825        </g>
    513826      </g>
     827      <g
     828         transform="matrix(0.07165207,0,0,0.07165207,928.52136,526.08468)"
     829         id="layer1-7"
     830         inkscape:label="Camada 1">
     831        <g
     832           transform="matrix(3.6550241,0,0,3.6550241,-690.87787,120.52393)"
     833           id="g3985">
     834          <path
     835             sodipodi:nodetypes="ccccc"
     836             id="path3952"
     837             d="m 184.37745,125.01114 c -20.5197,0 -37.17588,16.80646 -37.17588,37.51715 0,20.71068 16.65618,37.52346 37.17588,37.52346 20.51971,0 37.17591,-16.81276 37.17589,-37.52346 0,-20.71069 -16.65618,-37.51715 -37.17589,-37.51715 z"
     838             style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2896);stroke-width:2.01615524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
     839             inkscape:connector-curvature="0" />
     840          <path
     841             id="path3954"
     842             d="m 184.37745,125.01114 c -20.5197,0 -37.17588,16.80646 -37.17588,37.51715 0,20.71068 16.65618,37.52346 37.17588,37.52346 20.51971,0 37.17591,-16.81276 37.17589,-37.52346 0,-20.71069 -16.65618,-37.51715 -37.17589,-37.51715 z"
     843             style="fill:#d4aa00;fill-opacity:1;fill-rule:evenodd;stroke:#554400;stroke-width:2.01615524;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
     844             sodipodi:nodetypes="csssc"
     845             inkscape:connector-curvature="0" />
     846          <path
     847             sodipodi:nodetypes="ccc"
     848             id="path3956"
     849             d="m 151.51829,168.8109 c 9.38465,39.89767 58.28874,38.75287 66.76161,-0.26096 -11.72755,32.74272 -54.32922,32.67765 -66.76161,0.26096 z"
     850             style="fill:url(#radialGradient3085);fill-opacity:1;fill-rule:evenodd;stroke:none"
     851             inkscape:connector-curvature="0" />
     852          <circle
     853             transform="matrix(0.17622867,0,0,0.12711936,151.94972,122.45194)"
     854             id="path3958"
     855             style="fill:url(#linearGradient3087);fill-opacity:1;fill-rule:evenodd;stroke:none"
     856             cx="184.43095"
     857             cy="185.68347"
     858             r="163.26007" />
     859        </g>
     860      </g>
    514861    </g>
    515862  </g>
  • lliurex-gdrive/trunk/fuentes/python-lliurex-gdrive/lliurex/lliurexgdrive/__init__.py

    r4022 r4029  
    117117                        return False
    118118
    119         #def check_google_connections           
     119        #def check_google_connection           
    120120       
    121121        def mount_drive(self,profile,mountpoint):
     
    362362                dismount["result"]=True
    363363
     364                connect=self.check_google_connection()
    364365                #profile=str(profile)
    365                 mountpoint=self.profiles_config[profile]["mountpoint"]
    366                
    367 
    368 
    369                 if os.path.exists(GDRIVE_CONFIG_DIR+profile):
    370                         is_mountpoint_mounted=self.check_mountpoint_status(mountpoint)
    371 
    372                         if is_mountpoint_mounted["status"]:
    373                                 dismount=self.dismount_mountpoint(mountpoint)
    374 
    375                         if dismount["result"]:
    376                                 if profile!="":
    377                                         shutil.rmtree(os.path.join(GDRIVE_CONFIG_DIR+profile))
    378                                         msg_log="Delete profile: '%s' profile has been delete"%profile.encode("utf-8")
    379                                         self.log(msg_log)
    380                                         self.dprint(msg_log)
     366                if connect:
     367                        mountpoint=self.profiles_config[profile]["mountpoint"]
     368                       
     369
     370
     371                        if os.path.exists(GDRIVE_CONFIG_DIR+profile):
     372                                is_mountpoint_mounted=self.check_mountpoint_status(mountpoint)
     373
     374                                if is_mountpoint_mounted["status"]:
     375                                        dismount=self.dismount_mountpoint(mountpoint)
     376
     377                                if dismount["result"]:
     378                                        if profile!="":
     379                                                shutil.rmtree(os.path.join(GDRIVE_CONFIG_DIR+profile))
     380                                                msg_log="Delete profile: '%s' profile has been delete"%profile.encode("utf-8")
     381                                                self.log(msg_log)
     382                                                self.dprint(msg_log)
     383                                        self.save_profiles(info)
     384                                        return dismount                 
     385
     386                        else:
    381387                                self.save_profiles(info)
    382                                 return dismount                 
    383 
    384                 else:
    385                         self.save_profiles(info)
    386                         msg_log="Delete profile: '%s' GDrive profile path does not exist"%profile.encode("utf-8")
    387                         self.log(msg_log)
    388                         self.dprint(msg_log)
    389                        
    390                         return {"result":True,"code":0}
     388                                msg_log="Delete profile: '%s' GDrive profile path does not exist"%profile.encode("utf-8")
     389                                self.log(msg_log)
     390                                self.dprint(msg_log)
     391                                return {"result":True,"code":0}
     392                else:
     393                        return {"result":False,"code":8}
     394                       
    391395               
    392396       
     
    406410
    407411                if old_mountpoint!=new_mountpoint:
    408                         status=self.check_mountpoint_status(old_mountpoint)
    409 
    410                         if status["status"]:
    411                                 result=self.dismount_mountpoint(old_mountpoint)
    412 
    413                                 if result["result"]:
    414                                         result=self.mount_drive(profile,new_mountpoint)
     412                        connect=self.check_google_connection()
     413                        if connect:
     414                                status=self.check_mountpoint_status(old_mountpoint)
     415
     416                                if status["status"]:
     417                                        result=self.dismount_mountpoint(old_mountpoint)
     418
     419                                        if result["result"]:
     420                                                result=self.mount_drive(profile,new_mountpoint)
     421                        else:
     422                                result["result"]=False
     423                                result["code"]=8                       
    415424                                       
    416425
Note: See TracChangeset for help on using the changeset viewer.