Ignore:
Timestamp:
Mar 27, 2017, 10:21:04 AM (2 years ago)
Author:
jrpelegrina
Message:

End fix code to add check connection. Add spinner to indicator

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/python-lliurex-gdrive/lliurex/lliurexgdrive/__init__.py

    r4031 r4032  
    107107
    108108                try:
    109                         print "vamos a ver"
    110109                        req=urllib2.Request("http://google.com")
    111110                        res=urllib2.urlopen(req)
     
    225224        #def save_profiles     
    226225
    227         def check_mountpoint_status(self,mountpoint):
     226        def check_mountpoint_status(self,mountpoint,arg=None):
    228227
    229228                mountpoint_size=""
     
    232231                mountpoint_per=""
    233232                tmp=[]
    234 
    235 
    236                 command='df -h | grep "google-drive-ocamlfuse" | grep ' +mountpoint+'$'
    237                        
    238                 p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
    239                 poutput,perror=p.communicate()
    240 
    241                 if len(poutput)>0:
    242                         status=True
    243 
    244                         for item in poutput.split(" "):
    245                                 if len(item)>1:
    246                                         tmp.append(item)
    247 
    248                         mountpoint_size=tmp[1]
    249                         mountpoint_used=tmp[2]
    250                         mountpoint_available=tmp[3]
    251                         mountpoint_per=tmp[4]
    252 
     233                connect=True
     234               
     235                if arg!=None:
     236                        print "COMPROBANDO RED"
     237                        connect=self.check_google_connection()
     238               
     239                if connect:
     240                        command='df -h | grep "google-drive-ocamlfuse" | grep ' +mountpoint+'$'
     241                               
     242                        p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
     243                        poutput,perror=p.communicate()
     244
     245                        if len(poutput)>0:
     246                                status=True
     247
     248                                for item in poutput.split(" "):
     249                                        if len(item)>1:
     250                                                tmp.append(item)
     251
     252                                mountpoint_size=tmp[1]
     253                                mountpoint_used=tmp[2]
     254                                mountpoint_available=tmp[3]
     255                                mountpoint_per=tmp[4]
     256
     257                        else:
     258                                status=False
    253259                else:
    254                         status=False
    255                
     260                        status=None
     261                                       
    256262                return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"used%":mountpoint_per}         
    257263               
     
    303309                if not self.check_config(profile):
    304310                        os.system("google-drive-ocamlfuse -label %s"%unicode(profile).encode("utf-8"))
    305                         msg_log=("'%s' profile has been create")%profile
     311                        msg_log=("'%s' profile has been create")%profile.encode("utf-8")
    306312                        self.log(msg_log)
    307313                        self.dprint(msg_log)
     
    360366        def delete_profile(self,info,profile):
    361367
     368                result={}
    362369                dismount={}
    363370                dismount["result"]=True
     371                dismount["code"]=0
    364372
    365373                connect=self.check_google_connection()
    366374                #profile=str(profile)
    367                 if connect:
    368                         mountpoint=self.profiles_config[profile]["mountpoint"]
    369                        
    370 
    371 
    372                         if os.path.exists(GDRIVE_CONFIG_DIR+profile):
    373                                 is_mountpoint_mounted=self.check_mountpoint_status(mountpoint)
    374 
    375                                 if is_mountpoint_mounted["status"]:
     375                #if connect:
     376                mountpoint=self.profiles_config[profile]["mountpoint"]
     377                       
     378                if os.path.exists(GDRIVE_CONFIG_DIR+profile):
     379                        is_mountpoint_mounted=self.check_mountpoint_status(mountpoint,True)
     380
     381                        if is_mountpoint_mounted["status"]==None:
     382                                print "SIN RED"
     383                                result['result']=False
     384                                result['code']=8
     385                        else:
     386                                if is_mountpoint_mounted["status"]:     
    376387                                        dismount=self.dismount_mountpoint(mountpoint)
    377388
     
    383394                                                self.dprint(msg_log)
    384395                                        self.save_profiles(info)
    385                                         return dismount                 
    386 
    387                         else:
    388                                 self.save_profiles(info)
    389                                 msg_log="Delete profile: '%s' GDrive profile path does not exist"%profile.encode("utf-8")
    390                                 self.log(msg_log)
    391                                 self.dprint(msg_log)
    392                                 return {"result":True,"code":0}
     396                               
     397                                return dismount
     398                               
     399
    393400                else:
    394                         return {"result":False,"code":8}
    395                        
     401                        self.save_profiles(info)
     402                        msg_log="Delete profile: '%s' GDrive profile path does not exist"%profile.encode("utf-8")
     403                        self.log(msg_log)
     404                        self.dprint(msg_log)
     405                        result['result']=True
     406                        result['code']=0
     407               
     408                return result
     409               
    396410               
    397411       
     
    418432                                if result["result"]:
    419433                                        result=self.mount_drive(profile,new_mountpoint)
    420                                        
    421                                        
     434                               
    422435
    423436                if result["result"]:
     
    432445        #def edit_profile                       
    433446
    434         def sync_profile(self,profile,mountpoint):
    435 
    436                 status=self.check_mountpoint_status(mountpoint)
    437 
    438                 if status["status"]:
    439                         action="Dismount"
    440                         result=self.dismount_mountpoint(mountpoint)
     447        def sync_profile(self,profile,mountpoint,current_status):
     448               
     449                result={}
     450                status=self.check_mountpoint_status(mountpoint,True)
     451                print status
     452       
     453                if status["status"]==None:
     454                        result['result']=False
     455                        result['code']=8
    441456                       
    442457                else:
    443                         action="Mount"
    444                         result=self.mount_drive(profile,mountpoint)
    445 
    446                 return {"action":action,"result":result["result"],"code":result["code"]}       
     458                        if current_status!=None and status['status']==current_status:
     459                                if status['status']:
     460                                        result=self.dismount_mountpoint(mountpoint)
     461                                else:
     462                                        result=self.mount_drive(profile,mountpoint)
     463                       
     464                        else:
     465                                result['result']=True
     466                                result['code']=9
     467                               
     468                        status=self.check_mountpoint_status(mountpoint)
     469               
     470                print result
     471                return result,status           
     472                #result["result"]:result["result"]
     473                #result["code"]:result["code"]
     474                #return {"result":result["result"],"code":result["code"]}       
    447475
    448476        #def_sync_profile       
Note: See TracChangeset for help on using the changeset viewer.