def main(): contents = [] plone_site_url = 'http://*****:*****@freethefuture.com:8080/Plone2' plone_site = ServerProxy(plone_site_url, allow_none=True) matches = [] dirmatches = [] for root, dirnames, filenames in os.walk('/home/brian/uploadedfiles/'): for filename in filenames: if filename.endswith(('.pdf', 'PDF', '.doc', '.DOC')): matches.append(os.path.join(root, filename)) with open('francislog.txt', 'w') as f: for yo in matches: if yo.split('.')[-1] not in ('pdf', 'PDF', '.doc', '.DOC'): continue g = open(yo, 'r') binary_data = Binary(g.read()) g.close() # oldobject = {'image': binary_data} yoyo = os.path.basename(yo) yoyoyo = os.path.dirname(yo) stuff = splitall(yoyoyo) oldobject = {'file': binary_data, 'title': yoyo} for x in stuff: y = stuff.index(x) + 1 relpath = '/'.join(stuff[3:y]) if relpath: try: plone_site.get_object([relpath]) except: plone_site.post_object({relpath: [{'title': x}, 'Folder']}) f.write('Created folder ' + relpath + '\n') else: f.write('Skipped folder ' + relpath + '\n') newpath = os.path.join(relpath, yoyo) pdb.set_trace() try: plone_site.post_object({newpath: [oldobject, 'File']}) except: f.write('Removed file ' + newpath + '\n') else: f.write('Added file ' + newpath + '\n')