2222import re
2323import signal
2424import subprocess
25+ import sys
2526
2627gi .require_version ("AppIndicator3" , "0.1" )
2728gi .require_version ("Gtk" , "3.0" )
4041 runConfigure ,
4142 show_notify ,
4243 get_version ,
44+ openLocal ,
45+ openRemote ,
4346)
4447
4548logging .basicConfig (level = logging .INFO , format = "%(levelname)s: %(message)s" )
@@ -56,7 +59,7 @@ def __init__(self, cliArgs, *args, **kwargs):
5659 )
5760 if cliArgs .version :
5861 print (get_version ())
59- exit ()
62+ sys . exit ()
6063 self .folder = cliArgs .folder
6164 self .debug = cliArgs .debug
6265
@@ -94,11 +97,11 @@ def menu_setup(self):
9497 self .syncNow_item .show ()
9598
9699 self .Remote_item = Gtk .MenuItem ("Remote Google Drive" )
97- self .Remote_item .connect ("activate" , self . openRemote )
100+ self .Remote_item .connect ("activate" , openRemote )
98101 self .Remote_item .show ()
99102
100103 self .Local_item = Gtk .MenuItem ("Local Folder" )
101- self .Local_item .connect ("activate" , self . openLocal )
104+ self .Local_item .connect ("activate" , openLocal )
102105 self .Local_item .show ()
103106
104107 self .Settings_item = Gtk .MenuItem ("Preferences" )
@@ -169,27 +172,14 @@ def syncNow(self, widget):
169172 if grive_out_line .startswith ("sync" ):
170173 show_notify (grive_out_line )
171174 logger .debug ("Finished sync" )
172- self .lastSync = re .split ("T|\." , datetime .now ().isoformat ())[1 ]
175+ self .lastSync = re .split (r "T|\." , datetime .now ().isoformat ())[1 ]
173176 self .lastSync_item .set_label ("Last sync at " + self .lastSync )
174- except OSError :
175- logger .error ("Missing grive in PATH" )
176- pass
177+ except OSError as e :
178+ logger .error (f "Missing grive in PATH: { e } " )
179+ sys . exit ( 1 )
177180 except Exception as e :
178- logger .error ("Error occurred running grive. Skipping sync: %s" % e )
179- pass
180-
181- def openRemote (self , widget ):
182- Gtk .show_uri_on_window (None , "https://drive.google.com" , Gdk .CURRENT_TIME )
183-
184- def openLocal (self , widget ):
185- localFolder = "file://{}" .format (Config ().getValue ("folder" ))
186- if os .getenv ("SNAP" ) is not None :
187- logger .debug ("Opening {} in snap: xdg-open" .format (localFolder ))
188- subprocess .call (["xdg-open" , localFolder ])
189- else :
190- logger .debug ("Opening {}: show_uri_on_window" .format (localFolder ))
191- Gtk .show_uri_on_window (None , localFolder , Gdk .CURRENT_TIME )
192- # subprocess.call(["xdg-open", "file://{}".format(Config().getValue('folder'))])
181+ logger .error (f"Error occurred running grive. Skipping sync: { e } " )
182+ # pass
193183
194184 def settings (self , widget ):
195185 settings .main (self .debug )
@@ -214,7 +204,7 @@ def main():
214204 parser .add_argument (
215205 "--version" , action = "store_true" , help = "Print the version and quit"
216206 )
217- # TODO: Add auth parameter
207+
218208 args = parser .parse_args ()
219209
220210 app = GriveIndicator (args )
0 commit comments