probably a newbie question but here goes:
I am adding a large number of PDF's to a newly created folder...
I am using glob.glob to grab all file paths into a list
I also need to use the data_properties dictionary to add the filename as the items title and not the entire path name.
code is below... everything works but its uploading the title as the full path name, i need to split the file path to only grab the files name for title.
(before you ask, if I don't use time.sleep the API will skip some items for the sharing between function calls.)
method to grab filenames within the for loop and assign to variable to use in the pdf_properties 'title'
import arcgis
from arcgis.gis import *
import os
import glob
import timegis = GIS(None, "username", "password")
contentManager = arcgis.gis.ContentManager(gis)
contentManager.create_folder('new folder name,None)pdf_list = glob.glob(r'C:\Users\username\Desktop\pdf\*.pdf')
additem = arcgis.gis.ContentManager(gis)
for pdf in pdf_list:
pdf_properties = {'type':'PDF','title':pdf,'tags':'pdf, arcgis,lakeworth', 'access':'Public'}
additem.add(pdf_properties,pdf,folder='Historic PDFs')
time.sleep(1)
item_search = gis.content.search(query='', item_type='PDF')
item_searchfor item in item_search:
item.share(everyone=True)
time.sleep(1)
11.2. os.path — Common pathname manipulations — Python 3.6.5 documentation , see split or basename
pdf_name = os.path.basename(pdf)
yes I got the answer on stackoverflow but this still appends the ".pdf" suffix
I was able to use
pdf_name.split(".")[0]
to get the desired results
thanks!
You might want to use os.path.splitext(), just in case a PDF file name has a period in it, which is allowed.
all the pdf names will integers (parcel control numbers) but thanks for the info it will be helpful with other projects