12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #! /usr/bin/env python3
- """ Main script to run the dakweb server and also
- to provide the list_paths and path_help functions
- @contact: Debian FTPMaster <ftpmaster@debian.org>
- @copyright: 2014 Mark Hymers <mhy@debian.org>
- @license: GNU General Public License version 2 or later
- """
- import bottle
- from bottle import redirect
- from daklib.dbconn import DBConn
- import json
- from dakweb.webregister import QueryRegister
- @bottle.route('/')
- def root_path():
- """Returns a useless welcome message"""
- return json.dumps('Use the /list_paths path to list all available paths')
- QueryRegister().register_path('/', root_path)
- @bottle.route('/list_paths')
- def list_paths():
- """Returns a list of available paths"""
- redirect("https://ftp-team.pages.debian.net/dak/epydoc/dakweb-module.html#__package__")
- QueryRegister().register_path('/list_paths', list_paths)
- @bottle.route('/path_help/<path>')
- def path_help(path=None):
- """Redirects to the API description containing the path_help"""
- if path is None:
- return bottle.HTTPError(503, 'Path not specified.')
- redirect("https://ftp-team.pages.debian.net/dak/epydoc/%s-module.html#%s" %
- (QueryRegister().get_path_help(path), path))
- QueryRegister().register_path('/path_help', list_paths)
- # Import our other methods
- from .queries.archive import *
- from .queries.madison import *
- from .queries.source import *
- from .queries.suite import *
- from .queries.binary import *
- # Run the bottle if we're called directly
- if __name__ == '__main__':
- # Set up our initial database connection
- d = DBConn()
- bottle.run()
|