From 7618f29657b64d3958e7ea6a10fb4b7b51d5dd2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pr=C3=A9vot?= Date: Fri, 29 Aug 2014 21:32:53 -0400 Subject: [PATCH 1/2] Fix minor Python syntax errors The installation fails because of these: TabError: inconsistent use of tabs and spaces in indentation SyntaxError: Missing parentheses in call to 'print' --- shell_integration/nautilus/ownCloud.py | 148 ++++++++++++------------- 1 file changed, 74 insertions(+), 74 deletions(-) diff --git a/shell_integration/nautilus/ownCloud.py b/shell_integration/nautilus/ownCloud.py index 158b015d73..cd582d9d60 100755 --- a/shell_integration/nautilus/ownCloud.py +++ b/shell_integration/nautilus/ownCloud.py @@ -21,10 +21,10 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP GObject.timeout_add(5000, self.connectToOwnCloud) def port(self): - return 34001 # Fixme, read from config file. + return 34001 # Fixme, read from config file. def connectToOwnCloud(self): - try: + try: self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.connect(("localhost", self.port())) @@ -32,25 +32,25 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP self.connected = True self.watch_id = GObject.io_add_watch(self.sock, GObject.IO_IN, self.handle_notify) except: - print "Connect could not be established, try again later!" + print( "Connect could not be established, try again later!" ) self.sock.close() - return not self.connected - + return not self.connected + def sendCommand(self, cmd): if self.connected: try: self.sock.send(cmd) except: - print "Sending failed." + print( "Sending failed." ) GObject.source_remove( self.watch_id ) self.connected = False GObject.timeout_add(5000, self.connectToOwnCloud) def find_item_for_file( self, path ): - if path in self.nautilusVFSFile_table: - return self.nautilusVFSFile_table[path] - else: - return None + if path in self.nautilusVFSFile_table: + return self.nautilusVFSFile_table[path] + else: + return None def askForOverlay(self, file): if os.path.isdir(file): @@ -60,38 +60,38 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP fileStatus = self.sendCommand("RETRIEVE_FILE_STATUS:"+file+"\n"); def invalidate_items_underneath( self, path ): - update_items = [] - for p in self.nautilusVFSFile_table: - if p == path or p.startswith( path ): - item = self.nautilusVFSFile_table[p] - update_items.append(item) + update_items = [] + for p in self.nautilusVFSFile_table: + if p == path or p.startswith( path ): + item = self.nautilusVFSFile_table[p] + update_items.append(item) - for item in update_items: - item.invalidate_extension_info() - # self.update_file_info(item) + for item in update_items: + item.invalidate_extension_info() + # self.update_file_info(item) # Handles a single line of server respoonse and sets the emblem def handle_server_response(self, l): Emblems = { 'OK' : 'oC_ok', - 'SYNC' : 'oC_sync', - 'NEW' : 'oC_sync', - 'IGNORE' : 'oC_warn', - 'ERROR' : 'oC_error', - 'OK+SWM' : 'oC_ok_shared', - 'SYNC+SWM' : 'oC_sync_shared', - 'NEW+SWM' : 'oC_sync_shared', - 'IGNORE+SWM': 'oC_warn_shared', - 'ERROR+SWM' : 'oC_error_shared', - 'NOP' : 'oC_error' - } + 'SYNC' : 'oC_sync', + 'NEW' : 'oC_sync', + 'IGNORE' : 'oC_warn', + 'ERROR' : 'oC_error', + 'OK+SWM' : 'oC_ok_shared', + 'SYNC+SWM' : 'oC_sync_shared', + 'NEW+SWM' : 'oC_sync_shared', + 'IGNORE+SWM': 'oC_warn_shared', + 'ERROR+SWM' : 'oC_error_shared', + 'NOP' : 'oC_error' + } - print "Server response: "+l + print( "Server response: "+l ) parts = l.split(':') if len(parts) > 0: - action = parts[0] + action = parts[0] - # file = parts[1] - # print "Action for " + file + ": "+parts[0] + # file = parts[1] + # print "Action for " + file + ": "+parts[0] if action == 'STATUS': emblem = Emblems[parts[1]] if emblem: @@ -99,24 +99,24 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP if item: item.add_emblem(emblem) - elif action == 'UPDATE_VIEW': - # Search all items underneath this path and invalidate them - if parts[1] in self.registered_paths: - self.invalidate_items_underneath( parts[1] ) + elif action == 'UPDATE_VIEW': + # Search all items underneath this path and invalidate them + if parts[1] in self.registered_paths: + self.invalidate_items_underneath( parts[1] ) - elif action == 'REGISTER_PATH': - self.registered_paths[parts[1]] = 1 - self.invalidate_items_underneath( parts[1] ) - elif action == 'UNREGISTER_PATH': - del self.registered_paths[parts[1]] - self.invalidate_items_underneath( parts[1] ) + elif action == 'REGISTER_PATH': + self.registered_paths[parts[1]] = 1 + self.invalidate_items_underneath( parts[1] ) + elif action == 'UNREGISTER_PATH': + del self.registered_paths[parts[1]] + self.invalidate_items_underneath( parts[1] ) - # check if there are non pathes any more, if so, its usual - # that mirall went away. Try reconnect. - if not self.registered_paths: - self.sock.close() - self.connected = False - GObject.source_remove( self.watch_id ) + # check if there are non pathes any more, if so, its usual + # that mirall went away. Try reconnect. + if not self.registered_paths: + self.sock.close() + self.connected = False + GObject.source_remove( self.watch_id ) GObject.timeout_add(5000, self.connectToOwnCloud) else: @@ -126,26 +126,26 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP # notify is the raw answer from the socket def handle_notify(self, source, condition): - data = source.recv(1024) - # prepend the remaining data from last call - if len(self.remainder) > 0: - data = self.remainder+data - self.remainder = '' + data = source.recv(1024) + # prepend the remaining data from last call + if len(self.remainder) > 0: + data = self.remainder+data + self.remainder = '' - if len(data) > 0: - # remember the remainder for next round - lastNL = data.rfind('\n'); - if lastNL > -1 and lastNL < len(data): - self.remainder = data[lastNL+1:] - data = data[:lastNL] + if len(data) > 0: + # remember the remainder for next round + lastNL = data.rfind('\n'); + if lastNL > -1 and lastNL < len(data): + self.remainder = data[lastNL+1:] + data = data[:lastNL] - for l in data.split('\n'): - self.handle_server_response( l ) + for l in data.split('\n'): + self.handle_server_response( l ) else: return False - return True # run again - + return True # run again + def get_local_path(self, path): return path.replace("file://", "") @@ -155,14 +155,14 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP filename = urllib.unquote(item.get_uri()[7:]) if item.is_directory(): - filename += '/' + filename += '/' - for reg_path in self.registered_paths: - if filename.startswith(reg_path): - self.nautilusVFSFile_table[filename] = item - - # item.add_string_attribute('share_state', "share state") - self.askForOverlay(filename) - break - else: - print "Not in scope:"+filename + for reg_path in self.registered_paths: + if filename.startswith(reg_path): + self.nautilusVFSFile_table[filename] = item + + # item.add_string_attribute('share_state', "share state") + self.askForOverlay(filename) + break + else: + print( "Not in scope:"+filename ) From ddfc7c75df0dc86ef70be59634333aebddae6c5c Mon Sep 17 00:00:00 2001 From: hefee Date: Sun, 31 Aug 2014 00:32:37 +0200 Subject: [PATCH 2/2] Fix minor Python styling issues * Do not use sapces inside parenthesis * make indend PEP8 * empty lines should not contain whitespaces --- shell_integration/nautilus/ownCloud.py | 63 +++++++++++++------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/shell_integration/nautilus/ownCloud.py b/shell_integration/nautilus/ownCloud.py index cd582d9d60..2a4c8d663d 100755 --- a/shell_integration/nautilus/ownCloud.py +++ b/shell_integration/nautilus/ownCloud.py @@ -7,7 +7,7 @@ import socket from gi.repository import GObject, Nautilus class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoProvider): - + nautilusVFSFile_table = {} registered_paths = {} remainder = '' @@ -17,36 +17,35 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP def __init__(self): self.connectToOwnCloud if not self.connected: - # try again in 5 seconds - attention, logic inverted! - GObject.timeout_add(5000, self.connectToOwnCloud) + # try again in 5 seconds - attention, logic inverted! + GObject.timeout_add(5000, self.connectToOwnCloud) def port(self): return 34001 # Fixme, read from config file. def connectToOwnCloud(self): try: - self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - - self.sock.connect(("localhost", self.port())) - self.sock.settimeout(5) - self.connected = True - self.watch_id = GObject.io_add_watch(self.sock, GObject.IO_IN, self.handle_notify) + self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.sock.connect(("localhost", self.port())) + self.sock.settimeout(5) + self.connected = True + self.watch_id = GObject.io_add_watch(self.sock, GObject.IO_IN, self.handle_notify) except: - print( "Connect could not be established, try again later!" ) - self.sock.close() + print("Connect could not be established, try again later!") + self.sock.close() return not self.connected - + def sendCommand(self, cmd): if self.connected: - try: - self.sock.send(cmd) - except: - print( "Sending failed." ) - GObject.source_remove( self.watch_id ) - self.connected = False - GObject.timeout_add(5000, self.connectToOwnCloud) + try: + self.sock.send(cmd) + except: + print("Sending failed.") + GObject.source_remove(self.watch_id) + self.connected = False + GObject.timeout_add(5000, self.connectToOwnCloud) - def find_item_for_file( self, path ): + def find_item_for_file(self, path): if path in self.nautilusVFSFile_table: return self.nautilusVFSFile_table[path] else: @@ -55,14 +54,14 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP def askForOverlay(self, file): if os.path.isdir(file): folderStatus = self.sendCommand("RETRIEVE_FOLDER_STATUS:"+file+"\n"); - + if os.path.isfile(file): fileStatus = self.sendCommand("RETRIEVE_FILE_STATUS:"+file+"\n"); - def invalidate_items_underneath( self, path ): + def invalidate_items_underneath(self, path): update_items = [] for p in self.nautilusVFSFile_table: - if p == path or p.startswith( path ): + if p == path or p.startswith(path): item = self.nautilusVFSFile_table[p] update_items.append(item) @@ -85,7 +84,7 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP 'NOP' : 'oC_error' } - print( "Server response: "+l ) + print("Server response: "+l) parts = l.split(':') if len(parts) > 0: action = parts[0] @@ -102,21 +101,21 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP elif action == 'UPDATE_VIEW': # Search all items underneath this path and invalidate them if parts[1] in self.registered_paths: - self.invalidate_items_underneath( parts[1] ) + self.invalidate_items_underneath(parts[1]) elif action == 'REGISTER_PATH': self.registered_paths[parts[1]] = 1 - self.invalidate_items_underneath( parts[1] ) + self.invalidate_items_underneath(parts[1]) elif action == 'UNREGISTER_PATH': del self.registered_paths[parts[1]] - self.invalidate_items_underneath( parts[1] ) + self.invalidate_items_underneath(parts[1]) # check if there are non pathes any more, if so, its usual # that mirall went away. Try reconnect. if not self.registered_paths: self.sock.close() self.connected = False - GObject.source_remove( self.watch_id ) + GObject.source_remove(self.watch_id) GObject.timeout_add(5000, self.connectToOwnCloud) else: @@ -140,12 +139,12 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP data = data[:lastNL] for l in data.split('\n'): - self.handle_server_response( l ) + self.handle_server_response(l) else: return False return True # run again - + def get_local_path(self, path): return path.replace("file://", "") @@ -160,9 +159,9 @@ class ownCloudExtension(GObject.GObject, Nautilus.ColumnProvider, Nautilus.InfoP for reg_path in self.registered_paths: if filename.startswith(reg_path): self.nautilusVFSFile_table[filename] = item - + # item.add_string_attribute('share_state', "share state") self.askForOverlay(filename) break else: - print( "Not in scope:"+filename ) + print("Not in scope:"+filename)