summaryrefslogtreecommitdiff
path: root/service/pixelated/config/arguments.py
diff options
context:
space:
mode:
authorBruno Wagner <bwgpro@gmail.com>2015-06-05 16:48:07 -0300
committerBruno Wagner <bwgpro@gmail.com>2015-06-05 16:48:07 -0300
commit7f60e3eb5136444c86401bb3a1c3ae27fce668a1 (patch)
tree5f256a4f2ca77cf7771b7dbc1f22fef1d28ff0f7 /service/pixelated/config/arguments.py
parent65aa21198118105ed5772c546703d71ba9e9111e (diff)
Refactoring the config, logging_setup is now called logger
Diffstat (limited to 'service/pixelated/config/arguments.py')
-rw-r--r--service/pixelated/config/arguments.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/service/pixelated/config/arguments.py b/service/pixelated/config/arguments.py
new file mode 100644
index 00000000..2c7470e2
--- /dev/null
+++ b/service/pixelated/config/arguments.py
@@ -0,0 +1,56 @@
+#
+# Copyright (c) 2014 ThoughtWorks, Inc.
+#
+# Pixelated is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Pixelated is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+
+import argparse
+from pixelated.bitmask_libraries.config import DEFAULT_LEAP_HOME
+
+
+def parse_user_agent_args():
+ parser = argparse.ArgumentParser(description='Pixelated user agent.')
+
+ parser_add_default_arguments(parser)
+
+ parser.add_argument('--host', default='127.0.0.1', help='the host to run the user agent on')
+ 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_add_default_arguments(parser)
+ subparsers = parser.add_subparsers(help='commands', dest='command')
+ subparsers.add_parser('reset', help='reset account command')
+ mails_parser = subparsers.add_parser('load-mails', help='load mails into account')
+ mails_parser.add_argument('file', nargs='+', help='file(s) with mail data')
+
+ subparsers.add_parser('dump-soledad', help='dump the soledad database')
+ subparsers.add_parser('sync', help='sync the soledad database')
+
+ 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')
+ parser.add_argument('-c', '--config', dest='credentials_file', metavar='<credentials_file>', default=None, help='use specified file for credentials (for test purposes only)')
+ parser.add_argument('--leap-home', help='The folder where the user agent stores its data. Defaults to ~/.leap', dest='leap_home', default=DEFAULT_LEAP_HOME)
+ parser.add_argument('-lc', '--leap-provider-cert', metavar='<leap-provider.crt>', default=None, help='use specified file for LEAP provider cert authority certificate (url https://<LEAP-provider-domain>/ca.crt)')
+ parser.add_argument('-lf', '--leap-provider-cert-fingerprint', metavar='<leap provider certificate fingerprint>', default=None, help='use specified fingerprint to validate connection with LEAP provider', dest='leap_provider_cert_fingerprint')