Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Z
Zope
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
Zope
Commits
c0ed09ae
Commit
c0ed09ae
authored
Jun 22, 2006
by
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- removed deprecated support for '__ac_permissions__' and 'meta_types'
parent
46a537db
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
38 deletions
+19
-38
doc/CHANGES.txt
doc/CHANGES.txt
+3
-0
lib/python/OFS/Application.py
lib/python/OFS/Application.py
+16
-38
No files found.
doc/CHANGES.txt
View file @
c0ed09ae
...
...
@@ -18,6 +18,9 @@ Zope Changes
Restructuring
- Removed deprecated support for product initialization based on
'__ac_permissions__' and 'meta_types' attributes.
- removed zLOG module which was deprecated since Zope 2.9
Features added
...
...
lib/python/OFS/Application.py
View file @
c0ed09ae
...
...
@@ -778,57 +778,35 @@ def install_product(app, product_dir, product_name, meta_types,
product
,
product_name
,
package_dir
,
app
)
context
=
ProductContext
(
productObject
,
app
,
product
)
# Look for an 'initialize' method in the product. If it does
# not exist, then this is an old product that has never been
# updated. In that case, we will analyze the product and
# build up enough information to do initialization manually.
# Look for an 'initialize' method in the product.
initmethod
=
pgetattr
(
product
,
'initialize'
,
None
)
if
initmethod
is
not
None
:
initmethod
(
context
)
# Support old-style product metadata. Older products may
# define attributes to name their permissions, meta_types,
# constructors, etc.
permissions
=
{}
new_permissions
=
{}
if
pgetattr
(
product
,
'__ac_permissions__'
,
None
)
is
not
None
:
warn
(
'__init__.py of %s has a long deprecated '
'
\
'
__ac_permissions__
\
'
attribute. '
'
\
'
__ac_permissions__
\
'
will be ignored by '
'install_product in Zope 2.10. Please use registerClass '
'instead.'
%
product
.
__name__
,
warn
(
"__init__.py of %s has a long deprecated "
"'__ac_permissions__' attribute. '__ac_permissions__' "
"is now ignored by install_product. Please use "
"registerClass instead."
%
product
.
__name__
,
DeprecationWarning
)
for
p
in
pgetattr
(
product
,
'__ac_permissions__'
,
()):
permission
,
names
,
default
=
(
tuple
(
p
)
+
(
'Manager'
,))[:
3
]
if
names
:
for
name
in
names
:
permissions
[
name
]
=
permission
elif
not
folder_permissions
.
has_key
(
permission
):
new_permissions
[
permission
]
=
()
if
pgetattr
(
product
,
'meta_types'
,
None
)
is
not
None
:
warn
(
'__init__.py of %s has a long deprecated
\
'
meta_types
\
'
'
'attribute.
\
'
meta_types
\
'
will be ignored by '
'install_product in Zope 2.10. Please use registerClass '
'instead.'
%
product
.
__name__
,
warn
(
"__init__.py of %s has a long deprecated 'meta_types' "
"attribute. 'meta_types' is now ignored by "
"install_product. Please use registerClass instead."
%
product
.
__name__
,
DeprecationWarning
)
for
meta_type
in
pgetattr
(
product
,
'meta_types'
,
()):
# Modern product initialization via a ProductContext
# adds 'product' and 'permission' keys to the meta_type
# mapping. We have to add these here for old products.
pname
=
permissions
.
get
(
meta_type
[
'action'
],
None
)
if
pname
is
not
None
:
meta_type
[
'permission'
]
=
pname
meta_type
[
'product'
]
=
productObject
.
id
meta_type
[
'visibility'
]
=
'Global'
meta_types
.
append
(
meta_type
)
if
pgetattr
(
product
,
'methods'
,
None
)
is
not
None
:
warn
(
'__init__.py of %s has a long deprecated
\
'
methods
\
'
'
'attribute.
\
'
methods
\
'
will be ignored by '
'install_product in Zope 2.10. Please use registerClass '
'instead.'
%
product
.
__name__
,
warn
(
"__init__.py of %s has a long deprecated 'methods' "
"attribute. 'methods' support might be removed in Zope "
"2.11 or a later feature release. Please use the "
"'legacy' argument of registerClass instead if the "
"methods are constructors. Or refactor the product "
"using adapters."
%
product
.
__name__
,
DeprecationWarning
)
for
name
,
method
in
pgetattr
(
product
,
'methods'
,
{}).
items
():
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment