Force params to lowercase I think there must be a more pythonic way to achieve the lowercase-forcing that I need to do here.  The keys in my lookup (self.adjustments) are all lc, params sent in to function can be any case (data coming from third party).  Also, is it objectionable to have self.adjustments used here but not passed in?

def getRevenue(self, metric, productParam, platformParam):
    product = productParam.lower()  # better way to do this?
    platform = platformParam.lower()    # better way to do this?
    # get adjustment for product.platform, multiply by metric
    if product not in self.adjustments:
        raise Exception('Unknown adsense product: {}'.format(product))
If these parameters may not always be lowercase,
then I don't think there's a better way.

However, if you have many callers that are guaranteed to use lowercase parameters,
and it's a pity to call .lower() for those,
then you could split this into 2 functions:


One for callers that are guaranteed to use cleaned parameters (lowercased parameters)
One for untrusted callers


For example:

def _get_revenue(self, metric, product, platform):
    # get adjustment for product.platform, multiply by metric
    if product not in self.adjustments:
        raise Exception('Unknown adsense product: {}'.format(product))

def get_revenue(self, metric, product, platform):
    self._get_revenue(metric, product.lower(), platform.lower())


In the examples I used snake_case naming for method names,
as recommended by PEP8.

By the way it seems a bit odd that the function name starts with "get" but it doesn't return anything.

Without seeing the full code, 
I don't see a reason to object against the use of self.adjustments.
Whether it's objectionable or not really depends on the rest of the code.

Something to object against though is the platform param which is not used by this method.
Ideally it shouldn't be there at all.