def main(): from pycli_tools.parsers import get_argparser from pasterd import webserver, __version__ parser = get_argparser(prog='pasterd', version=__version__, default_config='~/.pasterdrc', description='Command line paste bin utility') parser.add_argument('-b', '--bind', metavar='address:port', default='0.0.0.0:8000', help='Inet socket to bind to') parser.add_argument('-u', '--base-url', metavar='http://address:port', help='The base url of this server') parser.add_argument('-r', '--reload', action='store_true', help="Auto respawn server") parser.add_argument('-d', '--database', default='/tmp/pastes.sqlite', help='location to the pastes sqlite database') parser.add_argument('-p', '--paste-variable', default='p') args = parser.parse_args() parts = args.bind.split(':') host = parts[0] port = parts[1] if len(parts) > 1 else 8000 base_url = args.base_url or 'http://%s:%s' % (host, port) log.warn('Starting pasterd v%s', __version__) webserver.setup(args.database, base_url, args.paste_variable) webserver.run(host=host, port=port, reloader=args.reload)
from os import remove, path from pasterd import __version__ from pasterd import webserver import bottle from bottle_sqlite import SQLitePlugin from webtest import TestApp if path.isfile('/tmp/pasterd-test.sqlite'): remove('/tmp/pasterd-test.sqlite') webserver.setup('/tmp/pasterd-test.sqlite') def test_generate_random_string(): assert len(webserver.generate_rand()) == 8 assert '.' not in webserver.generate_rand() def test_version_number(): assert __version__ in webserver.index() def test_robots_txt(): assert 'Disallow' in webserver.robots() def test_index(): app = TestApp(bottle.app())