[ZODB-Dev] Help needed
Lennart Regebro
regebro at gmail.com
Wed Mar 17 11:05:52 EDT 2010
What should this code do?
What is "root"? I get:
File "player.py", line 3, in <module>
from root import ZodbConnection
ImportError: No module named root
On Wed, Mar 17, 2010 at 15:49, rohit <76.rohit at gmail.com> wrote:
> I am trying to run a player.py file and have occasionally been getting this
> error.Can someone please help me out here.
>
>
> Error:::::::::::::::::::::::
> No handlers could be found for logger "ZODB.Connection"
> Traceback (most recent call last):
> File "C:\Documents and Settings\Arpit\workspace\
> IndianPremierLeagu\src\root\Classes\Player.py", line 114, in <module>
> if not root.has_key("Players"):
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\Connection.py",
> line 811, in setstate
> self._setstate(obj)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\Connection.py",
> line 879, in _setstate
> self._reader.setGhostState(obj, p)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 595, in setGhostState
> state = self.getState(pickle)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 588, in getState
> return unpickler.load()
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 479, in _persistent_load
> return self.load_oid(reference)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 538, in load_oid
> return self._conn.get(oid)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\Connection.py",
> line 245, in get
> obj = self._reader.getGhost(p)
> File
> "D:\python\lib\site-packages\zodb3-3.10.0a1-py2.6-win32.egg\ZODB\serialize.py",
> line 576, in getGhost
> if issubclass(klass, Broken):
> TypeError: issubclass() arg 1 must be a class
>
>
> Cheers,
> Rohit
>
>
> This is the code of player.py
>
> from persistent import Persistent
> import transaction
> from root import ZodbConnection
> import Club
>
> class Player(Persistent):
> def
> __init__(self,PlayerID,Name,Age,Wage,Batsman,Bowler,Keeper,Height,Weight,Personality,Stamina,Pace,Strength,Fitnessrating,Agility,Reflexes,Jumping,Compusure,Concentration,Influence,HandlingPressure,InnovativeQuotient,Boldness,Adapatability,Determination,Aggression,Loyalty,Flair,HandlingMedia,Decisions,Motivation,FieldPlacement,FrontFoot,BackFoot,StraightDrive,ReverseSweep,Ondrive,BattingTechinique,BowlingSpeed,SlowerDelivery,ReverseSwing,OutSwing,LegBreak,Armball,Flipper,Length,BowlingTechnique,Catching,Thrwoing,BatAwareness,Stumping,BallCollection,FavouredPersonnel,FavouredTeam,Hook,Pull,Defense,CoverDrive,Sweep,LateCut,Cut,Legglance,BowlAwareness,Bouncer,Yorker,Inswing,Offbreak,Doosra,Googly,Line,Chinaman,FieldAwareness,DirectHits,Diving,Glovework,Movement,Communication,Morale,Fitness):
> self.PlayerID=PlayerID
> self.Name=Name
> self.Age=Age
> self.Wage=Wage
> self.Batsman=Batsman
> self.Bowler=Bowler
> self.Keeper=Keeper
> self.Height=Height
> self.Weight=Weight
> self.Personality=Personality
> self.Stamina=Stamina
> self.Pace=Pace
> self.Strength=Strength
> self.Fitnessrating=Fitnessrating
> self.Agility=Agility
> self.Reflexes=Reflexes
> self.Jumping=Jumping
> self.Compusure=Compusure
> self.Concentration=Concentration
> self.Influence=Influence
> self.HandlingPressure=HandlingPressure
> self.InnovativeQuotient=InnovativeQuotient
> self.Boldness=Boldness
> self.Adapatability=Adapatability
> self.Determination=Determination
> self.Aggression=Aggression
> self.Loyalty=Loyalty
> self.Flair=Flair
> self.HandlingMedia=HandlingMedia
> self.Decisions=Decisions
> self.Motivation=Motivation
> self.FieldPlacement=FieldPlacement
> self.FrontFoot=FrontFoot
> self.BackFoot=BackFoot
> self.StraightDrive=StraightDrive
> self.ReverseSweep=ReverseSweep
> self.Ondrive=Ondrive
> self.BattingTechinique=BattingTechinique
> self.BowlingSpeed=BowlingSpeed
> self.SlowerDelivery=SlowerDelivery
> self.ReverseSwing=ReverseSwing
> self.OutSwing=OutSwing
> self.LegBreak=LegBreak
> self.Armball=Armball
> self.Flipper=Flipper
> self.Length=Length
> self.BowlingTechnique=BowlingTechnique
> self.Catching=Catching
> self.Thrwoing=Thrwoing
> self.BatAwareness=BatAwareness
> self.Stumping=Stumping
> self.BallCollection=BallCollection
> self.FavouredPersonnel=FavouredPersonnel
> self.FavouredTeam=FavouredTeam
> self.Hook=Hook
> self.Pull=Pull
> self.Defense=Defense
> self.CoverDrive=CoverDrive
> self.Sweep=Sweep
> self.LateCut=LateCut
> self.Cut=Cut
> self.Legglance=Legglance
> self.BowlAwareness=BowlAwareness
> self.Hook=Hook
> self.Pull=Pull
> self.Defense=Defense
> self.CoverDrive=CoverDrive
> self.Sweep=Sweep
> self.LateCut=LateCut
> self.Cut=Cut
> self.Legglance=Legglance
> self.Bouncer=Bouncer
> self.Yorker=Yorker
> self.Inswing=Inswing
> self.Offbreak=Offbreak
> self.Doosra=Doosra
> self.Googly=Googly
> self.Line=Line
> self.Chinaman=Chinaman
> self.FieldAwareness=FieldAwareness
> self.DirectHits=DirectHits
> self.Diving=Diving
> self.Glovework=Glovework
> self.Movement=Movement
> self.Communication=Communication
> self.Morale=Morale
> self.Fitness=Fitness
>
>
> def clubs(self):
> result=[]
> for name in self.FavouredTeam:
> result.append(Club.findclubsbyname(name))
> return result
>
> for team in result:
> print "Player's favourite teams are %s" % team
>
>
>
>
> s=ZodbConnection.open_zodb()
> root=s[0]
>
>
>
> if not root.has_key("Players"):
> root['Players'] = {}
> PlayerRoot=root["Players"]
>
>
> def listplayers():
> if len(PlayerRoot.values())==0:
> print "There are no players."
> print
> return
> for player in PlayerRoot.values():
> print "Name: %s" % player.Name
> print
> print "Owned by %s" % player.Age
> print
> print player.FavouredPersonnel
> print
>
>
>
>
>
> def
> addplayers(PlayerID,Name,Age,Wage,Batsman,Bowler,Keeper,Height,Weight,Personality,Stamina,Pace,Strength,Fitnessrating,Agility,Reflexes,Jumping,Compusure,Concentration,Influence,HandlingPressure,InnovativeQuotient,Boldness,Adapatability,Determination,Aggression,Loyalty,Flair,HandlingMedia,Decisions,Motivation,FieldPlacement,FrontFoot,BackFoot,StraightDrive,ReverseSweep,Ondrive,BattingTechinique,BowlingSpeed,SlowerDelivery,ReverseSwing,OutSwing,LegBreak,Armball,Flipper,Length,BowlingTechnique,Catching,Thrwoing,Awareness,Stumping,BallCollection,FavouredPersonnel,FavouredTeam,Hook,Pull,Defense,CoverDrive,Sweep,LateCut,Cut,Legglance,Bouncer,Yorker,Inswing,Offbreak,Doosra,Googly,Line,Chinaman,DirectHits,Driving,Glovework,Movement,Communication,Morale,Fitness):
> if PlayerRoot.has_key(Name):
> print "This player is already created"
> return
>
> if Name:
>
> PlayerRoot[Name]=Player(PlayerID,Name,Age,Wage,Batsman,Bowler,Keeper,Height,Weight,Personality,Stamina,Pace,Strength,Fitnessrating,Agility,Reflexes,Jumping,Compusure,Concentration,Influence,HandlingPressure,InnovativeQuotient,Boldness,Adapatability,Determination,Aggression,Loyalty,Flair,HandlingMedia,Decisions,Motivation,FieldPlacement,FrontFoot,BackFoot,StraightDrive,ReverseSweep,Ondrive,BattingTechinique,BowlingSpeed,SlowerDelivery,ReverseSwing,OutSwing,LegBreak,Armball,Flipper,Length,BowlingTechnique,Catching,Thrwoing,Awareness,Stumping,BallCollection,FavouredPersonnel,FavouredTeam,Hook,Pull,Defense,CoverDrive,Sweep,LateCut,Cut,Legglance,Bouncer,Yorker,Inswing,Offbreak,Doosra,Googly,Line,Chinaman,DirectHits,Driving,Glovework,Movement,Communication,Morale,Fitness)
>
> root['Players']=PlayerRoot
> transaction.commit()
> print "Player added"
> print
>
>
>
>
>
>
> if __name__=="__main__":
> while 1:
> choice=raw_input("Press 'L' to list players, 'A' to add"
> "an player, or 'Q' to quit:")
> choice=choice.lower()
> if choice=="l":
> listplayers()
> elif choice=='a':
> ID=input("PlayerID:")
> name=raw_input("Name:")
> age=input("Age:")
> wage=input("Wage:")
> batsman=input("Batsman:")
> bowler=input("Bowler:")
> keeper=input("Keeper:")
> height=input("Height:")
> weight=input("Weight:")
> personality=raw_input("Personality:")
> stamina=input("Stamina:")
> pace=input("Pace:")
> strength=input("Strength:")
> fitnessrating=input("Fitness:")
> agility=input("Agility")
> reflexes=input("Reflexes:")
> jumping=input("Jumping:")
> composure=input("Composure:")
> concentration=input("Concentration:")
> influence=input("Influence:")
> handling_pressure=input("HandlingPressure:")
> innovative_quotient=input("InnovativeQuotient:")
> boldness=input("Boldness:")
> adaptability=input("Adaptability:")
> determination=input("Determination:")
> aggression=input("Aggression:")
> loyalty=input("Loyalty:")
> flair=input("Flair:")
> handling_media=input("HandlingMedia:")
> decisions=input("Decisions:")
> motivation=input("Motivation:")
> field_placement=input("FieldPlacement:")
> frontfoot=input("FrontFoot:")
> backfoot=input("Backfoot:")
> straight_drive=input("StraightDrive:")
> reverse_sweep=input("ReverseSweep:")
> ondrive=input("Ondrive:")
> batting_technique=input("BattingTechnique:")
> bowling_speed=input("BowlingSpeed:")
> slower_delivery=input("Slowerdelivery:")
> reverse_swing=input("ReverseSwing:")
> outswing=input("Outswing:")
> legBreak=input("LegBreak:")
> armball=input("Armball:")
> flipper=input("Flipper:")
> length=input("Length:")
> bowling_technique=input("BowlingTechnique:")
> catching=input("Catching:")
> throwing=input("Throwing:")
> batawareness=input("BatAwareness:")
> stumping=input("Stumping:")
> ballcollection=input("BallCollection:")
> fav_pers=raw_input('Favoured Personnel: ').split(',')
> fav_team=raw_input("Favourite Team:").split(',')
>
> hook=input("Hook:")
> pull=input("Pull:")
> defense=input("Defense:")
> cover_drive=input("CoverDrive:")
> sweep=input("Sweep:")
> latecut=input("Latecut:")
> cut=input("Cut:")
> legglance=input("Legglance:")
> bowl_awareness=input("BowlingAwareness:")
> bouncer=input("Bouncer:")
> yorker=input("Yorker")
> inswing=input("Inswing:")
> offbreak=input("Offbreak:")
> doosra=input("Doosra:")
> googly=input("Googly:")
> line=input("Line:")
> chinaman=input("Chinaman:")
> field_awareness=input("FielcAwareness:")
> directhits=input("DirectHits:")
> diving=input("Diving:")
> glovework=input("Glovework:")
> movement=input("Movement:")
> communication=input("Communication:")
> morale=raw_input("Morale:")
> fitness=raw_input("Fitness:")
>
>
>
> addplayers(ID,name,age,wage,batsman,bowler,keeper,height,weight,personality,stamina,pace,strength,fitness,agility,reflexes,jumping,composure,concentration,influence,handling_pressure,innovative_quotient,boldness,adaptability,determination,aggression,loyalty,flair,handling_media,decisions,motivation,field_placement,frontfoot,backfoot,straight_drive,reverse_sweep,ondrive,batting_technique,bowling_speed,slower_delivery,reverse_swing,outswing,legBreak,armball,flipper,length,bowling_technique,catching,throwing,batawareness,stumping,ballcollection,fav_pers,hook,pull,defense,cover_drive,sweep,latecut,cut,legglance,bowl_awareness,bouncer,yorker,inswing,offbreak,doosra,googly,line,chinaman,field_awareness,directhits,diving,glovework,movement,communication,morale,fitness)
>
>
> elif choice=="q":
> break
>
>
>
> ZodbConnection.close_zodb(s)
>
>
> Its basically a class file.I have tried debugging and have foudn outthat
> removing this line of code result s in no error.
>
> if not root.has_key("Players"):
> root['Players'] = {}
> PlayerRoot=root["Players"]
>
>
> But i have the same lines of code in another class file in the same
> module.So i cant understnd why this error occurs.Any help would be much
> appreciated.
>
> Thanks,
> Rohit.
>
> _______________________________________________
> For more information about ZODB, see the ZODB Wiki:
> http://www.zope.org/Wikis/ZODB/
>
> ZODB-Dev mailing list - ZODB-Dev at zope.org
> https://mail.zope.org/mailman/listinfo/zodb-dev
>
>
More information about the ZODB-Dev
mailing list