## ## Copyright (c) 2006 Jason Dillon ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. ## You may obtain a copy of the License at ## ## http://www.apache.org/licenses/LICENSE-2.0 ## ## Unless required by applicable law or agreed to in writing, software ## distributed under the License is distributed on an "AS IS" BASIS, ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ## See the License for the specific language governing permissions and ## limitations under the License. ## ## ## $Id: __init__.py 26 2006-04-15 06:25:53Z user57 $ ## from p4spam import log, config from p4spam.perforce import commands class P4Exception(Exception): pass class P4Field: CODE = 'code' DATA = 'data' class P4Code: ERROR = 'error' STAT = 'stat' INFO = 'info' ## ## P4CommandExecutor ## class P4CommandExecutor: def __init__(this, name, cmd): this.log = log.getLogger(this) this.name = name this.cmd = cmd def __call__(this, *args, **kwargs): this.log.debug("Executing %s..." % this.name) result = this.cmd.execute(args) this.log.debug("Done.") return result ## ## P4 ## class P4: def __init__(this): # # TODO: Expose configuration # pass def __getattr__(this, name): # Lookup/create metadata object cmd = commands.create(name, this) # # TODO: Need to pass in 'this' for configuration context # return P4CommandExecutor(name, cmd)
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 7731 | Matthew Janulewicz |
Adding P4Spam 1.1 code from http://p4spam.sourceforge.net/wiki/Main_Page "P4Spam is a Perforce change review daemon which spits out sexy HTML-styled notification emails." |