Saltar al contenido

The little things…

Hoy en la mañana me encontré con un pequeño problemita en el trabajo. Tratando de encontrar un metodo en el framework de .NET 2.0 para poder verificar permisos de escritura en un directorio recorde lo facil que es a veces hacer estas cosas en linux… en mi trabajo utilizo tecnologias Microsoft todo el tiempo y ademas no estoy muy acostumbrado, aunado al monstruo de plataforma que es .Net.

Despues de buscar en msdn y de preguntar en algunos lugares como IRC (donde nadie me dio una respuesta inteligente) di con algo bastante ofuscado llamado DirectorySecurity en System.Security.AccessControl, toda una aventura… Termine haciendo la forma sucia que es crear un Stream dentro del directorio, todo esto dentro de un try/catch, si la creacion falla «cacho» la excepción UnauthorizedAccess y entonces sé que no tengo permisos de escritura…

En linux (con python) haría algo así:

import os

class MyApp:

def getFolderPermission(path):
if ( os.access(path, os.W_OK) == True ) :
print «No tienes permisos de escritura»

Incluso si lo queremos hacer mas sencillo simplemente invocamos el metodo access del modulo os y pasamos el path y el modo que queremos verificar:

os.access(«/home/gustavo», os.W_OK)

Donde os.W_OK es el modo y puede ser R_OK para read, X_OK para eXecute, etc. Si regresa True entonces podemos escribir, si regresa False entonces no.

Si, si, cosas sencillas, belleza de python, me encanta C#, pero a veces parece tonto que un framework tan grande como .Net no tenga un jodido metodo que regrese permisos de un folder, una propiedad, enumeración, etc. Supongo que no es culpa de .Net, sería culpa de la arquitectura del file system de windows.

Publicado ensoftware libretecnología

Un comentario

  1. markuz markuz

    Tenias razon hace casi tres años cuando hablamos en el CONSOL 2004, Python es el lenguaje mas bonito :-D.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.