Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos.core
Commits
146ff731
Commit
146ff731
authored
Jun 22, 2011
by
Cédric de Saint Martin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add simplifications in slapconsole : fetch master_url and certificate, and create new slap instance
parent
1ea9443a
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
76 additions
and
0 deletions
+76
-0
slapos/console.py
slapos/console.py
+76
-0
No files found.
slapos/console.py
View file @
146ff731
...
...
@@ -25,5 +25,81 @@
#
##############################################################################
import
slapos.slap.slap
import
sys
from
optparse
import
OptionParser
,
Option
import
ConfigParser
class
Parser
(
OptionParser
):
"""
Parse all arguments.
"""
def
__init__
(
self
,
usage
=
None
,
version
=
None
):
"""
Initialize all options possibles.
"""
OptionParser
.
__init__
(
self
,
usage
=
usage
,
version
=
version
,
option_list
=
[
Option
(
"-u"
,
"--master_url"
,
default
=
None
,
action
=
"store"
,
help
=
"Url of SlapOS Master to use."
),
Option
(
"-k"
,
"--key_file"
,
action
=
"store"
,
help
=
"SSL Authorisation key file."
),
Option
(
"-c"
,
"--cert_file"
,
action
=
"store"
,
help
=
"SSL Authorisation certificate file."
)
])
#TODO option list
def
check_args
(
self
):
"""
Check arguments
"""
(
options
,
args
)
=
self
.
parse_args
()
if
len
(
args
)
!=
1
:
self
.
error
(
"Incorrect number of arguments"
)
return
options
,
args
[
0
]
class
Config
:
def
setConfig
(
self
,
option_dict
,
configuration_file_path
):
"""
Set options given by parameters.
"""
# Set options parameters
for
option
,
value
in
option_dict
.
__dict__
.
items
():
setattr
(
self
,
option
,
value
)
# Load configuration file
configuration_parser
=
ConfigParser
.
SafeConfigParser
()
configuration_parser
.
read
(
configuration_file_path
)
# Merges the arguments and configuration
for
section
in
(
"slapos"
,):
configuration_dict
=
dict
(
configuration_parser
.
items
(
section
))
for
key
in
configuration_dict
:
if
not
getattr
(
self
,
key
,
None
):
setattr
(
self
,
key
,
configuration_dict
[
key
])
if
not
self
.
master_url
:
raise
ValueError
(
'master-url is required.'
)
def
run
():
usage
=
"usage: %s [options] CONFIGURATION_FILE"
%
sys
.
argv
[
0
]
# Parse arguments
config
=
Config
()
config
.
setConfig
(
*
Parser
(
usage
=
usage
).
check_args
())
slap
=
slapos
.
slap
.
slap
()
slap
.
initializeConnection
(
'https://slap.vifib.com'
,
key_file
=
config
.
key_file
,
cert_file
=
config
.
cert_file
)
local
=
globals
()
local
[
'slap'
]
=
slap
__import__
(
"code"
).
interact
(
banner
=
""
,
local
=
globals
())
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment