I'm somewhat new to Python... and programming in general. I know enough to be dangerous for sure. I have a feeling the solution to this is simple. I'm having trouble getting 'self' to initialize or work in a class application. I keep getting the message: LogFile = self.BasicSummary ( ) NameError: name 'self' is not defined Code looks like this: from data_decode import * class DataAnalysis: def PainInTheArse ( self , i , InvI ): """This is a filter I made to overcome some problems I was having with sine wave analysis""" TemporaryData = [ ] for a in range ( int ( InvI [ i ] ) , len ( InvI ) ): if a < 0: a = 0 b = a + 1 try: TemporaryData.append ( InvI [ a + i ] ) if ( InvI [ b + i ] < 0 and InvI [ b + i + 1 ] > 0 ): TemporaryData.append ( InvI [ a + i + 1 ] ) break except IndexError: continue return TemporaryData def GetTheInvIData ( self , InvI ): """"Function determines zero-crossing, and then calculates the +/- peaks to get an average """ CurrentMaxList = [ ] CurrentMinList = [ ] for i in range ( 0 , len ( InvI ) ): try: if ( InvI [ i ] <= 0 and InvI [ i + 1 ] > 0 ): TemporaryData = self. PainInTheArse ( i , InvI ) BetterData = self.FilterTheBS ( TemporaryData ) CurrentMaxList.append ( max ( BetterData ) ) CurrentMinList.append ( min ( BetterData ) ) except IndexError: continue MeanCurrentMax = sum ( CurrentMaxList ) / len ( CurrentMaxList ) MeanCurrentMin = sum ( CurrentMinList ) / len ( CurrentMinList ) InvIPeakToPeak = MeanCurrentMax - MeanCurrentMin EstPeak = InvIPeakToPeak / 2 return EstPeak def FilterTheBS ( self , TemporaryData ): """This is another filter I made to overcome some problems I was having with sine wave analysis""" BetterData = [ ] UselessData = [ ] for i in range ( 0 , len ( TemporaryData ) ): try: if TemporaryData [ i ] == TemporaryData [ i + 1 ]: UselessData.append ( TemporaryData [ i ] ) else: BetterData.append ( TemporaryData [ i ] ) except IndexError: BetterData.append ( TemporaryData [ i ] ) continue return BetterData def BasicSummary ( self ): DDC = DecodeData( ) try: MeanCurrent_A = float ( ( self.GetTheInvIData ( DDC.InvIa ) ) ) MeanCurrent_B = float ( ( self.GetTheInvIData ( DDC.InvIb ) ) ) MeanCurrent_C = float ( ( self.GetTheInvIData ( DDC.InvIc ) ) ) except ValueError: print'KaFlewie!' LogFile = [] LogFile.append ('DEVICE CURRENT SUMMARY:\n') LogFile.append ( '\tPHASE A: AVG Current = +/- %.2f A' % ( MeanCurrent_A ) ) LogFile.append ( '\tPHASE A: AVG Current = +/- %.2f A' % ( MeanCurrent_B ) ) return LogFile LogFile = self.BasicSummary ( ) for a in LogFile: print a any and all advice is welcome Rick
-- http://mail.python.org/mailman/listinfo/python-list