No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
* TG2.1 Docs - Directory structure <ref name='tg2 docs dirstruct'>http://www.turbogears.org/2.1/docs/main/explorequickstart.html</ref> | * TG2.1 Docs - Directory structure <ref name='tg2 docs dirstruct'>http://www.turbogears.org/2.1/docs/main/explorequickstart.html</ref> | ||
* ResultsDB Input API <ref name='input api'>https://fedoraproject.org/wiki/AutoQA_resultsdb_API</ref> | * ResultsDB Input API <ref name='input api'>https://fedoraproject.org/wiki/AutoQA_resultsdb_API</ref> | ||
* SQLAlchemy Expressions: http://www.sqlalchemy.org/docs/05/sqlexpression.html http://www.sqlalchemy.org/docs/orm/tutorial.html?highlight=query%20filter#querying | |||
= How to read ResultsDB Code = | = How to read ResultsDB Code = | ||
Line 45: | Line 46: | ||
<references /> | <references /> | ||
[[Category: | [[Category:ResultsDB_Legacy]] |
Latest revision as of 13:03, 22 January 2014
Refs
- ResultsDB Git [1]
- TG2.1 Docs [2]
- TG2.1 Docs - Directory structure [3]
- ResultsDB Input API [4]
- SQLAlchemy Expressions: http://www.sqlalchemy.org/docs/05/sqlexpression.html http://www.sqlalchemy.org/docs/orm/tutorial.html?highlight=query%20filter#querying
How to read ResultsDB Code
ResultsDB is written using TurboGears2 Web Framework, which has quite awesome documentation itself [2], so I won't go into much detail, but just pass links to the appropriate parts of the documentation.
Directory Structure
Detailed information about the directory structure can be found in the TG2.1 Docs [3]. For ResultsDB, the interesting stuff happens in controllers
and model
.
Controllers/root.py
This is the 'center point' of all the ResultsDB functionality, that is the XMLRPC interface.
class RootController(BaseController)
Server as the 'wrapper' for the xmlrpc controller. It can also provide functionality for web interface, if we ever decide that ResultsDB should have a 'native' one and not just standalone frontends.
class XmlRpcController(XMLRPCController, InputApi, OutputApi)
Just an 'aggregation' class, which provides the XMLRPC interface (XMLRPCControlled
), and also the methods for storing (InputApi
) or retrieving (OutputApi
) data to/from ResultsDB.
class InputApi(object)
Implementation of the API for storing data in ResultsDB. More information[4].
class OutputApi(object)
Placeholder for the future implementation.