# Copyright (C) 2009 Canonical # # Authors: # Michael Vogt # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; version 3. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA import logging LOG = logging.getLogger(__name__) class Transaction(object): """ Represents an pkg transaction o Attributes: - 'start_date': the start date/time of the transaction as datetime - 'install', 'upgrade', 'downgrade', 'remove', 'purge': contain the list of packagenames affected by this action """ PKGACTIONS = ["Install", "Upgrade", "Downgrade", "Remove", "Purge"] def __init__(self): pass def __len__(self): count = 0 for k in self.PKGACTIONS: count += len(getattr(self, k.lower())) return count def __repr__(self): return ('