Skip to content
This repository has been archived by the owner on Sep 28, 2020. It is now read-only.

Commit

Permalink
added initial support for pickling classes
Browse files Browse the repository at this point in the history
  • Loading branch information
Jim Fulton committed Feb 22, 1999
1 parent f03f237 commit d80e3b6
Showing 1 changed file with 48 additions and 34 deletions.
82 changes: 48 additions & 34 deletions __init__.py
Expand Up @@ -83,10 +83,10 @@
#
##############################################################################
__doc__='''Base Principia
$Id: __init__.py,v 1.18 1999/01/27 20:30:37 brian Exp $'''
__version__='$Revision: 1.18 $'[11:-2]
$Id: __init__.py,v 1.19 1999/02/22 20:51:44 jim Exp $'''
__version__='$Revision: 1.19 $'[11:-2]

import Session, Draft
import Session, Draft, ZClasses
import OFS.Image, OFS.Folder, AccessControl.User
import OFS.DTMLMethod, OFS.DTMLDocument
from ImageFile import ImageFile
Expand All @@ -99,25 +99,34 @@
klasses=('OFS.Folder.Folder', 'AccessControl.User.UserFolder')

meta_types=(
{'name': Draft.Draft.meta_type, 'action':'manage_addPrincipiaDraftForm'},
{'name': 'User Folder', 'action':'manage_addUserFolder'},
{'name': 'Session', 'action':'manage_addSessionForm'},
{'name': 'File', 'action':'manage_addFileForm'},
{'name': 'Image', 'action':'manage_addImageForm'},
{'name': 'Folder', 'action':'manage_addFolderForm'},
{'name': 'DTML Method', 'action':'manage_addDTMLMethodForm'},
{'name': 'DTML Document', 'action':'manage_addDTMLDocumentForm'},
ZClasses.meta_types+
(
{'name': Draft.Draft.meta_type,
'action':'manage_addPrincipiaDraftForm'},
{'name': 'User Folder',
'action':'manage_addUserFolder'},
{'name': 'Session',
'action':'manage_addSessionForm'},
{'name': 'File',
'action':'manage_addFileForm'},
{'name': 'Image',
'action':'manage_addImageForm'},
{'name': 'Folder',
'action':'manage_addFolderForm'},
{'name': 'DTML Method',
'action':'manage_addDTMLMethodForm'},
{'name': 'DTML Document',
'action':'manage_addDTMLDocumentForm'},
)
)


def PUT(self):
# This is here mainly as a hac^H^Hook for holding PUT permissions
raise TypeError, 'Directory PUT is not supported'

methods={
# for bw compatibility
'manage_addDocument': OFS.DTMLMethod.add,

'manage_addDocument': OFS.DTMLMethod.add,
'manage_addDTMLMethod': OFS.DTMLMethod.add,
'manage_addDTMLMethodForm': OFS.DTMLMethod.addForm,
'manage_addDTMLDocument': OFS.DTMLDocument.add,
Expand All @@ -136,30 +145,35 @@ def PUT(self):
'manage_addPrincipiaDraftForm': Draft.manage_addPrincipiaDraftForm,
'manage_addPrincipiaDraft': Draft.manage_addPrincipiaDraft,
}
methods.update(ZClasses.methods)

misc_={
'session': ImageFile('images/session.gif', globals()),
}
misc_.update(ZClasses.misc_)

__ac_permissions__=(
('Add Sessions',('manage_addSessionForm', 'manage_addSession')),
('Add Documents, Images, and Files',
('manage_addDTMLDocumentForm', 'manage_addDTMLDocument',
'manage_addDTMLMethodForm', 'manage_addDTMLMethod',
'manage_addFileForm', 'manage_addFile',
'manage_addImageForm', 'manage_addImage',
'PUT')
),
('Add Folders',('manage_addFolderForm', 'manage_addFolder')),
('Add User Folders',('manage_addUserFolder',)),
('Change DTML Documents', ()),
('Change DTML Methods', ()),
('Change Images and Files', ()),
('Change proxy roles', ()),
('Change Sessions', ()),
('Join/leave Sessions', ()),
('Save/discard Session changes', ()),
('Manage users', ()),
#('Add DraftFolders',
# ('manage_addDraftFolderForm', 'manage_addDraftFolder')),
ZClasses.__ac_permissions__+
(
('Add Sessions',('manage_addSessionForm', 'manage_addSession')),
('Add Documents, Images, and Files',
('manage_addDTMLDocumentForm', 'manage_addDTMLDocument',
'manage_addDTMLMethodForm', 'manage_addDTMLMethod',
'manage_addFileForm', 'manage_addFile',
'manage_addImageForm', 'manage_addImage',
'PUT')
),
('Add Folders',('manage_addFolderForm', 'manage_addFolder')),
('Add User Folders',('manage_addUserFolder',)),
('Change DTML Documents', ()),
('Change DTML Methods', ()),
('Change Images and Files', ()),
('Change proxy roles', ()),
('Change Sessions', ()),
('Join/leave Sessions', ()),
('Save/discard Session changes', ()),
('Manage users', ()),
#('Add DraftFolders',
# ('manage_addDraftFolderForm', 'manage_addDraftFolder')),
)
)

0 comments on commit d80e3b6

Please sign in to comment.