Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
python-poetry
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
python-poetry
Commits
85dc9a17
Unverified
Commit
85dc9a17
authored
Oct 29, 2019
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix the run command behavior
parent
8fb4f452
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
102 additions
and
0 deletions
+102
-0
poetry/console/config/application_config.py
+102
-0
No files found.
poetry/console/config/application_config.py
View file @
85dc9a17
...
...
@@ -4,6 +4,18 @@ from cleo.config import ApplicationConfig as BaseApplicationConfig
from
clikit.api.event
import
PRE_HANDLE
from
clikit.api.event
import
PreHandleEvent
from
clikit.api.formatter
import
Style
from
clikit.api.io
import
Input
from
clikit.api.io
import
InputStream
from
clikit.api.io
import
Output
from
clikit.api.io
import
OutputStream
from
clikit.api.io.flags
import
DEBUG
from
clikit.api.io.flags
import
VERBOSE
from
clikit.api.io.flags
import
VERY_VERBOSE
from
clikit.formatter
import
AnsiFormatter
from
clikit.formatter
import
PlainFormatter
from
clikit.io.input_stream
import
StandardInputStream
from
clikit.io.output_stream
import
ErrorOutputStream
from
clikit.io.output_stream
import
StandardOutputStream
from
poetry.console.commands.command
import
Command
from
poetry.console.commands.env_command
import
EnvCommand
...
...
@@ -72,3 +84,93 @@ class ApplicationConfig(BaseApplicationConfig):
io
.
write_line
(
"Using virtualenv: <comment>{}</>"
.
format
(
env
.
path
))
command
.
set_env
(
env
)
def
resolve_help_command
(
self
,
event
,
event_name
,
dispatcher
):
# type: (PreResolveEvent, str, EventDispatcher) -> None
args
=
event
.
raw_args
application
=
event
.
application
if
args
.
has_option_token
(
"-h"
)
or
args
.
has_option_token
(
"--help"
):
from
clikit.api.resolver
import
ResolvedCommand
resolved_command
=
self
.
command_resolver
.
resolve
(
args
,
application
)
# If the current command is the run one, skip option
# check and interpret them as part of the executed command
if
resolved_command
.
command
.
name
==
"run"
:
event
.
set_resolved_command
(
resolved_command
)
return
event
.
stop_propagation
()
command
=
application
.
get_command
(
"help"
)
# Enable lenient parsing
parsed_args
=
command
.
parse
(
args
,
True
)
event
.
set_resolved_command
(
ResolvedCommand
(
command
,
parsed_args
))
event
.
stop_propagation
()
def
create_io
(
self
,
application
,
args
,
input_stream
=
None
,
output_stream
=
None
,
error_stream
=
None
,
):
# type: (Application, RawArgs, InputStream, OutputStream, OutputStream) -> IO
if
input_stream
is
None
:
input_stream
=
StandardInputStream
()
if
output_stream
is
None
:
output_stream
=
StandardOutputStream
()
if
error_stream
is
None
:
error_stream
=
ErrorOutputStream
()
style_set
=
application
.
config
.
style_set
if
output_stream
.
supports_ansi
():
output_formatter
=
AnsiFormatter
(
style_set
)
else
:
output_formatter
=
PlainFormatter
(
style_set
)
if
error_stream
.
supports_ansi
():
error_formatter
=
AnsiFormatter
(
style_set
)
else
:
error_formatter
=
PlainFormatter
(
style_set
)
io
=
self
.
io_class
(
Input
(
input_stream
),
Output
(
output_stream
,
output_formatter
),
Output
(
error_stream
,
error_formatter
),
)
resolved_command
=
application
.
resolve_command
(
args
)
# If the current command is the run one, skip option
# check and interpret them as part of the executed command
if
resolved_command
.
command
.
name
==
"run"
:
return
io
if
args
.
has_option_token
(
"--no-ansi"
):
formatter
=
PlainFormatter
(
style_set
)
io
.
output
.
set_formatter
(
formatter
)
io
.
error_output
.
set_formatter
(
formatter
)
elif
args
.
has_option_token
(
"--ansi"
):
formatter
=
AnsiFormatter
(
style_set
,
True
)
io
.
output
.
set_formatter
(
formatter
)
io
.
error_output
.
set_formatter
(
formatter
)
if
args
.
has_option_token
(
"-vvv"
)
or
self
.
is_debug
():
io
.
set_verbosity
(
DEBUG
)
elif
args
.
has_option_token
(
"-vv"
):
io
.
set_verbosity
(
VERY_VERBOSE
)
elif
args
.
has_option_token
(
"-v"
):
io
.
set_verbosity
(
VERBOSE
)
if
args
.
has_option_token
(
"--quiet"
)
or
args
.
has_option_token
(
"-q"
):
io
.
set_quiet
(
True
)
if
args
.
has_option_token
(
"--no-interaction"
)
or
args
.
has_option_token
(
"-n"
):
io
.
set_interactive
(
False
)
return
io
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