I think you need to make an instance of your class. Try this:
my_class_instance = DataAnalysis()
LogFile = my_class_instance.BasicSummary ( )
On Thu, May 8, 2008 at 7:07 AM, Richard Speaker
[EMAIL PROTECTED] wrote:
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
--
http://mail.python.org/mailman/listinfo/python-list