diff options
author | Bruno Wagner <bwgpro@gmail.com> | 2015-06-05 18:25:52 -0300 |
---|---|---|
committer | Bruno Wagner <bwgpro@gmail.com> | 2015-06-05 18:27:43 -0300 |
commit | a2886f31583722c5f08a965325156f8eb1e18509 (patch) | |
tree | d71b251d7d627fed16998a3132a9a8858249315f | |
parent | 3029534e21b611fcd6aaae09c54a5bda71cac582 (diff) |
Moved register out of application like maintenance
-rw-r--r-- | service/pixelated/application.py | 5 | ||||
-rw-r--r-- | service/pixelated/config/arguments.py | 12 | ||||
-rw-r--r-- | service/pixelated/register.py (renamed from service/pixelated/config/register.py) | 13 | ||||
-rw-r--r-- | service/setup.py | 3 | ||||
-rw-r--r-- | service/test/unit/config/test_register.py | 2 |
5 files changed, 23 insertions, 12 deletions
diff --git a/service/pixelated/application.py b/service/pixelated/application.py index 5914d51f..b63e10fb 100644 --- a/service/pixelated/application.py +++ b/service/pixelated/application.py @@ -27,7 +27,6 @@ from OpenSSL import crypto from pixelated.config import arguments from pixelated.resources import loading_page from pixelated.config.initialize_leap import initialize_leap -from pixelated.config.register import register from pixelated.config import logger, app_factory @@ -65,10 +64,6 @@ def initialize(): args = arguments.parse_user_agent_args() logger.init(debug=args.debug) - if args.register: - register(*args.register) - sys.exit(0) - loading_app = reactor.listenTCP(args.port, Site(loading_page.LoadingResource()), interface=args.host) deferred = deferToThread( diff --git a/service/pixelated/config/arguments.py b/service/pixelated/config/arguments.py index 2c7470e2..8899f9a8 100644 --- a/service/pixelated/config/arguments.py +++ b/service/pixelated/config/arguments.py @@ -27,14 +27,13 @@ def parse_user_agent_args(): parser.add_argument('--port', type=int, default=3333, help='the port to run the user agent on') parser.add_argument('-sk', '--sslkey', metavar='<server.key>', default=None, help='use specified file as web server\'s SSL key (when using the user-agent together with the pixelated-dispatcher)') parser.add_argument('-sc', '--sslcert', metavar='<server.crt>', default=None, help='use specified file as web server\'s SSL certificate (when using the user-agent together with the pixelated-dispatcher)') - parser.add_argument('--register', metavar=('provider', 'username'), - nargs=2, help='register a new username on the desired LEAP provider') + args = parser.parse_args() return args def parse_maintenance_args(): - parser = argparse.ArgumentParser(description='pixelated maintenance') + parser = argparse.ArgumentParser(description='Pixelated maintenance') parser_add_default_arguments(parser) subparsers = parser.add_subparsers(help='commands', dest='command') subparsers.add_parser('reset', help='reset account command') @@ -47,6 +46,13 @@ def parse_maintenance_args(): return parser.parse_args() +def parse_register_args(): + parser = argparse.ArgumentParser(description='Pixelated register') + parser.add_argument('provider', metavar='provider', action='store') + parser.add_argument('username', metavar='username', action='store') + return parser.parse_args() + + def parser_add_default_arguments(parser): parser.add_argument('--debug', action='store_true', help='DEBUG mode.') parser.add_argument('--organization-mode', help='Runs the user agent in organization mode, the credentials will be received from the stdin', default=False, action='store_true', dest='organization_mode') diff --git a/service/pixelated/config/register.py b/service/pixelated/register.py index 2f657a5b..0eac97a7 100644 --- a/service/pixelated/config/register.py +++ b/service/pixelated/register.py @@ -16,7 +16,10 @@ import re import getpass import logging -import pixelated.bitmask_libraries.session as LeapSession + +from pixelated.bitmask_libraries import session as leap_session +from pixelated.config import arguments +from pixelated.config import logger as logger_config from pixelated.bitmask_libraries.certs import which_api_CA_bundle from pixelated.bitmask_libraries.config import LeapConfig from pixelated.bitmask_libraries.provider import LeapProvider @@ -37,7 +40,7 @@ def register(server_name, username): srp_auth = SRPAuth(provider.api_uri, which_api_CA_bundle(provider)) if srp_auth.register(username, password): - session = LeapSession.open(username, password, server_name) + session = leap_session.open_leap_session(username, password, server_name) session.nicknym.generate_openpgp_key() else: logger.error("Register failed") @@ -47,3 +50,9 @@ def validate_username(username): accepted_characters = '^[a-z0-9\-\_\.]*$' if not re.match(accepted_characters, username): raise ValueError + + +def initialize(): + logger_config.init(debug=False) + args = arguments.parse_register_args() + register(args.provider, args.username) diff --git a/service/setup.py b/service/setup.py index 881f51b4..a894dab7 100644 --- a/service/setup.py +++ b/service/setup.py @@ -63,7 +63,8 @@ setup(name='pixelated-user-agent', entry_points={ 'console_scripts': [ 'pixelated-user-agent = pixelated.application:initialize', - 'pixelated-maintenance = pixelated.maintenance:initialize' + 'pixelated-maintenance = pixelated.maintenance:initialize', + 'pixelated-register = pixelated.register:initialize' ] }, include_package_data=True diff --git a/service/test/unit/config/test_register.py b/service/test/unit/config/test_register.py index 7db2b000..8e1a71a4 100644 --- a/service/test/unit/config/test_register.py +++ b/service/test/unit/config/test_register.py @@ -1,6 +1,6 @@ import unittest -from pixelated.config.register import validate_username +from pixelated.register import validate_username class TestRegister(unittest.TestCase): |