Example #1
0
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
Example #2
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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
Example #8
0
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))
Example #10
0
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))
Example #11
0
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
Example #12
0
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
Example #13
0
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