Changeset 3808


Ignore:
Timestamp:
Mar 2, 2017, 6:03:30 PM (2 years ago)
Author:
jrpelegrina
Message:

WIP in gui. Add functions to manager GDrive profiles

Location:
lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/LliurexGoogleDriveManager.py

    r3806 r3808  
    55import json
    66import subprocess
     7import shutil
    78
    89
     
    3334                var={}
    3435                var["default"]={}
    35                 var["default"]["mountpoint"]=None
     36                var["default"]["email"]=""
     37                var["default"]["mountpoint"]=""
     38                var["default"]["automount"]=""
    3639
    3740                f=open(self.config_file,"w")
     
    8386                                        mount_point=os.path.expanduser(self.var[profile]["mountpoint"])
    8487                                        print mount_point,type(mount_point)
    85                                         if type(mount_point)==type(u""):
     88                                        #if type(mount_point)==type(u""):
     89                                        if str(mount_point)!="":
    8690                                                self.dprint("Mounting '%s'..."%profile)
    8791                                                if not os.path.exists(mount_point):
     
    129133       
    130134       
    131         def save_profiles(self,var):
    132                
    133                 self.var=var
     135        def save_profiles(self,info):
     136               
     137                self.var=info
    134138               
    135139                f=open(self.config_file,"w")
    136                 data=unicode(json.dumps(var,indent=4,encoding="utf-8",ensure_ascii=False)).encode("utf-8")
     140                data=unicode(json.dumps(info,indent=4,encoding="utf-8",ensure_ascii=False)).encode("utf-8")
    137141                f.write(data)
    138142                f.close()
    139143               
    140         def create_profiles(self,var):
    141 
    142                 self.save_profiles(var)
    143 
    144                 for profile in self.var:
    145                         if not self.check_config(profile):
    146                                 os.system("google-drive-ocamlfuse -label %s"%profile)
    147                                 self.
     144        def create_profile(self,info,profile):
     145
     146                self.save_profiles(info)
     147                profile=str(profile)
     148
     149                if not self.check_config(profile):
     150                        os.system("google-drive-ocamlfuse -label %s"%profile)
     151                        self.dprint("'%s' profile has been create"%profile)
     152                        self.mount_drive(profile)
     153
    148154                        # llx config file
    149155                        # clean cache google-drive-ocamlfuse -cc
     
    153159
    154160
    155         def umounter_mountpoint(self,mountpoint)
    156 
    157                 command='df -h'
     161        def check_mountpoint_status(self,mountpoint):
     162
     163                mountpoint_size=""
     164                mountpoint_used=""
     165                mountpoint_available=""
     166                mountpoint_per=""
     167               
     168                command='df -h | grep "google-ocamlfuse" | grep ' +str(mountpoint) 
    158169                p=subprocess.Popen(command,shell=True,stdout=subprocess.PIPE)
    159                 poutput,perror=p.comunicate
    160 
    161                 mountsdevices=poutput
    162 
    163                 if mountsdevices.find(mountpoint)!=-1:
    164 
    165                 else:
     170                poutput,perror=p.communicate()
     171
     172                if len(poutput)>0:
     173                        status=True
     174                        mountpoint_size=poutput.split(" ")[4]
     175                        mountpoint_used=poutput.split(" ")[8]
     176                        mountpoint_available=poutput.split(" ")[11]
     177                        mountpoint_per=poutput.split(" ")[14]
     178
     179                else:
     180                        status=False
     181
     182                return {"status":status,"size":mountpoint_size,"used":mountpoint_used,"available":mountpoint_available,"Used%":mountpoint_per} 
     183       
     184
     185
     186        def delete_profile(self,info,profile):
     187
     188                profile=str(profile)
     189                mountpoint=self.var[profile]["mountpoint"]
     190
     191
     192                if os.path.exists(GDRIVE_CONFIG_DIR+profile):
     193                       
     194                        is_mountpoint_mounted=self.check_mountpoint_status(mountpoint)
     195
     196                        if is_mountpoint_mounted["status"]:
     197                                cmd='fusermount -u '+str(mountpoint)
     198                                os.command(cmd)
     199                                self.dprint("'%s' mountpoint has been unmonted"%mounpoint)
     200
     201                        shutil.rmtree(os.path.join(GDRIVE_CONFIG_DIR+profile))
     202                        self.dprint("'%s' profile has been delete"%profile)
     203                        self.save_profiles(info)
     204                        return True
     205
     206                else:
     207                        self.save_profiles(var)
     208                        self.dprint("'%s' GDrive profile path does not exist"%profile)
    166209                        return False
    167210
    168 
    169         def delete_profiles(self,var,profile):
    170 
    171                 self.save_profiles(var)
    172                 mount_point=os.path.expanduser(self.var[profile]["mountpoint"])
    173 
    174                 if os.path.exists(mountpoint):
    175                         is_mounted=self.check_mountpoint()
    176                         print "HOLA"
    177        
     211        # delete_profile               
    178212
    179213if __name__=="__main__":
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py

    r3806 r3808  
    127127                profile=hbox.get_children()[1].get_text().split("\n")[0]
    128128                self.profiles_info.pop(profile)
    129                 self.core.LliurexGoogleDriveManager.delete_profiles(self.profiles_info,profile)
     129                self.core.LliurexGoogleDriveManager.delete_profile(self.profiles_info,profile)
    130130
    131131                self.profile_list_box.remove(hbox)
     
    229229                self.profiles_info[profile]["email"]=email
    230230                self.profiles_info[profile]["mountpoint"]=mountpoint
    231                 self.core.LliurexGoogleDriveManager.create_profiles(self.profiles_info)
     231                self.core.LliurexGoogleDriveManager.create_profile(self.profiles_info,profile
    232232                self.new_profile_window.hide()
    233233               
Note: See TracChangeset for help on using the changeset viewer.