glance/common 目录下的都是一下基础模块,有 exception.py、flags.py、utils.py 和 server.py,还有 db 相关的子
目录。
exception.py,顾名思义,跟异常处理相关,该模块也确实定义了 glance 使用的异常类。
flags.py,其开始的注释中说 “Package-level global flags are defined here”,可见是定义包级别的变量的,该模块
需要外部模块作为支撑:
http://code.google.com/p/python-gflags
对于 python-gflags 的左右,看项目介绍是用于提供命令行参数解析,类似 getopt 之类的东西。这样看来,flags.py
也是用于支持命令行参数的一个模块。
utils.py,定义了一些工具函数。
server.py,不要被名字欺骗了。该模块并不是提供一个 server 接口,而是提供了对程序 daemonize 的支持。
glance/common/db,一看 db,就可以想到这是跟数据库有关的,而模块中的 __init__.py 文件也说用于抽象数据库
操作。0.1.7 中的实现还很简单,只是为 sqlalchemy 创建了一个简单的封装,而这个简单的封装也仅仅是提供一个
数据库连接会话。