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
b4d74fd2
Unverified
Commit
b4d74fd2
authored
Mar 04, 2018
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve show command
parent
c008f402
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
42 additions
and
12 deletions
+42
-12
poetry/console/commands/show.py
+34
-7
poetry/packages/locker.py
+2
-0
poetry/packages/package.py
+1
-5
poetry/repositories/legacy_repository.py
+1
-0
poetry/repositories/pypi_repository.py
+4
-0
No files found.
poetry/console/commands/show.py
View file @
b4d74fd2
...
@@ -72,6 +72,7 @@ lists all packages available."""
...
@@ -72,6 +72,7 @@ lists all packages available."""
rows
=
[
rows
=
[
[
'<info>name</>'
,
f
' : <fg=cyan>{pkg.pretty_name}</>'
],
[
'<info>name</>'
,
f
' : <fg=cyan>{pkg.pretty_name}</>'
],
[
'<info>version</>'
,
f
' : <comment>{pkg.pretty_version}</>'
],
[
'<info>version</>'
,
f
' : <comment>{pkg.pretty_version}</>'
],
[
'<info>description</>'
,
f
' : {pkg.description}'
],
]
]
table
.
add_rows
(
rows
)
table
.
add_rows
(
rows
)
...
@@ -87,14 +88,33 @@ lists all packages available."""
...
@@ -87,14 +88,33 @@ lists all packages available."""
return
0
return
0
show_latest
=
self
.
option
(
'latest'
)
show_latest
=
self
.
option
(
'latest'
)
terminal
=
self
.
get_application
()
.
terminal
width
=
terminal
.
width
name_length
=
version_length
=
latest_length
=
0
latest_packages
=
{}
# Computing widths
for
locked
in
locked_packages
:
for
locked
in
locked_packages
:
row
=
[
f
'<fg=cyan>{locked.pretty_name}</>'
,
' '
+
locked
.
version
]
name_length
=
max
(
name_length
,
len
(
locked
.
pretty_name
))
version_length
=
max
(
version_length
,
len
(
locked
.
full_pretty_version
))
if
show_latest
:
if
show_latest
:
latest
=
self
.
find_latest_package
(
locked
)
latest
=
self
.
find_latest_package
(
locked
)
if
not
latest
:
if
not
latest
:
latest
=
locked
latest
=
locked
latest_packages
[
locked
.
pretty_name
]
=
latest
latest_length
=
max
(
latest_length
,
len
(
latest
.
full_pretty_version
))
write_version
=
name_length
+
version_length
+
3
<=
width
write_latest
=
name_length
+
version_length
+
latest_length
+
3
<=
width
write_description
=
name_length
+
version_length
+
latest_length
+
24
<=
width
for
locked
in
locked_packages
:
line
=
f
'<fg=cyan>{locked.pretty_name:{name_length}}</>'
if
write_version
:
line
+=
f
' {locked.full_pretty_version:{version_length}}'
if
show_latest
and
write_latest
:
latest
=
latest_packages
[
locked
.
pretty_name
]
update_status
=
self
.
get_update_status
(
latest
,
locked
)
update_status
=
self
.
get_update_status
(
latest
,
locked
)
color
=
'green'
color
=
'green'
if
update_status
==
'semver-safe-update'
:
if
update_status
==
'semver-safe-update'
:
...
@@ -102,19 +122,26 @@ lists all packages available."""
...
@@ -102,19 +122,26 @@ lists all packages available."""
elif
update_status
==
'update-possible'
:
elif
update_status
==
'update-possible'
:
color
=
'yellow'
color
=
'yellow'
row
.
append
(
f
' <fg={color}>{latest.version}</>'
)
line
+=
f
' <fg={color}>{latest.version:{latest_length}}</>'
if
self
.
option
(
'outdated'
)
and
update_status
==
'up-to-date'
:
if
self
.
option
(
'outdated'
)
and
update_status
==
'up-to-date'
:
continue
continue
row
.
append
(
locked
.
description
)
if
write_description
:
description
=
locked
.
description
remaining
=
width
-
name_length
-
version_length
-
4
if
show_latest
:
remaining
-=
latest_length
table
.
add_row
(
row
)
if
len
(
locked
.
description
)
>
remaining
:
description
=
description
[:
remaining
-
3
]
+
'...'
table
.
render
()
line
+=
' '
+
description
self
.
line
(
line
)
def
display_package_tree
(
self
,
package
,
installed_repo
):
def
display_package_tree
(
self
,
package
,
installed_repo
):
self
.
write
(
f
'<info>{package.pretty_name}</info>'
)
self
.
write
(
f
'<info>{package.pretty_name}</info>'
)
self
.
line
(
f
' {package.pretty_version}'
)
self
.
line
(
f
' {package.pretty_version}
{package.description}
'
)
dependencies
=
package
.
requires
dependencies
=
package
.
requires
dependencies
=
sorted
(
dependencies
,
key
=
lambda
x
:
x
.
name
)
dependencies
=
sorted
(
dependencies
,
key
=
lambda
x
:
x
.
name
)
...
...
poetry/packages/locker.py
View file @
b4d74fd2
...
@@ -88,6 +88,7 @@ class Locker:
...
@@ -88,6 +88,7 @@ class Locker:
info
[
'version'
],
info
[
'version'
],
info
[
'version'
]
info
[
'version'
]
)
)
package
.
description
=
info
.
get
(
'description'
,
''
)
package
.
category
=
info
[
'category'
]
package
.
category
=
info
[
'category'
]
package
.
optional
=
info
[
'optional'
]
package
.
optional
=
info
[
'optional'
]
package
.
hashes
=
lock_data
[
'metadata'
][
'hashes'
][
info
[
'name'
]]
package
.
hashes
=
lock_data
[
'metadata'
][
'hashes'
][
info
[
'name'
]]
...
@@ -186,6 +187,7 @@ class Locker:
...
@@ -186,6 +187,7 @@ class Locker:
data
=
{
data
=
{
'name'
:
package
.
pretty_name
,
'name'
:
package
.
pretty_name
,
'version'
:
package
.
pretty_version
,
'version'
:
package
.
pretty_version
,
'description'
:
package
.
description
,
'category'
:
package
.
category
,
'category'
:
package
.
category
,
'optional'
:
package
.
optional
,
'optional'
:
package
.
optional
,
'python-versions'
:
package
.
python_versions
,
'python-versions'
:
package
.
python_versions
,
...
...
poetry/packages/package.py
View file @
b4d74fd2
...
@@ -52,7 +52,7 @@ class Package:
...
@@ -52,7 +52,7 @@ class Package:
self
.
_version
=
version
self
.
_version
=
version
self
.
_pretty_version
=
pretty_version
or
version
self
.
_pretty_version
=
pretty_version
or
version
self
.
_
description
=
''
self
.
description
=
''
self
.
_stability
=
parse_stability
(
version
)
self
.
_stability
=
parse_stability
(
version
)
self
.
_dev
=
self
.
_stability
==
'dev'
self
.
_dev
=
self
.
_stability
==
'dev'
...
@@ -92,10 +92,6 @@ class Package:
...
@@ -92,10 +92,6 @@ class Package:
return
self
.
_pretty_version
return
self
.
_pretty_version
@property
@property
def
description
(
self
):
return
self
.
_description
@property
def
unique_name
(
self
):
def
unique_name
(
self
):
return
self
.
name
+
'-'
+
self
.
_version
return
self
.
name
+
'-'
+
self
.
_version
...
...
poetry/repositories/legacy_repository.py
View file @
b4d74fd2
...
@@ -174,6 +174,7 @@ class LegacyRepository(Repository):
...
@@ -174,6 +174,7 @@ class LegacyRepository(Repository):
data
=
{
data
=
{
'name'
:
name
,
'name'
:
name
,
'version'
:
version
,
'version'
:
version
,
'summary'
:
''
,
'requires_dist'
:
requires
,
'requires_dist'
:
requires
,
'digests'
:
hashes
'digests'
:
hashes
}
}
...
...
poetry/repositories/pypi_repository.py
View file @
b4d74fd2
...
@@ -91,6 +91,9 @@ class PyPiRepository(Repository):
...
@@ -91,6 +91,9 @@ class PyPiRepository(Repository):
)
)
)
)
# Adding description
package
.
description
=
release_info
.
get
(
'summary'
,
''
)
# Adding hashes information
# Adding hashes information
package
.
hashes
=
release_info
[
'digests'
]
package
.
hashes
=
release_info
[
'digests'
]
...
@@ -163,6 +166,7 @@ class PyPiRepository(Repository):
...
@@ -163,6 +166,7 @@ class PyPiRepository(Repository):
data
=
{
data
=
{
'name'
:
info
[
'name'
],
'name'
:
info
[
'name'
],
'version'
:
info
[
'version'
],
'version'
:
info
[
'version'
],
'summary'
:
info
[
'summary'
],
'platform'
:
info
[
'platform'
],
'platform'
:
info
[
'platform'
],
'requires_dist'
:
info
[
'requires_dist'
],
'requires_dist'
:
info
[
'requires_dist'
],
'requires_python'
:
info
[
'requires_python'
],
'requires_python'
:
info
[
'requires_python'
],
...
...
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