All pastes #247942 Raw Edit

Mine

public text v1 · immutable
#247942 ·published 2006-11-14 00:35 UTC
rendered paste body
def installParcel(parcel, version=None):

    main = schema.ns('osaf.views.main', parcel)

    dispatchHook = p2pDispatchHook.update(parcel, 'p2pDispatchHook',
                                          blockName='p2pDispatchHook')


    # Add an event for p2p subscribing to collections
    subscribeEvent = BlockEvent.update(parcel, 'SubscribeEvent',
                                       blockName='SubscribeEvent',
                                       dispatchEnum='SendToBlockByReference',
                                       destinationBlockReference=dispatchHook)
    # Add an event for managing p2p access to collections
    accessEvent = BlockEvent.update(parcel, 'AccessEvent',
                                    blockName='AccessEvent',
                                    dispatchEnum='SendToBlockByReference',
                                    destinationBlockReference=dispatchHook)

    # Add an event for p2p login
    loginEvent = BlockEvent.update(parcel, 'LoginEvent',
                                   blockName='LoginEvent',
                                   dispatchEnum='SendToBlockByReference',
                                   destinationBlockReference=dispatchHook)

    # Add a separator to the "Collection" menu ...
    MenuItem.update(parcel, 'menuSeparator',
                    blockName='menuSeparator',
                    menuItemKind='Separator',
                    parentBlock=main.CollectionMenu)

    # ... and, below it, a menu item to p2p subscribe to a collection
    MenuItem.update(parcel, "SubscribeMenuItem",
                    blockName="SubscribeMenuItem",
                    title=_m_(u"Subscribe to a peer collection"),
                    event=subscribeEvent,
                    eventsForNamedLookup=[subscribeEvent],
                    parentBlock=main.CollectionMenu)

    # ... and, below it, a menu item to manage p2p permissions to a collection
    MenuItem.update(parcel, "AccessMenuItem",
                    blockName="AccessMenuItem",
                    title=_m_(u"Manage peer access to a collection"),
                    event=accessEvent,
                    eventsForNamedLookup=[accessEvent],
                    parentBlock=main.CollectionMenu)

    # Add a menu item to the File menu to login to a peer network
    MenuItem.update(parcel, "LoginMenuItem",
                    blockName="LoginMenuItem",
                    title=_m_(u"Login to a peer network"),
                    event=loginEvent,
                    eventsForNamedLookup=[loginEvent],
                    parentBlock=main.FileMenu)

    PeriodicTask.update(parcel, "loginTask",
                        invoke="p2p.LoginTask",
                        interval=timedelta(days=1),
                        run_at_startup=True)

    AllGroup.update(parcel, "all", name="All")