def rename(path, new_name): """ Renombra un archivo o carpeta @param path: ruta del fichero o carpeta a renombrar @type path: str @param new_name: nuevo nombre @type new_name: str @rtype: bool @return: devuelve False en caso de error """ path = encode(path) try: if path.lower().startswith("smb://"): new_name = encode(new_name, True) samba.rename(path, join(dirname(path), new_name)) else: new_name = encode(new_name, False) os.rename(path, os.path.join(os.path.dirname(path), new_name)) except: logger.error("ERROR al renombrar el archivo: %s" % path) logger.error(traceback.format_exc()) platformtools.dialog_notification("Error al renombrar", path) return False else: return True
def move(path, dest): """ Mueve un archivo @param path: ruta del fichero a mover @type path: str @param dest: ruta donde mover @type dest: str @rtype: bool @return: devuelve False en caso de error """ try: # samba/samba if path.lower().startswith("smb://") and dest.lower().startswith( "smb://"): dest = encode(dest, True) path = encode(path, True) samba.rename(path, dest) # local/local elif not path.lower().startswith( "smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) os.rename(path, dest) # mixto En este caso se copia el archivo y luego se elimina el de origen else: return copy(path, dest) == True and remove(path) == True except: logger.error("ERROR al mover el archivo: %s" % path) return False else: return True
def rename(path, new_name): """ Renombra un archivo o carpeta @param path: ruta del fichero o carpeta a renombrar @type path: str @param new_name: nuevo nombre @type new_name: str @rtype: bool @return: devuelve False en caso de error """ path = encode(path) try: if path.lower().startswith("smb://"): new_name = encode(new_name, True) samba.rename(path, join(dirname(path), new_name)) else: new_name = encode(new_name, False) os.rename(path, os.path.join(os.path.dirname(path), new_name)) except: logger.error("ERROR al renombrar el archivo: %s" %(path)) logger.error(traceback.format_exc()) platformtools.dialog_notification("Error al renombrar", path) return False else: return True
def move(path, dest): """ Mueve un archivo @param path: ruta del fichero a mover @type path: str @param dest: ruta donde mover @type dest: str @rtype: bool @return: devuelve False en caso de error """ try: #samba/samba if path.lower().startswith("smb://") and dest.lower().startswith("smb://"): dest = encode(dest, True) path = encode(path, True) samba.rename(path, dest) #local/local elif not path.lower().startswith("smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) os.rename(path, dest) #mixto En este caso se copia el archivo y luego se elimina el de origen else: return copy(path, dest) == True and remove(path) == True except: logger.error("ERROR al mover el archivo: %s" %(path)) logger.error(traceback.format_exc()) return False else: return True
def rename(path, new_name): """ Renombra un archivo o carpeta @param path: ruta del fichero o carpeta a renombrar @type path: str @param new_name: nuevo nombre @type new_name: str @rtype: bool @return: devuelve False en caso de error """ path = encode(path) if path.lower().startswith("smb://"): new_name = encode(new_name, True) try: samba.rename(os.path.basename(path), new_name, os.path.dirname(path)) except: import traceback logger.info( "pelisalacarta.core.filetools mkdir: Error al renombrar el archivo o carpeta" + traceback.format_exc()) platformtools.dialog_notification("Error al renombrar", path) return False else: new_name = encode(new_name, False) try: os.rename(path, os.path.join(os.path.dirname(path), new_name)) except OSError: import traceback logger.info( "pelisalacarta.core.filetools mkdir: Error al renombrar el archivo o carpeta" + traceback.format_exc()) platformtools.dialog_notification("Error al renombrar", path) return False return True
def move(path, dest, silent=False, strict=False, vfs=True, ch_mod=''): """ Mueve un archivo @param path: ruta del fichero a mover @type path: str @param dest: ruta donde mover @type dest: str @rtype: bool @return: devuelve False en caso de error """ try: if xbmc_vfs and vfs: if not exists(path): return False path = encode(path) dest = encode(dest) result = bool(xbmcvfs.rename(path, dest)) if not result and not strict: if not silent: logger.error( "ERROR al MOVER el archivo: %s. Copiando y borrando" % path) result = bool(copy(path, dest, su=True)) if not result: return False xbmcvfs.delete(path) if result and ch_mod: result = chmod(dest, ch_mod, silent=silent) return result # samba/samba elif path.lower().startswith("smb://") and dest.lower().startswith( "smb://"): dest = encode(dest, True) path = encode(path, True) samba.rename(path, dest) # local/local elif not path.lower().startswith( "smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) os.rename(path, dest) # mixto En este caso se copia el archivo y luego se elimina el de origen else: if not silent: dialogo = platformtools.dialog_progress("Copiando archivo", "") return copy(path, dest) == True and remove(path) == True except: logger.error("ERROR al mover el archivo: %s a %s" % (path, dest)) if not silent: logger.error(traceback.format_exc()) return False else: return True
def move(path, dest, silent=False, strict=False, vfs=True): """ Move a file @param path: path of the file to move @type path: str @param dest: path where to move @type dest: str @rtype: bool @return: returns False on error """ try: if xbmc_vfs and vfs: if not exists(path): return False path = encode(path) dest = encode(dest) result = xbmcvfs.rename(path, dest) if not result and not strict: logger.error( "ERROR when MOVING the file: %s. Copying and deleting" % path) if not silent: dialogo = platformtools.dialog_progress("Copying file", "") result = xbmcvfs.copy(path, dest) if not result: return False xbmcvfs.delete(path) return bool(result) # samba/samba elif path.lower().startswith("smb://") and dest.lower().startswith( "smb://"): dest = encode(dest, True) path = encode(path, True) samba.rename(path, dest) # local/local elif not path.lower().startswith( "smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) os.rename(path, dest) # mixed In this case the file is copied and then the source file is deleted else: if not silent: dialogo = platformtools.dialog_progress("Copying file", "") return copy(path, dest) == True and remove(path) == True except: logger.error("ERROR when moving file: %s to %s" % (path, dest)) if not silent: logger.error(traceback.format_exc()) return False else: return True
def move(path, dest): """ Mueve un archivo @param path: ruta del fichero a mover @type path: str @param dest: ruta donde mover @type dest: str @rtype: bool @return: devuelve False en caso de error """ # samba/samba if path.lower().startswith("smb://") and dest.lower().startswith("smb://"): try: dest = encode(dest, True) path = encode(path, True) # Calculamos la ruta de destino relativa a la ruta de origen tipo "../../Carpeta/archivo.mp4" new_file = "/".join( os.path.relpath(os.path.dirname(dest), os.path.dirname(path)).split(os.sep) + [os.path.basename(dest)] ) samba.rename(os.path.basename(path), new_file, os.path.dirname(path)) return True except: import traceback logger.info("pelisalacarta.core.filetools mkdir: Error al mover el archivo" + traceback.format_exc()) platformtools.dialog_notification("Error al mover", path) return False # local/local elif not path.lower().startswith("smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) try: os.rename(path, dest) return True except OSError: import traceback logger.info("pelisalacarta.core.filetools move: Error al mover el archivo" + traceback.format_exc()) platformtools.dialog_notification("Error al mover", path) return False # mixto En este caso se copia el archivo y luego se elimina el de origen else: if copy(path, dest) == True and remove(path) == True: return True else: return False
def rename(path, new_name): """ Renombra un archivo o carpeta @param path: ruta del fichero o carpeta a renombrar @type path: str @param new_name: nuevo nombre @type new_name: str """ path = encode(path) if path.lower().startswith("smb://"): new_name = encode(new_name, True) samba.rename(os.path.basename(path), new_name, os.path.dirname(path)) else: new_name = encode(new_name, False) os.rename(path, os.path.join(os.path.dirname(path), new_name))
def move(path, dest): """ Mueve un archivo @param path: ruta del fichero a mover @type path: str @param dest: ruta donde mover @type dest: str @rtype: bool @return: devuelve False en caso de error """ #samba/samba if path.lower().startswith("smb://") and dest.lower().startswith("smb://"): try: dest = encode(dest, True) path = encode(path, True) #Calculamos la ruta de destino relativa a la ruta de origen tipo "../../Carpeta/archivo.mp4" new_file = "/".join(os.path.relpath(os.path.dirname(dest), os.path.dirname(path)).split(os.sep) + [os.path.basename(dest)]) samba.rename(os.path.basename(path), new_file, os.path.dirname(path)) return True except: import traceback logger.info( "pelisalacarta.core.filetools mkdir: Error al mover el archivo" + traceback.format_exc()) platformtools.dialog_notification("Error al mover", path) return False #local/local elif not path.lower().startswith("smb://") and not dest.lower().startswith("smb://"): dest = encode(dest) path = encode(path) try: os.rename(path, dest) return True except OSError: import traceback logger.info( "pelisalacarta.core.filetools move: Error al mover el archivo" + traceback.format_exc()) platformtools.dialog_notification("Error al mover", path) return False #mixto En este caso se copia el archivo y luego se elimina el de origen else: if copy(path, dest) == True and remove(path) == True: return True else: return False
def rename(path, new_name, silent=False, strict=False, vfs=True): """ Renombra un archivo o carpeta @param path: ruta del fichero o carpeta a renombrar @type path: str @param new_name: nuevo nombre @type new_name: str @rtype: bool @return: devuelve False en caso de error """ path = encode(path) try: if xbmc_vfs and vfs: path_end = path if path_end.endswith('/') or path_end.endswith('\\'): path_end = path_end[:-1] dest = encode(join(dirname(path_end), new_name)) result = xbmcvfs.rename(path, dest) if not result and not strict: logger.error( "ERROR al RENOMBRAR el archivo: %s. Copiando y borrando" % path) if not silent: dialogo = platformtools.dialog_progress( "Copiando archivo", "") result = xbmcvfs.copy(path, dest) if not result: return False xbmcvfs.delete(path) return bool(result) elif path.lower().startswith("smb://"): new_name = encode(new_name, True) samba.rename(path, join(dirname(path), new_name)) else: new_name = encode(new_name, False) os.rename(path, os.path.join(os.path.dirname(path), new_name)) except: logger.error("ERROR al renombrar el archivo: %s" % path) if not silent: logger.error(traceback.format_exc()) platformtools.dialog_notification("Error al renombrar", path) return False else: return True
def rename(path, new_name, silent=False, strict=False, vfs=True): """ Rename a file or folder @param path: path of the file or folder to rename @type path: str @param new_name: new name @type new_name: str @rtype: bool @return: returns False on error """ path = encode(path) try: if xbmc_vfs and vfs: path_end = path if path_end.endswith('/') or path_end.endswith('\\'): path_end = path_end[:-1] dest = encode(join(dirname(path_end), new_name)) result = xbmcvfs.rename(path, dest) if not result and not strict: logger.error("ERROR RENAME file: %s. Copying and deleting" % path) if not silent: dialogo = platformtools.dialog_progress("Copying file", "") result = xbmcvfs.copy(path, dest) if not result: return False xbmcvfs.delete(path) return bool(result) elif path.lower().startswith("smb://"): new_name = encode(new_name, True) samba.rename(path, join(dirname(path), new_name)) else: new_name = encode(new_name, False) os.rename(path, os.path.join(os.path.dirname(path), new_name)) except: logger.error("ERROR when renaming the file: %s" % path) if not silent: logger.error(traceback.format_exc()) platformtools.dialog_notification("Error renaming", path) return False else: return True