2017-01-26 10 views
1

Я использую plone.api, чтобы создать скрипт для загрузки пакета PDF-файлов в папку, информация о том, какую папку я буду помещать каждый PDF, из csv. И моя проблема ..Когда я использую plone.api content.create in для поиска результатов, когда-либо пустых

Если следующее значение interartion в for принести тот же самый год, который был создан в прошлом Интерактивного из for вара yearBrain имеет выход снова пуст. И когда сценарий закончен, в Plone у меня будет много папки с названием 2015 и идентификаторы 2015, 2015-1 ...

for i in csv: 
    yearBrain = api.content.find(context=container, SearchableText=str(i[1])) 
    if solidData(yearBrain): 
     #solidData returns if exist infor and year have 4 digits 
     print 'if true, insert a PDF into a folder' 
    else: 
     #If solidData false, yearBrain results empty, so create a folder 
     container = api.content.create(type='Folder', title=unicode(str(i[1]), 'utf-8'), container=container) 
     transaction.commit() 

Я думаю, что api.content.find не может найти недавно созданную папку.

Как я решил эту проблему?

[ОБНОВЛЕНИЕ - WORKS]

 if pdf_tipodoc: 
      if pdf_tipodoc == 'PROCESSO': 
       valor = splitProcesso(pdf_nprocesso) 
       # valor returns a list with two elements like ['234', '2016'] 
       container = portal[plone_site_pasta][processos] 
       # Container is: <ATFolder at /intranet/ged/processos> 
       print container.objectIds() #look what have inside! 
       if valor[1] in container.objectIds(): 
        print 'Folder already created! Commit PDF inside' 
       else: 
        container = api.content.create(type='Folder', title=valor[1], container=container) 
        transaction.commit() 

ответ

2

Не используйте api.content.find для этого: вам не нужен поиск ищет элемент с ноу ид внутри папки.

i[1] Если это каким-то образом ваш текущий год (я думаю), просто попробовать что-то вроде:

if str(i[1]) in container.objectIds(): 
    # year folder already exists 
+0

мой результат пуст, но! Я обновляю сообщение, –

+0

Я скорректировал скрипт и работает! Большой! Спасибо! –