ETE2(用于系统发育树探索的Python环境)有一个方法.phonehome()
,可以在树/节点类对象上调用。这将返回:
== Calling home... Got answer!
He11o alien,
How is everything in the Earth?
We miss you in Brodo Asogi.
I see you are in shape.
No updates are available.
== Do you want to leave any message?
(Press enter to finish)
如果您想亲自测试一下,请尝试:
from ete2 import Tree
t = Tree() # generate random Tree
t.phonehome() # communicate with Aliens!
这是一个复活节彩蛋吗?
答案 0 :(得分:7)
所以你可以称之为复活节彩蛋。但它也有一个真正的目的,因为它是项目版本检查方法,以一点点幽默命名:
''' I use this module to check for newer versions of ETE '''
和
def call():
print " == Calling home...",
try:
f = url.urlopen('http://ete.cgenomics.org/et_phone_home.php?VERSION=%s&ID=%s'
%(__VERSION__, __ETEID__))
和
if not latest:
print "I could not find data about your version [%s]" %module_name
print "Are you ok?"
elif not current:
print "I could not determine your version [%s]" %module_name
print "Are you ok?"
print "Latest stable ETE version is", latest
elif latest > current:
print "You look a bit old."
print "A newer version is available: rev%s" %latest
print "Use 'easy_install -U %s' to upgrade" %module_name
else:
print "I see you are in shape."
print "No updates are available."
见source code of the ete2._ph
module; phonehome()
calls ete2._ph.call()