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
0124f2e0
Unverified
Commit
0124f2e0
authored
Apr 09, 2018
by
Sébastien Eustace
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix setup.py generation for Python 2.7
parent
2ab69984
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
13 deletions
+36
-13
poetry/masonry/builders/sdist.py
+16
-13
poetry/utils/_compat.py
+20
-0
No files found.
poetry/masonry/builders/sdist.py
View file @
0124f2e0
from
__future__
import
unicode_literals
# -*- coding: utf-8 -*-
import
os
import
os
import
re
import
re
import
tarfile
import
tarfile
...
@@ -15,6 +14,7 @@ from typing import List
...
@@ -15,6 +14,7 @@ from typing import List
from
poetry.packages
import
Dependency
from
poetry.packages
import
Dependency
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
Path
from
poetry.utils._compat
import
encode
from
poetry.utils._compat
import
encode
from
poetry.utils._compat
import
to_str
from
..utils.helpers
import
normalize_file_permissions
from
..utils.helpers
import
normalize_file_permissions
...
@@ -92,6 +92,7 @@ class SdistBuilder(Builder):
...
@@ -92,6 +92,7 @@ class SdistBuilder(Builder):
tar
.
addfile
(
tar_info
)
# Symlinks & ?
tar
.
addfile
(
tar_info
)
# Symlinks & ?
setup
=
self
.
build_setup
()
setup
=
self
.
build_setup
()
print
(
setup
)
tar_info
=
tarfile
.
TarInfo
(
pjoin
(
tar_dir
,
'setup.py'
))
tar_info
=
tarfile
.
TarInfo
(
pjoin
(
tar_dir
,
'setup.py'
))
tar_info
.
size
=
len
(
setup
)
tar_info
.
size
=
len
(
setup
)
tar
.
addfile
(
tar_info
,
BytesIO
(
setup
))
tar
.
addfile
(
tar_info
,
BytesIO
(
setup
))
...
@@ -101,8 +102,8 @@ class SdistBuilder(Builder):
...
@@ -101,8 +102,8 @@ class SdistBuilder(Builder):
version
=
self
.
_meta
.
version
,
version
=
self
.
_meta
.
version
,
summary
=
self
.
_meta
.
summary
,
summary
=
self
.
_meta
.
summary
,
home_page
=
self
.
_meta
.
home_page
,
home_page
=
self
.
_meta
.
home_page
,
author
=
self
.
_meta
.
author
,
author
=
to_str
(
self
.
_meta
.
author
)
,
author_email
=
self
.
_meta
.
author_email
,
author_email
=
to_str
(
self
.
_meta
.
author_email
)
,
))
))
tar_info
=
tarfile
.
TarInfo
(
pjoin
(
tar_dir
,
'PKG-INFO'
))
tar_info
=
tarfile
.
TarInfo
(
pjoin
(
tar_dir
,
'PKG-INFO'
))
...
@@ -161,13 +162,13 @@ class SdistBuilder(Builder):
...
@@ -161,13 +162,13 @@ class SdistBuilder(Builder):
return
encode
(
SETUP
.
format
(
return
encode
(
SETUP
.
format
(
before
=
'
\n
'
.
join
(
before
),
before
=
'
\n
'
.
join
(
before
),
name
=
self
.
_meta
.
name
,
name
=
to_str
(
self
.
_meta
.
name
)
,
version
=
self
.
_meta
.
version
,
version
=
to_str
(
self
.
_meta
.
version
)
,
description
=
self
.
_meta
.
summary
,
description
=
to_str
(
self
.
_meta
.
summary
)
,
long_description
=
self
.
_meta
.
description
,
long_description
=
to_str
(
self
.
_meta
.
description
)
,
author
=
self
.
_meta
.
author
,
author
=
to_str
(
self
.
_meta
.
author
)
,
author_email
=
self
.
_meta
.
author_email
,
author_email
=
to_str
(
self
.
_meta
.
author_email
)
,
url
=
self
.
_meta
.
home_page
,
url
=
to_str
(
self
.
_meta
.
home_page
)
,
extra
=
'
\n
'
.
join
(
extra
),
extra
=
'
\n
'
.
join
(
extra
),
after
=
'
\n
'
.
join
(
after
)
after
=
'
\n
'
.
join
(
after
)
))
))
...
@@ -235,7 +236,9 @@ class SdistBuilder(Builder):
...
@@ -235,7 +236,9 @@ class SdistBuilder(Builder):
for
extra_name
,
reqs
in
package
.
extras
.
items
():
for
extra_name
,
reqs
in
package
.
extras
.
items
():
for
req
in
reqs
:
for
req
in
reqs
:
if
req
.
name
==
dependency
.
name
:
if
req
.
name
==
dependency
.
name
:
requirement
=
dependency
.
to_pep_508
(
with_extras
=
False
)
requirement
=
to_str
(
dependency
.
to_pep_508
(
with_extras
=
False
)
)
if
';'
in
requirement
:
if
';'
in
requirement
:
requirement
,
conditions
=
requirement
.
split
(
';'
)
requirement
,
conditions
=
requirement
.
split
(
';'
)
...
@@ -255,7 +258,7 @@ class SdistBuilder(Builder):
...
@@ -255,7 +258,7 @@ class SdistBuilder(Builder):
extras
[
extra_name
]
.
append
(
requirement
)
extras
[
extra_name
]
.
append
(
requirement
)
continue
continue
requirement
=
dependency
.
to_pep_508
(
)
requirement
=
to_str
(
dependency
.
to_pep_508
()
)
if
';'
in
requirement
:
if
';'
in
requirement
:
requirement
,
conditions
=
requirement
.
split
(
';'
)
requirement
,
conditions
=
requirement
.
split
(
';'
)
...
...
poetry/utils/_compat.py
View file @
0124f2e0
...
@@ -54,3 +54,23 @@ def encode(string, encodings=None):
...
@@ -54,3 +54,23 @@ def encode(string, encodings=None):
pass
pass
return
string
.
encode
(
encodings
[
0
],
errors
=
'ignore'
)
return
string
.
encode
(
encodings
[
0
],
errors
=
'ignore'
)
def
to_str
(
string
):
if
isinstance
(
string
,
str
)
or
not
isinstance
(
string
,
(
unicode
,
bytes
)):
return
string
if
PY2
:
method
=
'encode'
else
:
method
=
'decode'
encodings
=
[
'utf-8'
,
'latin1'
,
'ascii'
]
for
encoding
in
encodings
:
try
:
return
getattr
(
string
,
method
)(
encoding
)
except
(
UnicodeEncodeError
,
UnicodeDecodeError
):
pass
return
getattr
(
string
,
method
)(
encodings
[
0
],
errors
=
'ignore'
)
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