Ignore:
Timestamp:
Mar 9, 2017, 12:27:42 PM (3 years ago)
Author:
jrpelegrina
Message:

WIP in gui

File:
1 edited

Legend:

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

    r3838 r3845  
    77import shutil
    88import urllib2
     9import datetime
    910
    1011
    1112DEBUG=True
    1213GDRIVE_CONFIG_DIR=os.path.expanduser("~/.gdfuse/")
    13 LLIUREX_CONFI_FILE='/home/lliurex/config'
    14 
    15 import gettext
    16 gettext.textdomain('lliurex-gdrive')
    17 _ = gettext.gettext
     14LLIUREX_CONFIG_FILE='/home/lliurex/config'
     15
    1816
    1917class LliurexGoogleDriveManager:
     
    2523               
    2624                self.mount_cmd="google-drive-ocamlfuse -label %s %s"
     25
     26                log_msg="------------------------------------------\n"+"LLIUREX-GDRIVE STARTING AT: " + datetime.datetime.today().strftime("%d/%m/%y %H:%M:%S") +"\n------------------------------------------"
     27                self.log(log_msg)
    2728               
    2829                self.read_conf()
     
    3334        def create_conf(self):
    3435
    35                 self.dprint("Creating conf...")
     36                msg_log="Creating conf..."
     37                self.dprint(msg_log)
     38                self.log(msg_log)
    3639
    3740                if not os.path.exists(self.config_dir):
     
    5558                if not os.path.exists(self.config_file):
    5659                        self.create_conf()
    57                        
    58                 self.dprint("Reading conf...")
     60               
     61                msg_log="Reading conf..."
     62                self.dprint(msg_log)
     63                self.log(msg_log)
    5964                       
    6065                f=open(self.config_file)
     
    7479               
    7580                        if "1970-" in line:
    76                                 msg_error=(_("%s not configured")%profile)
    77                                 self.dprint(msg_error)
    78                                 return {"result":False,"output":None,"error":msg_error}
    79                        
    80 
    81                         return {"result":True,"output":None,"error":None}
    82 
    83                 else:
    84                         msg_error=(_("%s not yet create")%profile)
    85 
    86                         self.dprint(msg_error)
    87                         return {"result":False,"output":None,"error": msg_error}
     81                                msg_log="'%s' not configured"%profile
     82                                self.dprint(msg_log)
     83                                self.log(msg_log)
     84
     85                                return False
     86                       
     87
     88                        return True
     89
     90                else:
     91                        msg_log="'%s' not yet create"%profile
     92                        self.dprint(msg_log)
     93                        self.log(msg_log)
     94
     95                        return False
    8896
    8997               
     
    97105                        return True
    98106                except:
     107                        msg_log="Cannot connect to google.com"
     108                        self.dprint(msg_log)
     109                        self.log(msg_log)
    99110                        return False
    100111
     
    104115                if os.path.exists(GDRIVE_CONFIG_DIR+profile):
    105116                        check= self.check_config(profile)
    106                         if check["result"]:
     117                        if check:
    107118                                #if profile in self.profiles_config:
    108119                                        #mount_point=os.path.expanduser(self.profiles_config[profile]["mountpoint"])
     
    115126                                                                os.makedirs(mountpoint)
    116127                                                        except:
    117                                                                 error_msg=(_("Unable to create '%s' mount destination")%mountpoint)
    118                                                                 self.dprint(error_msg)
    119                                                                 return {"result":False,"msg":error_msg}
     128                                                                msg_log="Unable to create '%s' mount destination"%mountpoint
     129                                                                self.dprint(msg_log)
     130                                                                self.log(msg_log)
     131                                                                return False
    120132                                                       
    121133
     
    126138                                                        poutput,perror=p.communicate()
    127139                                                        if len(perror)==0:
    128                                                                 return {"result":True,"msg":None}
     140                                                                return True
    129141                                                        else:
    130                                                                 error_msg=(_("Error mount '%s':")%mountpoint)
    131                                                                 error_log="Error mount '%s':'%s'"%(mountpoint,str(perror))
    132                                                                 self.dprint(error_log)
     142                                                                msg_log="Error mount '%s': %s"%(mountpoint,str(perror))
     143                                                                self.dprint(msg_log)
     144                                                                self.log(msg_log)
    133145                                                                                                                               
    134146                                                else:
    135                                                         error_msg=(_("'%s' mount destination is not owned by user")%mountpoint)
    136                                                         self.dprint(error_msg)
     147                                                        msg_log="'%s' mount destination is not owned by user"%mountpoint
     148                                                        self.dprint(msg_log)
     149                                                        self.log(msg_log)
    137150                                                       
    138151                                        else:
    139                                                 error_msg=(_("'%s' mountpoint not configured")%profile)
    140                                                 self.dprint(error_msg)
     152                                                msg_log="'%s' mountpoint not configured"%profile
     153                                                self.dprint(msg_log)
     154                                                self.log(msg_log)
    141155                        else:
    142                                 error_msg=(_("'%s' profile unknown")%profile)
    143                                 self.dprint(error_msg)
    144                 else:
    145                         error_msg=(_("'%s' GDrive profile path does not exist")%profile)
    146                         self.dprint(error_msg)
    147                        
    148                        
    149                 return {"result":False,"msg":error_msg}
     156                                msg_log="'%s' profile unknown"%profile
     157                                self.dprint(msg_log)
     158                                self.log(msg_log)
     159                else:
     160                        msg_log="'%s' GDrive profile path does not exist"%profile
     161                        self.dprint(msg_log)
     162                        self.log(msg_log)
     163                       
     164                       
     165                return False
    150166
    151167        #def mount_drive
     
    209225        def check_profile_info(self,profile,mountpoint,edition):
    210226       
     227                '''
     228                        code=0: Form OK
     229                        code=1: Profile empty
     230                        code=2: Profile duplicate
     231                        code=3: Mountpoint duplicate
     232
     233                '''     
    211234                if not edition:
    212235                        if profile=="":
    213                                 return False
     236                                return {"result":False,"code":1}
    214237                        else:
    215238                                for item in self.profiles_config:
    216239                                        if profile==item:
    217                                                 return False
     240                                                return {"result":False,"code":2}
    218241
    219242                for item in self.profiles_config:
    220243                        if profile!=item:
    221244                                if mountpoint==self.profiles_config[item]["mountpoint"]:
    222                                         return False
    223 
    224                 return True                                                             
     245                                        return {"result":False,"code":3}
     246
     247                return {"result":True,"code":0}                                                         
    225248       
    226249        def create_profile(self,profile):
    227250
    228                 result=False
    229251
    230252                profile=str(profile)
    231253                path=GDRIVE_CONFIG_DIR+profile+"/config"
    232254
    233                 if not self.check_config(profile)["result"]:
     255                if not self.check_config(profile):
    234256                        os.system("google-drive-ocamlfuse -label %s"%profile)
    235257                        self.dprint("'%s' profile has been create"%profile)
    236258
    237259                        if os.path.exists(GDRIVE_CONFIG_DIR+profile):
    238                                 shutil.copy(LLIUREX_CONFI_FILE,path )
     260                                shutil.copy(LLIUREX_CONFIG_FILE,path )
     261               
    239262                return True
    240263                               
     
    248271                result=self.mount_drive(profile,mountpoint)
    249272
    250                 if result["result"]:
     273                if result:
    251274                        self.save_profiles(info)
    252275                else:
     
    264287
    265288                if len(perror)>0:
    266                         error_msg=(_("Error dismounted '%s':")%mountpoint)
    267                         error_log="Error dismounted '%s': '%s'"%(mountpoint,str(perror))
    268                         self.dprint(error_log)
     289                        msg_log="Error dismounted '%s': '%s'"%(mountpoint,str(perror))
     290                        self.dprint(msg_log)
     291                        self.log(msg_log)
    269292                        result=False
    270293                else:
    271                         error_msg=""
    272294                        self.dprint("'%s' mountpoint has been dismounted"%mountpoint)
    273295                        result=True                                     
    274296
    275                 return {"result":result,"msg":error_msg}
     297                return result
    276298
    277299
     
    291313                                dismount=self.dismount_mountpoint(mountpoint)
    292314
    293                                 if dismount["result"]:
     315                                if dismount:
    294316                                        if profile!="":
    295317                                                shutil.rmtree(os.path.join(GDRIVE_CONFIG_DIR+profile))
     
    301323                else:
    302324                        self.save_profiles(info)
    303                         error_msg=(_("'%s' GDrive profile path does not exist")%profile)
    304                         self.dprint(eror_msg)
    305                         return {"result":True,"msg":error_msg}
     325                        msg_log="'%s' GDrive profile path does not exist"%profile
     326                        self.dprint(msg_log)
     327                        self.log(msg_log)
     328                       
     329                        return True
    306330               
    307331       
     
    311335        def edit_profile(self,info,profile):
    312336
    313                 result={"result":True,"output":None,"error":None}
    314 
     337                result=True
    315338                old_mountpoint=self.profiles_config[profile]["mountpoint"]
    316339                old_automount=self.profiles_config[profile]["automount"]
     
    325348                                dismount=self.dismount_mountpoint(old_mountpoint)
    326349
    327                                 if len(dismount["error"])==0:
    328                                         self.dprint("'%s' mountpoint has been dismounted"%old_mountpoint)       
    329                        
    330                         result=self.mount_drive(profile,new_mountpoint)
    331 
    332                 if result["result"]:
     350                                if dismount:
     351                                        result=self.mount_drive(profile,new_mountpoint)
     352
     353                if result:
    333354                        self.save_profiles(info)
    334355               
     
    340361
    341362                if status["status"]:
    342                         dismount=self.dismount_mountpoint(mountpoint)
    343                         return False
    344 
    345                 else:
    346                          return self.mount_drive(profile,mountpoint)
     363                        action="Dismount"
     364                        result=self.dismount_mountpoint(mountpoint)
     365                       
     366                else:
     367                        action="Mount"
     368                        result=self.mount_drive(profile,mountpoint)
     369
     370                return {"action":action,"result":result}       
     371
     372
     373        def log(self,msg):
     374               
     375                log_file=self.config_dir+"lliurex-gdrive.log"
     376
     377                f=open(log_file,"a+")
     378                f.write(msg + '\n')
     379                f.close()               
    347380
    348381if __name__=="__main__":
Note: See TracChangeset for help on using the changeset viewer.