# COREBlog image to ATimage

# Images Folder name
IMAGES = 'images'
# Backup Images Folder name
BACKUP = 'backup'

if context.portal_type != 'COREBlog2':
    print "not COREBlog2"
    return printed

# find IMAGES folder
if hasattr(context, IMAGES):
    images = context[IMAGES]
else:
    print "COREBlog2 is not have images folder"
    return printed

# create BACKUP Images folder
if not hasattr(images, BACKUP):
    # create backup folder
    images.invokeFactory(id=BACKUP, type_name='Folder')
backup = images[BACKUP]

print "<pre>"
print "-------- Image to ATImage --------"
for image in images.objectValues(['Image']):
    old_id = image.getId()
    print old_id

    # create new image id
    new_id = old_id
    if new_id[-5:].find(".") == -1:
        suffix = image.content_type
        suffix = suffix[suffix.find("/")+1:]
        if suffix == "jpeg":
            suffix = "jpg"
        new_id = new_id + "." + suffix

    # move original image to backup folder
    cp = images.manage_cutObjects(ids=old_id)
    backup.manage_pasteObjects(cb_copy_data=cp)
    print 'original image was moved to <a href="%s/manage_main">backup folder.</a>' % (image.absolute_url().replace(IMAGES, IMAGES + "/" + BACKUP))

    # create ATImage in NEW Images folder
    images.invokeFactory(id=new_id, type_name='Image')
    new_image = images[new_id]
    new_image.setImage(image.data)

    # set title
    if image.hasProperty("entrytitle"):
        new_image.setTitle(image.getProperty("entrytitle"))
    else:
        new_image.setTitle(image.title_or_id())

    new_image.indexObject()
    print 'ATImage <a href="%s/view">%s</a> was created.)' % (new_image.absolute_url(), new_image.id)

    # create reference to entry
    if image.hasProperty("entryid"):
        entry = context[image.getProperty("entryid")]

        # add image reference
        entry.addReference(new_image, 'relatesTo')

        # set position, image size
        entry.setMedia_position(3)
        entry.setMedia_size('mini')
        print 'add reference to COREBlog2 entry <a href="%s">%s</a>' % (entry.absolute_url(), entry.id)

    print ""

print "</pre>"

return printed

