I am trying to upload file from my desktop to SharePoint using python script. I am getting the error "xml.sax._exceptions.SAXparseException no element found"... Please suggest a solution as I am pretty new to python and all my attempt has failed thus far. The script looks as follows,
#!/usr/bin/python2.4
import datetime as dt
import sys
from suds.transport.https import WindowsHttpAuthenticated
from suds.sax.element import Element
from suds.sax.element import Attribute
from suds import client
from ntlm import HTTPNtlmAuthHandler
import urllib2
import os.path
FOLDER = dt.date.today().strftime("%Y-%m-%d") #folder name that will be created
FNAME = "Testfile" #file name to upload
SITE = "My sharepoint path"
FURL = "%s/Reports/%s/%s" % (SITE,FOLDER,os.path.basename(FNAME))
USER = "Domain\\UserID" # AD user name
PASS = "Password"
def main():
wss_lists = client.Client("%s/_vti_bin/lists.asmx?WSDL" % SITE,transport=WindowsHttpAuthenticated(username=USER,password=PASS))
wss_dws = client.Client("%s/_vti_bin/dws.asmx?WSDL" % SITE,transport=WindowsHttpAuthenticated(username=USER,password=PASS))
wss_dws.service.CreateFolder("Reports/%s" % FOLDER)
print uploadReport(FURL,FNAME)
def uploadReport(furl,fname):
pm = urllib2.HTTPPasswordMgrWithDefaultRealm()
pm.add_password(None,SITE,USER,PASS)
op = urllib2.build_opener(HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(pm))
import pdb;pdb.set_trace()
fh = open(fname)
data = fh.read()
fh.close()
req = urllib2.Request(furl,data=data)
req.get_method = lambda: 'PUT'
req.add_header('Content-Type','txt')
r = op.open(req)enter code here
return r.read()
if __name__=="__main__": main()