login page
This commit is contained in:
59
Lib/site-packages/pipenv/vendor/passa/actions/init.py
vendored
Normal file
59
Lib/site-packages/pipenv/vendor/passa/actions/init.py
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
# -*- coding=utf-8 -*-
|
||||
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import io
|
||||
import os
|
||||
from pip_shims import Command as PipCommand, cmdoptions
|
||||
import plette
|
||||
import six
|
||||
import vistir
|
||||
|
||||
|
||||
class PipCmd(PipCommand):
|
||||
name = "PipCmd"
|
||||
|
||||
|
||||
def get_sources(urls, trusted_hosts):
|
||||
trusted_hosts = [six.moves.urllib.parse.urlparse(url).netloc for url in trusted_hosts]
|
||||
sources = []
|
||||
for url in urls:
|
||||
parsed_url = six.moves.urllib.parse.urlparse(url)
|
||||
netloc = parsed_url.netloc
|
||||
if '@' in netloc:
|
||||
_, _, netloc = netloc.rpartition('@')
|
||||
name, _, _ = netloc.partition('.') # Just use the domain name as the source name
|
||||
verify_ssl = True
|
||||
if netloc in trusted_hosts:
|
||||
verify_ssl = False
|
||||
sources.append({"url": url, "name": name, "verify_ssl": verify_ssl})
|
||||
return sources
|
||||
|
||||
|
||||
def init_project(root=None, python_version=None):
|
||||
pipfile_path = os.path.join(root, "Pipfile")
|
||||
if os.path.isfile(pipfile_path):
|
||||
raise RuntimeError("{0!r} is already a Pipfile project".format(root))
|
||||
if not os.path.exists(root):
|
||||
vistir.path.mkdir_p(root, mode=0o755)
|
||||
pip_command = PipCmd()
|
||||
cmdoptions.make_option_group(cmdoptions.index_group, pip_command.parser)
|
||||
parsed, _ = pip_command.parser.parse_args([])
|
||||
index_urls = [parsed.index_url] + parsed.extra_index_urls
|
||||
sources = get_sources(index_urls, parsed.trusted_hosts)
|
||||
data = {
|
||||
"sources": sources,
|
||||
"packages": {},
|
||||
"dev-packages": {},
|
||||
}
|
||||
if python_version:
|
||||
data["requires"] = {"python_version": python_version}
|
||||
return create_project(pipfile_path=pipfile_path, data=data)
|
||||
|
||||
|
||||
def create_project(pipfile_path, data={}):
|
||||
pipfile = plette.pipfiles.Pipfile(data=data)
|
||||
with io.open(pipfile_path, "w") as fh:
|
||||
pipfile.dump(fh)
|
||||
print("Successfully created new pipfile at {0!r}".format(pipfile_path))
|
||||
return 0
|
||||
Reference in New Issue
Block a user