Bueno el camelo no ha colao ha seguido con las mismas tonterías y el caso es que las raspberrys se montan bien las carpetas compartidas con y sin login y en la MV OSX también por lo que me he decido actualizar las librerías y ahora si me funciona. Aún me falta por probar crear archivos pero no creo que tenga problemas, me gustaría cambiar el método.
La librería que tenemos es del 2003 de pysmb de miketeo que por la fecha se deduce que es la 0.4.3. Me he descargado la 1.1.17 y de la carpeta python2, que es para las vesiones 2.4, 2.5, 2.6, 2.7 y 3 de python, he copiado las capetas smb y nmb en la carpeta lib de peilisalacarta. Como las versiones 0.x de pysmb no son compatibles cona las 1.x, he editado el archivo samba.py para adaptarlo sin cambiarlo mucho, lo he renombrado a libsmb.py y lo he guardao en la carpeta lib de pelisalacarta. De esta forma no tengo que editar el trabajo de miketeo para que se adapte a una ubicación distinta a la esperada.
Ambas librerías pueden convivir juntas en pelisalacarta.
Os lo la voy a dejar por si queréis probarla o usarla, a mi me ido bastante rápido en las rasp1, me falta probar la escritura de archivos a ver que tal se porta y si procede, intentar mejorarlo.
Os pego también las funciones que he probado. Sólo tenéis que cambiar las etiquetas <algo> con lo que tenga cada uno o nada en el caso de user y password eliminando los caracteres ":" y "@" también.
Código: Seleccionar todo
## Ejemplo de url para con ruta para la biblioteca de pelisalacarta compartida por todos los equipos de nuestra red local:
## smb://myUserName:myPassword@MYSERVER/MYSHARENAME/xbmc/pelisalacarta
## smb://MYSERVER/MYSHARENAME/xbmc/pelisalacarta
import libsmb
print "##### file_exists 1 ## %s ##" % libsmb.file_exists('captcha.png', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### file_exists 2 ## %s ##" % libsmb.file_exists('captcha', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### file_exists 3 ## %s ##" % libsmb.file_exists('captcha.png', 'smb://<user>:<password>@<server_name>/<share_name>/<path>/SERIES')
print "##### file_exists 4 ## %s ##" % libsmb.file_exists('captcha.png', 'smb://<user>:<password>@<server_name>/<share_name>/<path>/LISTAS')
print "##### folder_exists 1 ## %s ##" % libsmb.folder_exists('SERIES', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### folder_exists 2 ## %s ##" % libsmb.folder_exists('LISTAS', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### get_files ## %s ##" % libsmb.get_files('smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### get_directories ## %s ##" % libsmb.get_directories('smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### get_files_and_directories ## %s ##" % libsmb.get_files_and_directories('smb://<user>:<password>@<server_name>/<share_name>/<path>')
attr_1 = libsmb.get_attributes('SERIES', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
attr_2 = libsmb.get_attributes('captcha.png', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### attr_1 ## %s ##" % attr_1
print "##### attr_2 ## %s ##" % attr_2
print "##### attr_1.isDirectory ## %s ##" % attr_1.isDirectory
print "##### attr_2.isDirectory ## %s ##" % attr_2.isDirectory
print "##### attr_1.file_attributes ## %s ##" % attr_1.file_attributes
print "##### attr_2.file_attributes ## %s ##" % attr_2.file_attributes
libsmb.create_directory('LISTAS', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### folder_exists ## %s ##" % libsmb.folder_exists('LISTAS', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
libsmb.delete_directory('LISTAS', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
print "##### folder_exists ## %s ##" % libsmb.folder_exists('LISTAS', 'smb://<user>:<password>@<server_name>/<share_name>/<path>')
Los resultados de mi prueba con carpetas y archivos copiados para la ocasión de aquí y de allí en una carpeta + una subcarpeta en lo que sería el <path> (carpeta/subcarpeta)
Código: Seleccionar todo
23:36:02 T:15080 NOTICE: ##### file_exists 1 ## True ##
23:36:02 T:15080 NOTICE: ##### file_exists 2 ## False ##
23:36:02 T:15080 NOTICE: ##### file_exists 3 ## False ##
23:36:02 T:15080 NOTICE: ##### file_exists 4 ## False ##
23:36:02 T:15080 NOTICE: ##### folder_exists 1 ## True ##
23:36:02 T:15080 NOTICE: ##### folder_exists 2 ## False ##
23:36:02 T:15080 NOTICE: ##### get_files ## [u'captcha.png', u'image.jpg', u'series - copia.xml', u'series.xml', u'series.xml.bak', u'_series.xml'] ##
23:36:02 T:15080 NOTICE: ##### get_directories ## [u'Aida', u'banners', u'cache', u'CINE', u'descargas', u'favoritos', u'lista', u'mediaserver_cache', u'MUSICA', u'posters', u'SERIES', u'squares', u'strm', u'temp', u'torrents', u'torrent_descargas', u'torrent_peliculas', u'torrent_series'] ##
23:36:02 T:15080 NOTICE: ##### get_files_and_directories ## [u'Aida', u'banners', u'cache', u'captcha.png', u'CINE', u'descargas', u'favoritos', u'image.jpg', u'lista', u'mediaserver_cache', u'MUSICA', u'posters', u'SERIES', u'series - copia.xml', u'series.xml', u'series.xml.bak', u'squares', u'strm', u'temp', u'torrents', u'torrent_descargas', u'torrent_peliculas', u'torrent_series', u'_series.xml'] ##
23:36:02 T:15080 NOTICE: ##### attr_1 ## <smb.base.SharedFile instance at 0x17F10EB8> ##
23:36:02 T:15080 NOTICE: ##### attr_2 ## <smb.base.SharedFile instance at 0x17F148F0> ##
23:36:02 T:15080 NOTICE: ##### attr_1.isDirectory ## True ##
23:36:02 T:15080 NOTICE: ##### attr_2.isDirectory ## False ##
23:36:02 T:15080 NOTICE: ##### attr_1.file_attributes ## 48 ##
23:36:02 T:15080 NOTICE: ##### attr_2.file_attributes ## 32 ##
23:36:02 T:15080 NOTICE: ##### folder_exists ## True ##
23:36:02 T:15080 NOTICE: ##### folder_exists ## False ##
Ahí queda eso
