It's not the same without you
Join the community to find out what other Atlassian users are discussing, debating and creating.
Hi All,
I am writing a python Script which tries to read png files with title as username for e.g admin.png, where the admin.png file will be set as profile picture for the user with username 'admin'.
#!/usr/bin/python # BulkPhotoUpload.py #Script to read *.png files from a directory and upload as profile picture for users import os import shutil import fnmatch import xmlrpclib import string import re #Function to generate files that match a given filename pattern with in a directory def get_files_in_directory(filepat,top): for path, dirlist, filelist in os.walk(top): for userphoto in fnmatch.filter(filelist,filepat): yield os.path.join(path,userphoto) #Main Function if __name__ == '__main__': #Source Directory must be specified source = 'C:\BulkUploadPhoto\UserPhotos' # From where pictures of the users are read #Destination Directory must be specified destination = 'C:\BulkUploadPhoto\Archive' # To where pictures of the users are archived after uploading #The confluence server must be specified and the XML-RPC API must be enabled in the system server = xmlrpclib.ServerProxy('http://localhost:8090/rpc/xmlrpc') try: #Must specify the UserName & the Password of the usercontext on which the operation must be performed token = server.confluence2.login('admin', '20605104002'); #Gets all the PNG files from the directory userphotocollection = get_files_in_directory("*png",source) #Iterate the files to upload them as profile photo for users for userPhoto in userphotocollection: pictureData = xmlrpclib.Binary(open(userPhoto).read()) picName = os.path.basename(userPhoto) userName = os.path.splitext(picName)[0] profilePictureAdded = server.confluence2.addProfilePicture(token, userName, picName, 'image/png', pictureData) if profilePictureAdded: #Move the uploaded images to the Archive directory shutil.move(userPhoto, destination) print "Successfully added profile picture for %d" % userName else: print "Failed to add profile picture for %d" % userName except xmlrpclib.Fault, err: print "Fault code: %d" % err.faultCode print "Fault string: %s" % err.faultString
try this..
#!/usr/bin/python # BulkPhotoUpload.py #Script to read *.png files from a directory and upload as profile picture for users import os import shutil import fnmatch import xmlrpclib import string import re #Function to generate files that match a given filename pattern with in a directory def get_files_in_directory(filepat,top): for path, dirlist, filelist in os.walk(top): for userphoto in fnmatch.filter(filelist,filepat): yield os.path.join(path,userphoto) #Main Function if __name__ == '__main__': #Source Directory must be specified source = 'C:\BulkPhotoUpload\UserPhotos' # From where pictures of the users are read #Destination Directory must be specified destination = 'C:\BulkPhotoUpload\Archive' # To where pictures of the users are archived after uploading #The confluence server must be specified and the XML-RPC API must be enabled in the system server = xmlrpclib.ServerProxy('http://localhost:8090/rpc/xmlrpc') try: #Must specify the UserName & the Password of the usercontext on which the operation must be performed token = server.confluence1.login('username', 'password'); #Gets all the PNG files from the directory userphotocollection = get_files_in_directory("*png",source) #Iterate the files to upload them as profile photo for users for userPhoto in userphotocollection: pictureData = xmlrpclib.Binary(open(userPhoto,'rb').read()) picName = os.path.basename(userPhoto) userName = os.path.splitext(picName)[0] profilePictureAdded = server.confluence1.addProfilePicture(token, userName, picName, 'image/png', pictureData) if profilePictureAdded: #Move the uploaded images to the Archive directory print "Successfully added profile picture for %s" % userName shutil.move(userPhoto, destination) else: print "Failed to add profile picture for %s" % userName except xmlrpclib.Fault, err: print "Fault code: %d" % err.faultCode print "Fault string: %s" % err.faultString
This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.
Read moreHi Community! Kesha (kay-sha) from the Confluence marketing team here! Can you share stories with us on how your non-technical (think Marketing, Sales, HR, legal, etc.) teams are using Confluen...
Connect with like-minded Atlassian users at free events near you!
Find a groupConnect with like-minded Atlassian users at free events near you!
Unfortunately there are no AUG chapters near you at the moment.
Start an AUGYou're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.