[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