私はこのレシピからいくつかのコードに取り組んでいますhttp://code.activestate.com/recipes/280500/
githubユーザーのjochemコードから取得したEPPコード(インポートのみ):Python-EPP(明確にするために、私はやった自分で EPP コードを作成しないでください)
追加した
def do_A_register(self, args):
i = A_register()
i.cmdloop()
それは私を導きます:(編集:フォーマットが台無しになりました)
class A_register(cmd.Cmd):
prompt = "(A register) "
def do_handles(self, args):
# Goto sub command
i = A_registerHandles()
i.prompt = self.prompt[:-1]+'-> handles $ '
i.cmdloop()
def do_domain(self, args):
# Goto sub command
pass
def do_exit(self, args):
return True
def do_EOF(self, args):
return self.do_exit(args)
このサブメニューで終了または crtl-D を実行すると、必要な 1 レベルに戻りますが、ハンドル (レベル 2) まで 1 レベル上がると、レベル 1 (レベル 0 はシェル) に戻ることができません。
第3レベルのコードはこれです
class A_registerHandles(cmd.Cmd):
config = {
'host': 'epp.a_registar.com',
'port': 700,
'user': '<username>',
'pass': '<password>',
'handle': '<defaultHandle>',
}
def do_handleAvailable(self, args):
print "Give handle:",
handle = raw_input().strip()
self.epp = EPP(**self.config)
self.contact = Contact(self.epp, handle)
canCreate = self.contact.available()
if bool(canCreate):
print "Handle %s is free to use." % handle
else:
print "Handle %s is in use!" % handle
def do_handleInfo(self, args):
print "Give handle: ",
handle = raw_input().strip()
self.epp = EPP(**self.config)
self.contact = Contact(self.epp, handle)
handleInfo = self.contact.info()
def do_exit(self, args):
return True
def do_EOF(self, args):
return self.do_exit(args)
ですから、レベル 2 からレベル 1 に戻る方法を知りたいです (またはレベル 3 から 2 または 4 から 3、あなたは私のドリフトをキャッチします)。
レベル 2 からレベル 1 に戻るが、3 から 2 には戻らない作業例を作成しました。長さのため、コードをペーストビンhttp://pastebin.com/qjF4LPXZに追加しました
私が実行しているpythonバージョン:
Python 2.7.3 (デフォルト、2012 年 9 月 26 日 21:51:14) [GCC 4.7.2] on linux2
任意の応答のための Thnx。ポール。