最后查看common目录下剩下的内容:
startup.py
提供的函数有:
attach_serial_protocol(device,test=False)
1.如果是not test,sconn有adapter_klass(device)构造,adapter_klass来自device.custom.adapter.
否则由SIMCardConnection(device).
2.device.sport来自于SerialPort(sconn,port,reactor,baudrate=device.baudrate).这个
SerialPort是什么呢?构造对象?!
3.device.sconn就是来自于上面的sconn.返回device。
create_skeleton_and_do_initial_setup()
1.建VMC_HOME,mobile profile,dialer profile的目录。
2.把plugins 复制到另一个plugins Home
3.cfg_path,default profile,pap_profile,chap_profile.
4.并创建一个LOCK.
populate_dbs()
1.从resources/extra/networks导入,调用那个networks中的所有属性。生成instance 列表。
2.从persistent导入net_manager,调用network.populate_networks(instances).
shutdown.py
shutdown_core(signal=None,frame=None,delay=2)
1.config.close()
2.get_phonebook() and phonebook.close.
3.get_messages_obj(None)and messages.close()
4.net_manager.close().
5.reactore.callLater(delay,reactor.stop).
shell.py
getManholeFactory(namespace,**passwords)
1.有manhole_ssh.TerminalRealm()得到realm.
2.有realm.chainedProtocolFactory.protocolFactory = getManhole.
3.p = portal.Portal(realm)
4.checker = checkers.InMemoryUsernamePasswordDataDontUse(**passwords)
5.p.registerChecker(checker)
6.f = manhole_ssh.ConchFactory(p)
7.返回f
晕倒,一点点都看不懂啊:)
phonebook.py
有一个类PhoneBook.有成员:
sconn
cmanager=ContactManager().
有方法:
close(self):self.cmanager.close().self.cmanager=None,self.sconn=None.
add_contact(self,contact,sim=False)
如果sim=true:调用self.sconn.add_connect(contact)添加callback,errback.
else:defer.maybeDeferred(self.cmanager.add_contact,contact).
add_contacts(self,contacts,sim=False):
1.循环的调用上述函数产生list.然后把Defer list调用defer.gatherResults(response)
_find_contact_in_sim(self,pattern):
返回self.sconn.find_contacts(pattern)的list。
_find_contact_in_db(selef,pattern)
返回self.cmanager.find_contacts(pattern)的list.
find_contact(self,name=None,number=None):
1.调用self._find_contact_in_sim(),然后callback:_find_contacts_in_db(name).
2.如果根据number:self.get_contacts()然后比较number相等的。
get_contacts(self):
调用sconn.get_contacts(),addcallback:self.cmanager.get_contacts()返回。
delete_contacts(self,clist)
调用delete_contact,返回的列表用defer.gatherResults().
delete_objs(self,objs):
调用self.delete_contacts(objs)
delete_contact(self,contact):
1.如果是sim contact,调用sconn.delete_contact(contact.get_index()).
否则由defer.maybeDeferred(self.cmanager.delete_contact,contact).
edit_contact(self,contact):
1.如果是sim_contact,调用self.sconn.add_contact(contact)否则,没有实现。
get_phonebook(sconn)
1.把_phonebook.sconn赋值,返回_phonebook.
startup.py
提供的函数有:
attach_serial_protocol(device,test=False)
1.如果是not test,sconn有adapter_klass(device)构造,adapter_klass来自device.custom.adapter.
否则由SIMCardConnection(device).
2.device.sport来自于SerialPort(sconn,port,reactor,baudrate=device.baudrate).这个
SerialPort是什么呢?构造对象?!
3.device.sconn就是来自于上面的sconn.返回device。
create_skeleton_and_do_initial_setup()
1.建VMC_HOME,mobile profile,dialer profile的目录。
2.把plugins 复制到另一个plugins Home
3.cfg_path,default profile,pap_profile,chap_profile.
4.并创建一个LOCK.
populate_dbs()
1.从resources/extra/networks导入,调用那个networks中的所有属性。生成instance 列表。
2.从persistent导入net_manager,调用network.populate_networks(instances).
shutdown.py
shutdown_core(signal=None,frame=None,delay=2)
1.config.close()
2.get_phonebook() and phonebook.close.
3.get_messages_obj(None)and messages.close()
4.net_manager.close().
5.reactore.callLater(delay,reactor.stop).
shell.py
getManholeFactory(namespace,**passwords)
1.有manhole_ssh.TerminalRealm()得到realm.
2.有realm.chainedProtocolFactory.protocolFactory = getManhole.
3.p = portal.Portal(realm)
4.checker = checkers.InMemoryUsernamePasswordDataDontUse(**passwords)
5.p.registerChecker(checker)
6.f = manhole_ssh.ConchFactory(p)
7.返回f
晕倒,一点点都看不懂啊:)
phonebook.py
有一个类PhoneBook.有成员:
sconn
cmanager=ContactManager().
有方法:
close(self):self.cmanager.close().self.cmanager=None,self.sconn=None.
add_contact(self,contact,sim=False)
如果sim=true:调用self.sconn.add_connect(contact)添加callback,errback.
else:defer.maybeDeferred(self.cmanager.add_contact,contact).
add_contacts(self,contacts,sim=False):
1.循环的调用上述函数产生list.然后把Defer list调用defer.gatherResults(response)
_find_contact_in_sim(self,pattern):
返回self.sconn.find_contacts(pattern)的list。
_find_contact_in_db(selef,pattern)
返回self.cmanager.find_contacts(pattern)的list.
find_contact(self,name=None,number=None):
1.调用self._find_contact_in_sim(),然后callback:_find_contacts_in_db(name).
2.如果根据number:self.get_contacts()然后比较number相等的。
get_contacts(self):
调用sconn.get_contacts(),addcallback:self.cmanager.get_contacts()返回。
delete_contacts(self,clist)
调用delete_contact,返回的列表用defer.gatherResults().
delete_objs(self,objs):
调用self.delete_contacts(objs)
delete_contact(self,contact):
1.如果是sim contact,调用sconn.delete_contact(contact.get_index()).
否则由defer.maybeDeferred(self.cmanager.delete_contact,contact).
edit_contact(self,contact):
1.如果是sim_contact,调用self.sconn.add_contact(contact)否则,没有实现。
get_phonebook(sconn)
1.把_phonebook.sconn赋值,返回_phonebook.
本文解析了startup.py和phonebook.py两个模块的功能,包括设备连接初始化、虚拟环境搭建、电话簿操作等,并概述了各函数及类的作用与流程。
1497

被折叠的 条评论
为什么被折叠?



