[Erp5-report] r12748 - in /spec/debian/erp5-cmftopic: ./ CMFTopic/ CMFTopic/Extensions/ CMF...
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Feb 15 17:48:35 CET 2007
Author: yusei
Date: Thu Feb 15 17:48:31 2007
New Revision: 12748
URL: http://svn.erp5.org?rev=12748&view=rev
Log:
commit debian(unstable) packages.
Added:
spec/debian/erp5-cmftopic/
spec/debian/erp5-cmftopic/CMFTopic/
spec/debian/erp5-cmftopic/CMFTopic/AbstractCriterion.py
spec/debian/erp5-cmftopic/CMFTopic/DEPENDENCIES.txt
spec/debian/erp5-cmftopic/CMFTopic/DateCriteria.py
spec/debian/erp5-cmftopic/CMFTopic/Extensions/
spec/debian/erp5-cmftopic/CMFTopic/ListCriterion.py
spec/debian/erp5-cmftopic/CMFTopic/README.txt
spec/debian/erp5-cmftopic/CMFTopic/SimpleIntCriterion.py
spec/debian/erp5-cmftopic/CMFTopic/SimpleStringCriterion.py
spec/debian/erp5-cmftopic/CMFTopic/SortCriterion.py
spec/debian/erp5-cmftopic/CMFTopic/Topic.py
spec/debian/erp5-cmftopic/CMFTopic/TopicPermissions.py
spec/debian/erp5-cmftopic/CMFTopic/__init__.py
spec/debian/erp5-cmftopic/CMFTopic/configure.zcml
spec/debian/erp5-cmftopic/CMFTopic/debian/
spec/debian/erp5-cmftopic/CMFTopic/help/
spec/debian/erp5-cmftopic/CMFTopic/interfaces/
spec/debian/erp5-cmftopic/CMFTopic/permissions.py
spec/debian/erp5-cmftopic/CMFTopic/skins/
spec/debian/erp5-cmftopic/CMFTopic/tests/
spec/debian/erp5-cmftopic/CMFTopic/version.txt
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.diff.gz (with props)
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.dsc
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_all.deb (with props)
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.build
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.changes
spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4.orig.tar.gz (with props)
Added: spec/debian/erp5-cmftopic/CMFTopic/AbstractCriterion.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/AbstractCriterion.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/AbstractCriterion.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/AbstractCriterion.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,85 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Home of the abstract Criterion base class.
+
+$Id: AbstractCriterion.py 36457 2004-08-12 15:07:44Z jens $
+"""
+from Acquisition import Implicit
+from AccessControl import ClassSecurityInfo
+from Persistence import Persistent
+from Globals import InitializeClass
+from OFS.SimpleItem import Item
+
+from permissions import AccessContentsInformation
+from permissions import ChangeTopics
+
+
+class AbstractCriterion( Persistent, Item, Implicit ):
+ """
+ Abstract base class for Criterion objects.
+ """
+
+ security = ClassSecurityInfo()
+
+ security.declareProtected(ChangeTopics, 'apply')
+ def apply( self, command ):
+ """
+ Apply 'command', which is expected to be a dictionary,
+ to 'self.edit' (makes using Python Scripts easier).
+ """
+ self.edit(**command)
+
+ security.declareProtected( ChangeTopics, 'editableAttributes' )
+ def editableAttributes( self ):
+ """
+ Return a list of editable attributes, used by topics
+ to build commands to send to the 'edit' command of each
+ criterion, which may vary.
+
+ Requires concrete subclasses to implement the attribute
+ '_editableAttributes' which is a tuple of attributes
+ that can be edited, for example:
+
+ _editableAttributes = ( 'value', 'direction' )
+ """
+ return self._editableAttributes
+
+ security.declareProtected( AccessContentsInformation, 'Type' )
+ def Type( self ):
+ """
+ Return the Type of Criterion this object is. This
+ method can be overriden in subclasses, or those
+ concrete subclasses must define the 'meta_type'
+ attribute.
+ """
+ return self.meta_type
+
+ security.declareProtected( AccessContentsInformation, 'Field' )
+ def Field( self ):
+ """
+ Return the field that this criterion searches on. The
+ concrete subclasses can override this method, or have
+ the 'field' attribute.
+ """
+ return self.field
+
+ security.declareProtected( AccessContentsInformation, 'Description' )
+ def Description( self ):
+ """
+ Return a brief but helpful description of the Criterion type,
+ preferably based on the classes __doc__ string.
+ """
+ lines = [ line.strip() for line in self.__doc__.splitlines() ]
+ return ' '.join( [ line for line in lines if line ] )
+
+InitializeClass( AbstractCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/DEPENDENCIES.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/DEPENDENCIES.txt?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/DEPENDENCIES.txt (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/DEPENDENCIES.txt Thu Feb 15 17:48:31 2007
@@ -1,0 +1,2 @@
+Zope >= 2.7.0
+CMFCore
Added: spec/debian/erp5-cmftopic/CMFTopic/DateCriteria.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/DateCriteria.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/DateCriteria.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/DateCriteria.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,171 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Various date criteria
+
+$Id: DateCriteria.py 37996 2005-08-18 22:05:03Z jens $
+"""
+
+from AccessControl import ClassSecurityInfo
+from DateTime.DateTime import DateTime
+from Globals import InitializeClass
+
+from permissions import View
+from permissions import ChangeTopics
+from AbstractCriterion import AbstractCriterion
+from interfaces import Criterion
+from Topic import Topic
+
+
+class FriendlyDateCriterion( AbstractCriterion ):
+ """
+ Put a friendly interface on date range searches, like
+ 'where effective date is less than 5 days old'.
+ """
+ __implements__ = ( Criterion, )
+
+ meta_type = 'Friendly Date Criterion'
+
+ security = ClassSecurityInfo()
+
+ _editableAttributes = ( 'value', 'operation', 'daterange' )
+
+ _defaultDateOptions = ( ( 0, 'Now' )
+ , ( 1, '1 Day' )
+ , ( 2, '2 Days' )
+ , ( 5, '5 Days' )
+ , ( 7, '1 Week' )
+ , ( 14, '2 Weeks' )
+ , ( 31, '1 Month' )
+ , ( 31*3, '3 Months' )
+ , ( 31*6, '6 Months' )
+ , ( 365, '1 Year' )
+ , ( 365*2, '2 years' )
+ )
+
+ def __init__( self, id, field ):
+
+ self.id = id
+ self.field = field
+ self.value = None
+ self.operation = 'min'
+ self.daterange = 'old'
+
+ security.declarePublic( 'defaultDateOptions' )
+ def defaultDateOptions( self ):
+ """
+ Return a list of default values and labels for date options.
+ """
+ return self._defaultDateOptions
+
+ security.declareProtected( ChangeTopics, 'getEditForm' )
+ def getEditForm( self ):
+ """
+ Return the name of the skin method used by Topic to edit
+ criteria of this type.
+ """
+ return 'friendlydatec_editform'
+
+ security.declareProtected( ChangeTopics, 'edit' )
+ def edit( self
+ , value=None
+ , operation='min'
+ , daterange='old'
+ ):
+ """
+ Update the values to match against.
+ """
+ if value in ( None, '' ):
+ self.value = None
+ else:
+ try:
+ self.value = int( value )
+ except:
+ raise ValueError, 'Supplied value should be an int'
+
+ if operation in ( 'min', 'max', 'within_day' ):
+ self.operation = operation
+ else:
+ raise ValueError, 'Operation type not in set {min,max,within_day}'
+
+ if daterange in ( 'old', 'ahead' ):
+ self.daterange = daterange
+ else:
+ raise ValueError, 'Date range not in set {old,ahead}'
+
+ security.declareProtected(View, 'getCriteriaItems')
+ def getCriteriaItems( self ):
+ """
+ Return a sequence of items to be used to build the catalog query.
+ """
+ if self.value is not None:
+ field = self.Field()
+ value = self.value
+ operation = self.operation
+
+ # Negate the value for 'old' days
+ if self.daterange == 'old' and value != 0:
+ value = -value
+
+ # Also reverse the operator to match what a user would expect.
+ # Queries such as "More than 2 days ago" should match dates
+ # *earlier* than "today minus 2", and "Less than 2 days ago"
+ # would be expected to return dates *later* then "today minus
+ # two".
+ if operation == 'max':
+ operation = 'min'
+ elif operation == 'min':
+ operation = 'max'
+
+ date = DateTime() + value
+
+ if operation == 'within_day':
+ # When items within a day are requested, the range is between
+ # the earliest and latest time of that particular day
+ range = ( date.earliestTime(), date.latestTime() )
+ return ( ( field, {'query': range, 'range': 'min:max'} ), )
+
+ elif operation == 'min':
+ if value != 0:
+ if self.daterange == 'old':
+ date_range = (date, DateTime())
+ return ( ( field, { 'query': date_range
+ , 'range': 'min:max'
+ } ), )
+ else:
+ return ( ( field, { 'query': date.earliestTime()
+ , 'range': operation
+ } ), )
+ else:
+ # Value 0 means "Now", so get everything from now on
+ return ( ( field, {'query': date,'range': operation } ), )
+
+ elif operation == 'max':
+ if value != 0:
+ if self.daterange == 'old':
+ return ((field, {'query': date, 'range': operation}),)
+ else:
+ date_range = (DateTime(), date.latestTime())
+ return ( ( field, { 'query': date_range
+ , 'range': 'min:max'
+ } ), )
+ else:
+ # Value is 0, meaning "Now", get everything before "Now"
+ return ( ( field, {'query': date, 'range': operation} ), )
+ else:
+ return ()
+
+InitializeClass(FriendlyDateCriterion)
+
+
+# Register as a criteria type with the Topic class
+Topic._criteriaTypes.append( FriendlyDateCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/ListCriterion.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/ListCriterion.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/ListCriterion.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/ListCriterion.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,105 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" List Criterion: A criterion that is a list
+
+$Id: ListCriterion.py 36457 2004-08-12 15:07:44Z jens $
+"""
+from Globals import InitializeClass
+from AccessControl import ClassSecurityInfo
+
+
+from permissions import View
+from permissions import ChangeTopics
+from AbstractCriterion import AbstractCriterion
+from interfaces import Criterion
+from Topic import Topic
+
+
+class ListCriterion( AbstractCriterion ):
+ """
+ Represent a criterion which is a list of values (for an
+ 'OR' search).
+ """
+ __implements__ = ( Criterion, )
+
+ meta_type = 'List Criterion'
+ operator = None
+ value = ( '', )
+
+ security = ClassSecurityInfo()
+
+ _editableAttributes = ( 'value', 'operator' )
+
+ def __init__( self, id, field ):
+ self.id = id
+ self.field = field
+ self._clear()
+
+ security.declarePrivate( '_clear' )
+ def _clear( self ):
+ """
+ Restore to original value.
+ """
+ self.value = ( '', ) # *Not* '()', which won't do at all!
+ self.operator = None
+
+ security.declareProtected( ChangeTopics, 'getEditForm' )
+ def getEditForm( self ):
+ """
+ Return the name of skin method which renders the form
+ used to edit this kind of criterion.
+ """
+ return "listc_edit"
+
+ security.declareProtected( ChangeTopics, 'edit' )
+ def edit( self, value=None, operator=None ):
+ """
+ Update the value we match against.
+ """
+ if value is None:
+ self._clear()
+ else:
+ if type( value ) == type( '' ):
+ value = value.split('\n')
+ self.value = tuple( value )
+
+ if not operator:
+ operator = None
+
+ self.operator = operator
+
+ security.declareProtected(View, 'getCriteriaItems')
+ def getCriteriaItems( self ):
+ """
+ Return a tuple of query elements to be passed to the catalog
+ (used by 'Topic.buildQuery()').
+ """
+ # filter out empty strings
+ result = []
+
+ value = tuple( filter( None, self.value ) )
+ if not value:
+ return ()
+ result.append( ( self.field, self.value ), )
+
+ if self.operator is not None:
+ result.append( ( '%s_operator' % self.field, self.operator ) )
+
+ return tuple( result )
+
+
+
+InitializeClass( ListCriterion )
+
+# Register as a criteria type with the Topic class
+Topic._criteriaTypes.append( ListCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/README.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/README.txt?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/README.txt (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/README.txt Thu Feb 15 17:48:31 2007
@@ -1,0 +1,21 @@
+Updating CMF Topic in a CMF Site
+
+ Since default settings may change from time to time in CMF Topic,
+ you may need to update your Topic types tool (and other) settings.
+ This is done similarly to installing by adding an External Method
+ to your CMF Site instance with the following configuration::
+
+ **id** -- 'update_topic'
+ **title** -- *Update Topic*
+ **module name** -- 'CMFTopic.Update'
+ **function name** -- 'update'
+
+ Go to the management screen for the newly added external method and
+ click the 'Try it' tab. The update function will execute and give
+ information about the steps it took to register and update CMF Topic
+ site information.
+
+ *Note: This update script should **only** change values that are
+ still at their default, such as changing an action from 'topic_edit'
+ to 'topic_edit_form'. If you changed that action to 'mytopic_edit',
+ the script should pass that by and not change your settings.*
Added: spec/debian/erp5-cmftopic/CMFTopic/SimpleIntCriterion.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/SimpleIntCriterion.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/SimpleIntCriterion.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/SimpleIntCriterion.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,128 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Simple int-matching criterion
+
+$Id: SimpleIntCriterion.py 36457 2004-08-12 15:07:44Z jens $
+"""
+
+from AccessControl import ClassSecurityInfo
+from Globals import InitializeClass
+
+from permissions import View
+from permissions import ChangeTopics
+from AbstractCriterion import AbstractCriterion
+from interfaces import Criterion
+from Topic import Topic
+
+
+class SimpleIntCriterion( AbstractCriterion ):
+ """
+ Represent a simple field-match for an integer value, including
+ catalog range searches.
+ """
+ __implements__ = ( Criterion, )
+
+ meta_type = 'Integer Criterion'
+
+ security = ClassSecurityInfo()
+ _editableAttributes = ( 'value', 'direction' )
+
+ MINIMUM = 'min'
+ MAXIMUM = 'max'
+ MINMAX = 'min:max'
+
+ def __init__(self, id, field):
+ self.id = id
+ self.field = field
+ self.value = self.direction = None
+
+ security.declareProtected( ChangeTopics, 'getEditForm' )
+ def getEditForm( self ):
+ """
+ Return the name of skin method which renders the form
+ used to edit this kind of criterion.
+ """
+ return 'sic_edit'
+
+ security.declareProtected( ChangeTopics, 'getValueString' )
+ def getValueString( self ):
+ """
+ Return a string representation of the value for which this
+ criterion filters.
+ """
+ if self.value is None:
+ return ''
+
+ if self.direction == self.MINMAX:
+
+ value = self.value
+
+ if type( value ) is not type( () ):
+ value = ( value, value )
+
+ return '%s %s' % value
+
+ return str( self.value )
+
+ security.declareProtected( ChangeTopics, 'edit' )
+ def edit( self, value, direction=None ):
+ """
+ Update the value to be filtered, and the "direction" qualifier.
+ """
+
+ if type( value ) == type( '' ):
+ value = value.strip()
+
+ if not value:
+ # An empty string was passed in, which evals to None
+ self.value = self.direction = None
+
+ elif direction:
+
+ if direction == self.MINMAX:
+
+ if type( value ) == type( '' ):
+ minimum, maximum = value.split(' ')
+ else:
+ minimum, maximum = value
+
+ self.value = ( int( minimum ), int( maximum ) )
+
+ else:
+ self.value = int( value )
+
+ self.direction = direction
+
+ else:
+ self.value = int( value )
+ self.direction = None
+
+ security.declareProtected(View, 'getCriteriaItems')
+ def getCriteriaItems( self ):
+ """
+ Return a tuple of query elements to be passed to the catalog
+ (used by 'Topic.buildQuery()').
+ """
+ if self.value is None:
+ return ()
+ elif self.direction is None:
+ return ( ( self.Field(), self.value ), )
+ else:
+ return ( ( self.Field(), {'query': self.value,
+ 'range': self.direction} ), )
+
+InitializeClass( SimpleIntCriterion )
+
+
+# Register as a criteria type with the Topic class
+Topic._criteriaTypes.append( SimpleIntCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/SimpleStringCriterion.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/SimpleStringCriterion.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/SimpleStringCriterion.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/SimpleStringCriterion.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,73 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Simple string-matching criterion class
+
+$Id: SimpleStringCriterion.py 36457 2004-08-12 15:07:44Z jens $
+"""
+from Globals import InitializeClass
+from AccessControl import ClassSecurityInfo
+
+from permissions import View
+from permissions import ChangeTopics
+from AbstractCriterion import AbstractCriterion
+from Topic import Topic
+from interfaces import Criterion
+
+class SimpleStringCriterion( AbstractCriterion ):
+ """
+ Represent a simple field-match for a string value.
+ """
+ __implements__ = ( Criterion, )
+
+ meta_type = 'String Criterion'
+
+ security = ClassSecurityInfo()
+
+ _editableAttributes = ( 'value', )
+
+ def __init__(self, id, field):
+ self.id = id
+ self.field = field
+ self.value = ''
+
+ security.declareProtected( ChangeTopics, 'getEditForm' )
+ def getEditForm( self ):
+ """
+ Return the skinned name of the edit form.
+ """
+ return 'ssc_edit'
+
+ security.declareProtected( ChangeTopics, 'edit' )
+ def edit( self, value ):
+ """
+ Update the value we are to match up against.
+ """
+ self.value = str( value )
+
+ security.declareProtected(View, 'getCriteriaItems')
+ def getCriteriaItems( self ):
+ """
+ Return a sequence of criteria items, used by Topic.buildQuery.
+ """
+ result = []
+
+ if self.value is not '':
+ result.append( ( self.field, self.value ) )
+
+ return tuple( result )
+
+
+InitializeClass( SimpleStringCriterion )
+
+# Register as a criteria type with the Topic class
+Topic._criteriaTypes.append( SimpleStringCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/SortCriterion.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/SortCriterion.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/SortCriterion.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/SortCriterion.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,84 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Allow topic to specify sorting.
+
+$Id: SortCriterion.py 36910 2005-04-07 16:37:47Z yuppie $
+"""
+from Globals import InitializeClass
+from AccessControl import ClassSecurityInfo
+
+from permissions import View
+from permissions import ChangeTopics
+from AbstractCriterion import AbstractCriterion
+from Topic import Topic
+from interfaces import Criterion
+
+class SortCriterion( AbstractCriterion ):
+ """
+ Represent a mock criterion, to allow spelling the sort order
+ and reversal items in a catalog query.
+ """
+ __implements__ = ( Criterion, )
+
+ meta_type = 'Sort Criterion'
+
+ security = ClassSecurityInfo()
+
+ field = None # Don't prevent use of field in other criteria
+
+ _editableAttributes = ( 'reversed', )
+
+ def __init__( self, id, index ):
+ self.id = id
+ self.index = index
+ self.reversed = 0
+
+ # inherit permissions
+ def Field( self ):
+ """
+ Map the stock Criterion interface.
+ """
+ return self.index
+
+ security.declareProtected( ChangeTopics, 'getEditForm' )
+ def getEditForm( self ):
+ """
+ Return the name of skin method which renders the form
+ used to edit this kind of criterion.
+ """
+ return 'sort_edit'
+
+ security.declareProtected( ChangeTopics, 'edit' )
+ def edit( self, reversed ):
+ """
+ Update the value we are to match up against.
+ """
+ self.reversed = bool(reversed)
+
+ security.declareProtected(View, 'getCriteriaItems')
+ def getCriteriaItems( self ):
+ """
+ Return a tuple of query elements to be passed to the catalog
+ (used by 'Topic.buildQuery()').
+ """
+ result = [ ( 'sort_on', self.index ) ]
+
+ if self.reversed:
+ result.append( ( 'sort_order', 'reverse' ) )
+
+ return tuple( result )
+
+InitializeClass( SortCriterion )
+
+# Register as a criteria type with the Topic class
+Topic._criteriaTypes.append( SortCriterion )
Added: spec/debian/erp5-cmftopic/CMFTopic/Topic.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/Topic.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/Topic.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/Topic.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,315 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Topic: Canned catalog queries
+
+$Id: Topic.py 38001 2005-08-18 23:37:25Z jens $
+"""
+
+from AccessControl import ClassSecurityInfo
+from Acquisition import aq_parent, aq_inner, aq_base
+from Globals import InitializeClass
+
+from Products.CMFDefault.SkinnedFolder import SkinnedFolder
+from Products.CMFCore.utils import _getViewFor
+from Products.CMFCore.utils import getToolByName
+
+from permissions import ListFolderContents
+from permissions import View
+from permissions import AddTopics
+from permissions import ChangeTopics
+
+
+# Factory type information -- makes Topic objects play nicely
+# with the Types Tool (portal_types )
+factory_type_information = (
+ { 'id' : 'Topic'
+ , 'icon' : 'topic_icon.gif'
+ , 'meta_type' : 'Portal Topic'
+ , 'description' : 'Topics are canned queries for organizing content '
+ 'with up to date queries into the catalog.'
+ , 'product' : 'CMFTopic'
+ , 'factory' : 'addTopic'
+ , 'immediate_view' : 'topic_edit_form'
+ , 'allowed_content_types': ('Topic',)
+ , 'aliases' : {'(Default)': 'topic_view',
+ 'view': 'topic_view'}
+ , 'actions' : ( { 'id' : 'view'
+ , 'name' : 'View'
+ , 'action': 'string:${object_url}/topic_view'
+ , 'permissions' : (View,)
+ }
+ , { 'id' : 'edit'
+ , 'name' : 'Edit'
+ , 'action': 'string:${object_url}/topic_edit_form'
+ , 'permissions' : (ChangeTopics,)
+ }
+ , { 'id' : 'criteria'
+ , 'name' : 'Criteria'
+ , 'action': 'string:${object_url}/topic_criteria_form'
+ , 'permissions' : (ChangeTopics,)
+ }
+ , { 'id' : 'folderContents'
+ , 'name' : 'Subtopics'
+ , 'action': 'string:${object_url}/folder_contents'
+ , 'permissions' : (ListFolderContents,)
+ }
+ , { 'id' : 'new'
+ , 'name' : 'New...'
+ , 'action': 'string:${object_url}/folder_factories'
+ , 'permissions' : (AddTopics,)
+ , 'visible' : 0
+ }
+ , { 'id' : 'rename_items'
+ , 'name' : 'Rename items'
+ , 'action': 'string:${object_url}/folder_rename_form'
+ , 'permissions' : (AddTopics,)
+ , 'visible' : 0
+ }
+ )
+ }
+,
+)
+
+def addTopic( self, id, title='', REQUEST=None ):
+
+ """ Create an empty topic.
+ """
+ topic = Topic( id )
+ topic.id = id
+ topic.title = title
+ self._setObject( id, topic )
+
+ if REQUEST is not None:
+ REQUEST['RESPONSE'].redirect( 'manage_main' )
+
+
+class Topic( SkinnedFolder ):
+
+ """ Topics are 'canned queries'
+
+ o Each topic holds a set of zero or more Criteria objects specifying
+ the query.
+ """
+
+ meta_type='Portal Topic'
+
+ security = ClassSecurityInfo()
+ security.declareObjectProtected(View)
+
+ acquireCriteria = 1
+ _criteriaTypes = []
+
+ def __call__( self ):
+ """ Invoke the default action.
+ """
+ ti = self.getTypeInfo()
+ method_id = ti and ti.queryMethodID('(Default)', context=self)
+ if method_id:
+ method = getattr(self, method_id)
+ else:
+ method = _getViewFor(self)
+
+ if getattr(aq_base(method), 'isDocTemp', 0):
+ return method(self, self.REQUEST, self.REQUEST['RESPONSE'])
+ else:
+ return method()
+
+ index_html = None # This special value informs ZPublisher to use __call__
+
+ security.declareProtected(View, 'view')
+ def view( self ):
+
+ """ Return the default view even if index_html is overridden.
+ """
+ return self()
+
+ security.declareProtected(ChangeTopics, 'listCriteria')
+ def listCriteria( self ):
+
+ """ Return a list of our criteria objects.
+ """
+ return self.objectValues( self._criteria_metatype_ids() )
+
+
+ security.declareProtected(ChangeTopics, 'listCriteriaTypes')
+ def listCriteriaTypes( self ):
+
+ """ List the available criteria types.
+ """
+ out = []
+
+ for ct in self._criteriaTypes:
+ out.append( { 'name': ct.meta_type } )
+
+ return out
+
+ security.declareProtected(ChangeTopics, 'listAvailableFields')
+ def listAvailableFields( self ):
+
+ """ Return a list of available fields for new criteria.
+ """
+ portal_catalog = getToolByName( self, 'portal_catalog' )
+ currentfields = map( lambda x: x.Field(), self.listCriteria() )
+ availfields = filter(
+ lambda field, cf=currentfields: field not in cf,
+ portal_catalog.indexes()
+ )
+ return availfields
+
+ security.declareProtected(ChangeTopics, 'listSubtopics')
+ def listSubtopics( self ):
+
+ """ Return a list of our subtopics.
+ """
+ return self.objectValues( self.meta_type )
+
+ security.declareProtected(ChangeTopics, 'edit')
+ def edit( self, acquireCriteria, title=None, description=None ):
+
+ """ Set the flag which indicates whether to acquire criteria.
+
+ o If set, reuse creiteria from parent topics;
+
+ o Also update metadata about the Topic.
+ """
+ self.acquireCriteria = acquireCriteria
+ if title is not None:
+ self.title = title
+ self.description = description
+
+ self.reindexObject()
+
+ security.declareProtected(View, 'buildQuery')
+ def buildQuery( self ):
+
+ """ Construct a catalog query using our criterion objects.
+ """
+ result = {}
+
+ if self.acquireCriteria:
+
+ try:
+ # Tracker 290 asks to allow combinations, like this:
+ # parent = aq_parent( self )
+ parent = aq_parent( aq_inner( self ) )
+ result.update( parent.buildQuery() )
+
+ except: # oh well, can't find parent, or it isn't a Topic.
+ pass
+
+ for criterion in self.listCriteria():
+
+ for key, value in criterion.getCriteriaItems():
+ result[ key ] = value
+
+ return result
+
+ security.declareProtected(View, 'queryCatalog')
+ def queryCatalog( self, REQUEST=None, **kw ):
+
+ """ Invoke the catalog using our criteria.
+
+ o Built-in criteria update any criteria passed in 'kw'.
+ """
+ kw.update( self.buildQuery() )
+ portal_catalog = getToolByName( self, 'portal_catalog' )
+ return portal_catalog.searchResults(REQUEST, **kw)
+
+ security.declareProtected(View, 'synContentValues')
+ def synContentValues( self ):
+
+ """ Return a limited subset of the brains for our query.
+
+ o Return no more brain objects than the limit set by the
+ syndication tool.
+ """
+ syn_tool = getToolByName( self, 'portal_syndication' )
+ limit = syn_tool.getMaxItems( self )
+ brains = self.queryCatalog( sort_limit=limit )[ :limit ]
+ return [ brain.getObject() for brain in brains ]
+
+ ### Criteria adding/editing/deleting
+ security.declareProtected(ChangeTopics, 'addCriterion')
+ def addCriterion( self, field, criterion_type ):
+
+ """ Add a new search criterion.
+ """
+ crit = None
+ newid = 'crit__%s' % field
+
+ for ct in self._criteriaTypes:
+
+ if criterion_type == ct.meta_type:
+ crit = ct( newid, field )
+
+ if crit is None:
+ # No criteria type matched passed in value
+ raise NameError, 'Unknown Criterion Type: %s' % criterion_type
+
+ self._setObject( newid, crit )
+
+ security.declareProtected(ChangeTopics, 'deleteCriterion')
+ def deleteCriterion( self, criterion_id ):
+
+ """ Delete selected criterion.
+ """
+ if type( criterion_id ) is type( '' ):
+ self._delObject( criterion_id )
+ elif type( criterion_id ) in ( type( () ), type( [] ) ):
+ for cid in criterion_id:
+ self._delObject( cid )
+
+ security.declareProtected(View, 'getCriterion')
+ def getCriterion( self, criterion_id ):
+
+ """ Get the criterion object.
+ """
+ try:
+ return self._getOb( 'crit__%s' % criterion_id )
+ except AttributeError:
+ return self._getOb( criterion_id )
+
+ security.declareProtected(AddTopics, 'addSubtopic')
+ def addSubtopic( self, id ):
+
+ """ Add a new subtopic.
+ """
+ ti = self.getTypeInfo()
+ ti.constructInstance(self, id)
+ return self._getOb( id )
+
+ #
+ # Helper methods
+ #
+ security.declarePrivate( '_criteria_metatype_ids' )
+ def _criteria_metatype_ids( self ):
+
+ result = []
+
+ for mt in self._criteriaTypes:
+ result.append( mt.meta_type )
+
+ return tuple( result )
+
+ #
+ # Cataloging helper to make finding this item easier
+ #
+ security.declareProtected(View, 'SearchableText')
+ def SearchableText(self):
+ """
+ SeachableText is used for full text seraches of a portal. It
+ should return a concatenation of all useful text.
+ """
+ return "%s %s" % (self.title, self.description)
+
+InitializeClass( Topic )
Added: spec/debian/erp5-cmftopic/CMFTopic/TopicPermissions.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/TopicPermissions.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/TopicPermissions.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/TopicPermissions.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,24 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Backward-compatibility module for CMFTopic product permissions.
+
+$Id: TopicPermissions.py 36457 2004-08-12 15:07:44Z jens $
+"""
+
+from permissions import *
+
+from warnings import warn
+
+warn( "The module, 'Products.CMFTopic.TopicPermissions' is a deprecated "
+ "compatiblity alias for 'Products.CMFTopic.permissions'; please use "
+ "the new module instead.", DeprecationWarning)
Added: spec/debian/erp5-cmftopic/CMFTopic/__init__.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/__init__.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/__init__.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/__init__.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,59 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Topic: Canned catalog queries
+
+$Id: __init__.py 36457 2004-08-12 15:07:44Z jens $
+"""
+
+import sys
+
+from ZClasses import createZClassForBase
+
+from Products.CMFCore.utils import ContentInit
+from Products.CMFCore.DirectoryView import registerDirectory
+
+import Topic
+import SimpleStringCriterion
+import SimpleIntCriterion
+import ListCriterion
+import DateCriteria
+import SortCriterion
+from permissions import AddTopics
+
+
+bases = ( Topic.Topic, )
+
+this_module = sys.modules[ __name__ ]
+
+for base in bases:
+ createZClassForBase( base, this_module )
+
+# This is used by a script (external method) that can be run
+# to set up Topics in an existing CMF Site instance.
+topic_globals = globals()
+
+# Make the skins available as DirectoryViews
+registerDirectory( 'skins', globals() )
+
+def initialize( context ):
+
+ context.registerHelpTitle( 'CMF Topic Help' )
+ context.registerHelp( directory='help' )
+
+ # CMF Initializers
+ ContentInit( 'CMF Topic Objects'
+ , content_types = (Topic.Topic,)
+ , permission = AddTopics
+ , extra_constructors = (Topic.addTopic,)
+ , fti = Topic.factory_type_information
+ ).initialize( context )
Added: spec/debian/erp5-cmftopic/CMFTopic/configure.zcml
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/configure.zcml?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/configure.zcml (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/configure.zcml Thu Feb 15 17:48:31 2007
@@ -1,0 +1,36 @@
+<configure
+ xmlns:five="http://namespaces.zope.org/five"
+ >
+
+ <five:bridge
+ zope2=".interfaces.Criterion.Criterion"
+ package=".interfaces"
+ name="ICriterion"
+ />
+
+ <five:implements
+ class=".DateCriteria.FriendlyDateCriterion"
+ interface=".interfaces.ICriterion"
+ />
+
+ <five:implements
+ class=".ListCriterion.ListCriterion"
+ interface=".interfaces.ICriterion"
+ />
+
+ <five:implements
+ class=".SimpleIntCriterion.SimpleIntCriterion"
+ interface=".interfaces.ICriterion"
+ />
+
+ <five:implements
+ class=".SimpleStringCriterion.SimpleStringCriterion"
+ interface=".interfaces.ICriterion"
+ />
+
+ <five:implements
+ class=".SortCriterion.SortCriterion"
+ interface=".interfaces.ICriterion"
+ />
+
+</configure>
Added: spec/debian/erp5-cmftopic/CMFTopic/permissions.py
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/permissions.py?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/permissions.py (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/permissions.py Thu Feb 15 17:48:31 2007
@@ -1,0 +1,38 @@
+##############################################################################
+#
+# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+""" Permissions used throughout CMFTopic.
+
+$Id: permissions.py 36457 2004-08-12 15:07:44Z jens $
+"""
+from AccessControl import ModuleSecurityInfo
+
+security = ModuleSecurityInfo('Products.CMFTopic.permissions')
+
+from Products.CMFCore.permissions import setDefaultRoles
+
+security.declarePublic('AddTopics')
+AddTopics = 'Add portal topics'
+setDefaultRoles(AddTopics, ('Manager',))
+
+security.declarePublic('ChangeTopics')
+ChangeTopics = 'Change portal topics'
+setDefaultRoles(ChangeTopics, ('Manager', 'Owner',))
+
+security.declarePublic('AccessContentsInformation')
+from Products.CMFCore.permissions import AccessContentsInformation
+
+security.declarePublic('ListFolderContents')
+from Products.CMFCore.permissions import ListFolderContents
+
+security.declarePublic('View')
+from Products.CMFCore.permissions import View
Added: spec/debian/erp5-cmftopic/CMFTopic/version.txt
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/CMFTopic/version.txt?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/CMFTopic/version.txt (added)
+++ spec/debian/erp5-cmftopic/CMFTopic/version.txt Thu Feb 15 17:48:31 2007
@@ -1,0 +1,1 @@
+CMF-1.5.4
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.diff.gz
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.diff.gz?rev=12748&view=auto
==============================================================================
Binary file - no diff available.
Propchange: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.diff.gz
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.dsc
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.dsc?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.dsc (added)
+++ spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1.dsc Thu Feb 15 17:48:31 2007
@@ -1,0 +1,12 @@
+Format: 1.0
+Source: erp5-cmftopic
+Version: 1.5.4-1
+Binary: erp5-cmftopic
+Maintainer: Yusei TAHARA
+Architecture: all
+Standards-Version: 3.7.2
+Build-Depends: debhelper (>= 5.0)
+Build-Depends-Indep: zope-debhelper (>= 0.3.6)
+Files:
+ 7834a7bab3acd9b387627cf13e9a08a7 24107 erp5-cmftopic_1.5.4.orig.tar.gz
+ b2dc9a8980977f2d5170bab6ae5a4e74 900 erp5-cmftopic_1.5.4-1.diff.gz
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_all.deb
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_all.deb?rev=12748&view=auto
==============================================================================
Binary file - no diff available.
Propchange: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_all.deb
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.build
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.build?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.build (added)
+++ spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.build Thu Feb 15 17:48:31 2007
@@ -1,0 +1,34 @@
+ fakeroot debian/rules clean
+dh_testdir
+dh_testroot
+rm -f build-stamp configure-stamp
+dh_clean
+ dpkg-source -b CMFTopic
+dpkg-source: warning: source directory `./CMFTopic' is not <sourcepackage>-<upstreamversion> `erp5-cmftopic-1.5.4'
+dpkg-source: warning: .orig directory name CMFTopic.orig is not <package>-<upstreamversion> (wanted erp5-cmftopic-1.5.4.orig)
+dpkg-source: building erp5-cmftopic using existing erp5-cmftopic_1.5.4.orig.tar.gz
+dpkg-source: building erp5-cmftopic in erp5-cmftopic_1.5.4-1.diff.gz
+dpkg-source: building erp5-cmftopic in erp5-cmftopic_1.5.4-1.dsc
+ debian/rules build
+touch build-stamp
+ fakeroot debian/rules binary
+dh_testdir
+dh_testroot
+dh_clean -k
+dh_installdirs
+dh_installerp5zope .
+dh_testdir
+dh_testroot
+dh_installdocs
+dh_installexamples
+dh_installchangelogs
+dh_compress
+dh_fixperms
+dh_installdeb
+dh_gencontrol
+dh_md5sums
+dh_builddeb
+dpkg-deb: `../erp5-cmftopic_1.5.4-1_all.deb' ¤Ë¥Ñ¥Ã¥±¡¼¥¸ `erp5-cmftopic' ¤ò¹½ÃÛ¤·¤Æ¤¤¤Þ¤¹¡£
+ dpkg-genchanges
+dpkg-genchanges: including full source code in upload
+dpkg-buildpackage (debuild emulation): full upload (original source is included)
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.changes
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.changes?rev=12748&view=auto
==============================================================================
--- spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.changes (added)
+++ spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4-1_i386.changes Thu Feb 15 17:48:31 2007
@@ -1,0 +1,21 @@
+Format: 1.7
+Date: Wed, 14 Feb 2007 03:27:56 +0900
+Source: erp5-cmftopic
+Binary: erp5-cmftopic
+Architecture: source all
+Version: 1.5.4-1
+Distribution: unstable
+Urgency: low
+Maintainer: Yusei TAHARA
+Changed-By: Yusei TAHARA <yusei at domen.cx>
+Description:
+ erp5-cmftopic - CMFTopic Product for Zope
+Changes:
+ erp5-cmftopic (1.5.4-1) unstable; urgency=low
+ .
+ * Initial Release.
+Files:
+ 351e95c84c804c623f5140d13f70ef58 370 web optional erp5-cmftopic_1.5.4-1.dsc
+ 7834a7bab3acd9b387627cf13e9a08a7 24107 web optional erp5-cmftopic_1.5.4.orig.tar.gz
+ b2dc9a8980977f2d5170bab6ae5a4e74 900 web optional erp5-cmftopic_1.5.4-1.diff.gz
+ 0db4bd97ef93a83caa3a854936d0e3c3 27128 web optional erp5-cmftopic_1.5.4-1_all.deb
Added: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4.orig.tar.gz
URL: http://svn.erp5.org/spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4.orig.tar.gz?rev=12748&view=auto
==============================================================================
Binary file - no diff available.
Propchange: spec/debian/erp5-cmftopic/erp5-cmftopic_1.5.4.orig.tar.gz
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
More information about the Erp5-report
mailing list