Changeset 5645


Ignore:
Timestamp:
Aug 2, 2017, 12:16:32 PM (22 months ago)
Author:
jrpelegrina
Message:

Fix endesession script and lock token's path

Location:
lliurex-gdrive/trunk/fuentes
Files:
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-core.install/usr/bin/lliurex-gdrive-autostart

    r4102 r5645  
    11#!/usr/bin/env python
    2 
    32import lliurex.lliurexgdrive
    43import os
     4import subprocess
     5import syslog
     6import dbus
     7from dbus.mainloop.glib import DBusGMainLoop
     8
     9import gi
     10gi.require_version("Gtk","3.0")
     11from gi.repository import Gtk,GObject,Gio
     12
     13import signal
     14signal.signal(signal.SIGINT, signal.SIG_DFL)
    515
    616PROFILES_PATH="~/.config/lliurex-google-drive-profiles/configProfiles"
    717DISABLE_INDICATOR="~/.config/lliurex-google-drive-profiles/disableIndicator"
    8 LOCK_INDICATOR="/tmp/lgdIndicator.lock"
    9 LOCK_GUI="/tmp/lgdGUI.lock"
     18LOCK_INDICATOR="~/.config/lliurex-google-drive-profiles/lgdIndicator.lock"
     19LOCK_GUI="~/.config/lliurex-google-drive-profiles/lgdGUI.lock"
    1020
    1121
     
    1727                self.disable_indicator=os.path.expanduser(DISABLE_INDICATOR)
    1828                self.profiles_path=os.path.expanduser(PROFILES_PATH)
     29                self.lock_gui=os.path.expanduser(LOCK_GUI)
     30                self.lock_indicator=os.path.expanduser(LOCK_INDICATOR)
     31
     32                self.launch_endsession()
     33                self.mount_drives()
     34                self.launch_indicator()
    1935               
    20                
     36        #def __init__
     37
    2138        def mount_drives(self):
    2239
    2340                if os.path.exists(self.profiles_path):
    2441                        self.LliurexGoogleDriveManager.mount_drives()
     42
     43        #def mount_drives               
    2544               
    2645       
     
    3049                if len(self.LliurexGoogleDriveManager.profiles_config):
    3150                        if not os.path.exists(self.disable_indicator):
    32                                 os.system("/usr/bin/lliurexGdriveIndicator")
     51                                #os.system("/usr/bin/lliurexGdriveIndicator")
     52                                subprocess.Popen(["/usr/bin/lliurexGdriveIndicator"],preexec_fn=os.setpgrp)
    3353                       
    34        
     54        #def launch_indicator           
     55                       
    3556        def launch_endsession(self):
     57
     58                syslog.syslog("INIT GDRIVE")
     59                DBusGMainLoop(set_as_default=True)
     60                self.session_bus = dbus.SessionBus()
    3661               
    37                 os.system("/usr/bin/lliurex-gdrive-endsession")
     62                # ###########################
     63                #CAPTURE END SESSION SIGNAL
     64                # ###########################
     65                proxy = self.session_bus.get_object('org.gnome.SessionManager','/org/gnome/SessionManager')
     66                proxy=dbus.Interface(proxy,"org.gnome.SessionManager")
     67
     68                d_id=os.getenv("DESKTOP_AUTOSTART_ID")
     69                if d_id==None:
     70                        d_id="lliurex-gdrive"
     71
     72                print d_id
     73                self.client_id=proxy.RegisterClient("lliurex-gdrive",d_id)
     74                print self.client_id
     75                syslog.syslog(self.client_id)
     76                proxy = self.session_bus.get_object('org.gnome.SessionManager',self.client_id)
     77                print proxy
     78                self.cp_proxy=dbus.Interface(proxy,"org.gnome.SessionManager.ClientPrivate")
    3879               
    39        
     80                self.cp_proxy.connect_to_signal("QueryEndSession",self.on_query_end_session)
     81                self.cp_proxy.connect_to_signal("EndSession",self.on_end_session)
     82                self.cp_proxy.connect_to_signal("Stop",self.on_stop_session)
     83
     84        #def launch_endsession 
     85
     86
     87        def on_query_end_session(self,sender):
     88               
     89                self.cp_proxy.EndSessionResponse(True,"saving session.")
     90
     91        #def on_query_end_session       
     92
     93        def on_end_session(self,sender):
     94               
     95                self.dismount()
     96                self.delete_lock()
     97                self.quit()
     98                self.cp_proxy.EndSessionResponse(True,"unregistering")
     99
     100        #def on_query_end_session       
     101
     102        def on_stop_session(self):
     103
     104                sys.exit(0)     
     105
     106        #def on_stop_session   
     107               
     108        def dismount(self):
     109               
     110                if self.LliurexGoogleDriveManager.check_google_connection():
     111                        for profile in self.LliurexGoogleDriveManager.profiles_config:
     112                                mountpoint=self.LliurexGoogleDriveManager.profiles_config[profile]["mountpoint"]
     113                                status=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     114                                if status["status"]:
     115                                        self.LliurexGoogleDriveManager.dismount_mountpoint(profile,mountpoint)
     116
     117        #def dismount                           
     118                                       
    40119        def delete_lock(self):
    41120                               
    42                 if os.path.exists(LOCK_INDICATOR):
    43                         os.remove(LOCK_INDICATOR)
     121                syslog.syslog("GDRIVE-TOKEN")
     122               
     123                if os.path.exists(self.lock_indicator):
     124                        os.remove(self.lock_indicator)
    44125
    45                 if os.path.exists(LOCK_GUI):
    46                         os.remove(LOCK_GUI)     
     126                if os.path.exists(self.lock_gui):
     127                        os.remove(self.lock_gui)       
     128       
     129        #def delete_lock               
     130
     131        def quit(self):
    47132               
     133                Gtk.main_quit()         
     134               
     135        #def quit       
    48136
    49137if __name__=="__main__":
    50138
    51139        llxgd=LliurexGdriveAutostart()
    52         llxgd.mount_drives()
    53         llxgd.launch_indicator()       
    54         llxgd.launch_endsession()
     140        #llxgd.mount_drives()
     141        #llxgd.launch_indicator()       
     142        #llxgd.launch_endsession().
     143        Gtk.main()
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/LliurexGdrive.py

    r4276 r5645  
    2323#CONFIG_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/config")
    2424CSS_FILE="/usr/share/lliurex-gdrive/lliurex-gdrive.css"
    25 LOCK_INDICATOR="/tmp/lgdIndicator.lock"
    26 LOCK_GUI="/tmp/lgdGUI.lock"
     25LOCK_INDICATOR="~/.config/lliurex-google-drive-profiles/lgdIndicator.lock"
     26LOCK_GUI="~/.config/lliurex-google-drive-profiles/lgdGUI.lock"
    2727DISABLE_INDICATOR="~/.config/lliurex-google-drive-profiles/disableIndicator"
    2828
     
    3535                self.core=Core.Core.get_core()
    3636                self.disable_indicator=os.path.expanduser(DISABLE_INDICATOR)
     37                self.lock_gui=os.path.expanduser(LOCK_GUI)
     38                self.lock_indicator=os.path.expanduser(LOCK_INDICATOR)
     39               
    3740                self.createLockToken()
    3841
     
    5154        def createLockToken(self):
    5255
    53                 if not os.path.exists(LOCK_GUI):
    54                         f=open(LOCK_GUI,'w')
     56                if not os.path.exists(self.lock_gui):
     57                        f=open(self.lock_gui,'w')
    5558                        f.close
    5659
     
    130133                #self.lockpath=R=os.path(LOCK_INDICATOR)
    131134                if len(self.load_profiles):
    132                         if not os.path.exists(LOCK_INDICATOR):
     135                        if not os.path.exists(self.lock_indicator):
    133136                                cmd="/usr/bin/lliurexGdriveIndicator" + "&"
    134137                                os.system(cmd)
     
    149152        def cleanLockToken(self):
    150153
    151                 if os.path.exists(LOCK_GUI):
    152                         os.remove(LOCK_GUI)
     154                if os.path.exists(self.lock_gui):
     155                        os.remove(self.lock_gui)
    153156
    154157        #def cleanIndicatorLock                 
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator

    r5585 r5645  
    3030_ = gettext.gettext
    3131
    32 LOCK_INDICATOR="/tmp/lgdIndicator.lock"
    33 LOCK_GUI="/tmp/lgdGUI.lock"
     32LOCK_INDICATOR="~/.config/lliurex-google-drive-profiles/lgdIndicator.lock"
     33LOCK_GUI="~/.config/lliurex-google-drive-profiles/lgdGUI.lock"
    3434RSRC="/usr/share/lliurex-gdrive/"
    3535MOUNT_ON_IMAGE=RSRC+"rsrc/mount_on.png"
     
    5050        def __init__(self,icon_name):
    5151               
     52                self.lock_gui=os.path.expanduser(LOCK_GUI)
     53                self.lock_indicator=os.path.expanduser(LOCK_INDICATOR)         
     54
    5255                self.LliurexGoogleDriveManager=lliurex.lliurexgdrive.LliurexGoogleDriveManager()
    5356                self.app_indicator=appindicator.Indicator.new("lliurex-gdrive",icon_name,appindicator.IndicatorCategory.APPLICATION_STATUS)
     
    109112
    110113                #self.lockpath=os.path(LOCK_INDICATOR)
    111                 if not os.path.exists(LOCK_INDICATOR):
    112                         f=open(LOCK_INDICATOR,'w')
     114                if not os.path.exists(self.lock_indicator):
     115                        f=open(self.lock_indicator,'w')
    113116                        f.close
    114117
     
    420423        def open_gui(self,widget):
    421424               
    422                 if not os.path.exists(LOCK_GUI):
     425                if not os.path.exists(self.lock_gui):
    423426                        cmd='/usr/bin/lliurex-gdrive' +"&"
    424427                        os.system(cmd)
     
    514517        def cleanIndicatorLock(self):
    515518
    516                 if os.path.exists(LOCK_INDICATOR):
    517                         os.remove(LOCK_INDICATOR)
     519                if os.path.exists(self.lock_indicator):
     520                        os.remove(self.lock_indicator)
    518521
    519522        #def cleanIndicatorLock                 
  • lliurex-gdrive/trunk/fuentes/python-lliurex-gdrive/lliurex/lliurexgdrive/__init__.py

    r5574 r5645  
    236236               
    237237                if arg!=None:
    238                         print "COMPROBANDO RED"
    239238                        connect=self.check_google_connection()
    240239               
     
    343342        def dismount_mountpoint(self,profile,mountpoint):
    344343
    345                 cmd='fusermount -u ' + mountpoint + ";"+self.clean_cache%profile
     344                cmd='fusermount -u -z ' + mountpoint + ";"+self.clean_cache%profile
    346345                p=subprocess.Popen(cmd, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    347346                poutput,perror=p.communicate()
Note: See TracChangeset for help on using the changeset viewer.