Пример #1
0
def activate(context):
    """Change the context to a local site.
    """
    if not ISite.providedBy(context):
        create_new_sm(context)
    sm = context.getSiteManager()
    if IFiveSiteManager is not None and IFiveSiteManager.providedBy(sm):
        clean_old_five_sm(context, create=True)
    setup_intid(context)
Пример #2
0
def disable(context, interface):
    """Remove a registered utility.
    """
    sm = context.getSiteManager()
    utility = sm.queryUtility(interface)
    if IFiveSiteManager is not None and IFiveSiteManager.providedBy(sm):
        parent = utility.aq_parent
        name = interface.__name__
        parent.manage_delObjects([name])
    else:
        sm.unregisterUtility(utility, interface)
    def upgrade(self, root):
        # If it's a Five site manager disable it first. The annoying
        # part might be that the code might already have been removed
        # from Zope ...
        setattr(root, '__initialization__', True)
        if ISite.providedBy(root):
            sm = root.getSiteManager()
            if ((IFiveSiteManager is not None and
                 IFiveSiteManager.providedBy(sm)) or
                isinstance(sm, ZODB.broken.Broken)):
                setSite(None)
                setHooks()
                unregisterBeforeTraverse(aq_base(root), '__local_site_hook__')
                if hasattr(aq_base(root), '__local_site_hook__'):
                    delattr(aq_base(root), '__local_site_hook__')
                zope.interface.noLongerProvides(root, ISite)
                root.setSiteManager(None)
            else:
                # Cleanup broken utilities
                for registration in list(sm.registeredUtilities()):
                    if isinstance(registration.component, ZODB.broken.Broken):
                        sm.unregisterUtility(
                            registration.component,
                            registration.provided)

        # Activate local site, add an intid service.
        ism = interfaces.ISiteManager(root)
        if not ism.is_site():
            ism.make_site()
        setSite(root)
        setHooks()

        # Delete unused Silva Document service
        for s in ['service_doc_previewer',
                  'service_nlist_previewer',
                  'service_sub_previewer',]:
            if hasattr(root, s):
                root.manage_delObjects([s,])

        # Update service_files settings
        service_files = root.service_files
        if hasattr(aq_base(service_files), '_filesystem_storage_enabled'):
            service_files.storage = BlobFile
            delattr(service_files , '_filesystem_storage_enabled')
        elif service_files.storage is not BlobFile:
            # For the upgrade
            service_files.storage = BlobFile

        # Disable quota verification (but not accounting if this
        # enabled) during the migration, so the file migration can
        # safely happens.
        root.service_extensions._quota_verify = False
        return root
Пример #4
0
 def isOldSite(self):
     from Products.Five.site.interfaces import IFiveSiteManager
     return self.isSite() and IFiveSiteManager.providedBy(getSiteManager())
Пример #5
0
 def isOldSite(self):
     from Products.Five.site.interfaces import IFiveSiteManager
     return self.isSite() and IFiveSiteManager.providedBy(getSiteManager())