Skip to content

Commit

Permalink
add upgrade-step
Browse files Browse the repository at this point in the history
  • Loading branch information
cekk committed Jan 10, 2024
1 parent aa1b317 commit fbd95fb
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 14 deletions.
9 changes: 8 additions & 1 deletion wildcard/media/profiles.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -88,5 +88,12 @@
sortkey="1"
profile="wildcard.media:default"
/>

<genericsetup:upgradeStep
title="Upgrade to version 3.0.0"
source="2003"
destination="3000"
handler="wildcard.media.upgrades.upgrade_to_3000"
sortkey="1"
profile="wildcard.media:default"
/>
</configure>
2 changes: 1 addition & 1 deletion wildcard/media/profiles/default/metadata.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<metadata>
<version>2003</version>
<version>3000</version>
<dependencies>
<dependency>profile-plone.app.dexterity:default</dependency>
</dependencies>
Expand Down
49 changes: 37 additions & 12 deletions wildcard/media/upgrades.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,30 @@
from Products.CMFPlone.utils import getFSVersionTuple
from wildcard.media.settings import GlobalSettings

import logging

PROFILE_ID = 'profile-wildcard.media:default'
PROFILE_ID_PLONE4 = 'profile-wildcard.media:plone4'
PROFILE_ID_PLONE5 = 'profile-wildcard.media:plone5'
PROFILE_ID = "profile-wildcard.media:default"
PROFILE_ID_PLONE4 = "profile-wildcard.media:plone4"
PROFILE_ID_PLONE5 = "profile-wildcard.media:plone5"


def upgrade_resources(context, logger=None):
setup = getToolByName(context, 'portal_setup')
setup = getToolByName(context, "portal_setup")
if getFSVersionTuple()[0] == 4:
setup.runImportStepFromProfile(PROFILE_ID_PLONE4, 'cssregistry')
setup.runImportStepFromProfile(PROFILE_ID_PLONE4, 'jsregistry')
setup.runImportStepFromProfile(PROFILE_ID_PLONE4, "cssregistry")
setup.runImportStepFromProfile(PROFILE_ID_PLONE4, "jsregistry")
else:
setup.runImportStepFromProfile(PROFILE_ID_PLONE5, 'plone.app.registry')
setup.runImportStepFromProfile(PROFILE_ID_PLONE5, "plone.app.registry")


def upgrade_types(context, logger=None):
setup = getToolByName(context, 'portal_setup')
setup.runImportStepFromProfile(PROFILE_ID, 'typeinfo')
setup = getToolByName(context, "portal_setup")
setup.runImportStepFromProfile(PROFILE_ID, "typeinfo")


def upgrade_registry(context, logger=None):
setup = getToolByName(context, 'portal_setup')
setup.runImportStepFromProfile(PROFILE_ID, 'plone.app.registry')
setup = getToolByName(context, "portal_setup")
setup.runImportStepFromProfile(PROFILE_ID, "plone.app.registry")


def upgrade_to_2(context):
Expand All @@ -33,7 +34,7 @@ def upgrade_to_2(context):


def upgrade_to_2003(context):
portal = getToolByName(context, 'portal_url').getPortalObject()
portal = getToolByName(context, "portal_url").getPortalObject()
settings = GlobalSettings(portal)
# Apply old in/outfile options to each new format specific option
old_outfileopt = settings.convert_outfile_options
Expand All @@ -47,3 +48,27 @@ def upgrade_to_2003(context):
settings.avconv_in_mp4 = old_infileopt
settings.avconv_in_ogg = old_infileopt
settings.avconv_in_webm = old_infileopt


def upgrade_to_3000(context, logger=None):
"""We need to change the name for an attribute for video objects.
youtube_url now is video_url"""

if logger is None:
# Called as upgrade step: define our own logger.
logger = logging.getLogger("wildcard.media")

logger.info("Upgrading wildcard.media to version 3000")

catalog = getToolByName(context, "portal_catalog")
brains = catalog(portal_type="WildcardVideo")
count = 0

for brain in brains:
video_obj = brain.getObject()
if getattr(video_obj, "youtube_url", ""):
video_obj.video_url = video_obj.youtube_url
video_obj.reindexObject() # reindexing
count += 1

logger.info("{} fields for WildcardVideo objects converted.".format(count))

0 comments on commit fbd95fb

Please sign in to comment.