2015-06-24 14 views
5

Sto utilizzando questa libreria https://github.com/ox-it/python-sharepoint per connettersi a un elenco di SharePoint. Posso autenticare, accedere ai campi della lista, incluso l'URL completo del file che voglio, e sembra che questa libreria abbia i metodi is_file() e open() tuttavia, non capisco come chiamarli. Qualsiasi consiglio è apprezzato!come scaricare un file utilizzando la libreria python-sharepoint

from sharepoint import SharePointSite, basic_auth_opener 

opener = basic_auth_opener(server_url, "domain/username", "password") 
site = SharePointSite(server_url, opener) 

sp_list = site.lists['ListName'] 
for row in sp_list.rows: 
     print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl 
     #download file 
     #row.open() ?? 

a citazione da file Leggimi:

Il supporto per le librerie di documenti è limitata, ma SharePointListRow oggetti supportano un metodo is_file() e un metodo open() per dati di accesso al file.

risposta

2

Fondamentalmente si chiamano questi metodi sulla riga di elenco (che è di tipo SharePointListRow). Il metodo open() è in realtà il metodo di apertura urllib2 s', che di solito usare in questo modo:

import urllib2 
opener = urllib2.build_opener() 
response = opener.open('http://www.example.com/') 
print ('READ CONTENTS:', response.read()) 
print ('URL   :', response.geturl()) 
# .... 

così si dovrebbe essere in grado di usare in questo modo (non ho alcun sito di SharePoint per controllare questo però):

from sharepoint import SharePointSite, basic_auth_opener 

opener = basic_auth_opener(server_url, "domain/username", "password") 
site = SharePointSite(server_url, opener) 

sp_list = site.lists['ListName'] 
for row in sp_list.rows():    # <<< 
    print row.id, row.Title, row.Author['name'], row.Created, row.EncodedAbsUrl 
    # download file here 

    print ("This row: ", row.name())  # <<< 
    if row.is_file():      # <<< 
     response = row.open()    # <<< 
     file_data = response.read()   # <<< 

     # process the file data, e.g. write to disk 
Problemi correlati