本文整理汇总了Python中pythonz.downloader.Downloader.read_head_info方法的典型用法代码示例。如果您正苦于以下问题:Python Downloader.read_head_info方法的具体用法?Python Downloader.read_head_info怎么用?Python Downloader.read_head_info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pythonz.downloader.Downloader
的用法示例。
在下文中一共展示了Downloader.read_head_info方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: install
# 需要导入模块: from pythonz.downloader import Downloader [as 别名]
# 或者: from pythonz.downloader.Downloader import read_head_info [as 别名]
def install(self):
# get content type.
if is_file(self.download_url):
path = fileurl_to_path(self.download_url)
self.content_type = mimetypes.guess_type(path)[0]
else:
headerinfo = Downloader.read_head_info(self.download_url)
self.content_type = headerinfo['content-type']
if is_html(self.content_type):
# note: maybe got 404 or 503 http status code.
logger.error("Invalid content-type: `%s`" % self.content_type)
return
if os.path.isdir(self.install_dir):
logger.info("You have already installed `%s`" % self.pkg.name)
return
self.download_and_extract()
logger.info("\nThis could take a while. You can run the following command on another shell to track the status:")
logger.info(" tail -f %s\n" % self.logfile)
logger.info("Installing %s into %s" % (self.pkg.name, self.install_dir))
try:
self.patch()
self.configure()
self.make()
self.make_install()
except Exception:
import traceback
traceback.print_exc()
rm_r(self.install_dir)
logger.error("Failed to install %s. Check %s to see why." % (self.pkg.name, self.logfile))
sys.exit(1)
self.symlink()
logger.info("\nInstalled %(pkgname)s successfully." % {"pkgname": self.pkg.name})
示例2: install
# 需要导入模块: from pythonz.downloader import Downloader [as 别名]
# 或者: from pythonz.downloader.Downloader import read_head_info [as 别名]
def install(self):
# cleanup
if os.path.isdir(self.build_dir):
shutil.rmtree(self.build_dir)
# get content type.
if is_file(self.download_url):
path = fileurl_to_path(self.download_url)
self.content_type = mimetypes.guess_type(path)[0]
else:
headerinfo = Downloader.read_head_info(self.download_url)
self.content_type = headerinfo['content-type']
if is_html(self.content_type):
# note: maybe got 404 or 503 http status code.
logger.error("Invalid content-type: `%s`" % self.content_type)
return
if os.path.isdir(self.install_dir):
logger.info("You have already installed `%s`" % self.pkg.name)
return
self.download_and_extract()
logger.info("\nThis could take a while. You can run the following command on another shell to track the status:")
logger.info(" tail -f %s\n" % self.logfile)
logger.info("Installing %s into %s" % (self.pkg.name, self.install_dir))
shutil.copytree(self.build_dir, self.install_dir)
self.symlink()
logger.info("\nInstalled %(pkgname)s successfully." % {"pkgname": self.pkg.name})
示例3: install
# 需要导入模块: from pythonz.downloader import Downloader [as 别名]
# 或者: from pythonz.downloader.Downloader import read_head_info [as 别名]
def install(self):
# check if java is installed
r = subprocess.call("command -v java > /dev/null", shell=True)
if r != 0:
logger.error("Jython requires Java to be installed, but the 'java' command was not found in the path.")
return
# get content type.
if is_file(self.download_url):
path = fileurl_to_path(self.download_url)
self.content_type = mimetypes.guess_type(path)[0]
else:
try:
headerinfo = Downloader.read_head_info(self.download_url)
except DownloadError:
self.content_type = None
else:
self.content_type = headerinfo['content-type']
if is_html(self.content_type):
# note: maybe got 404 or 503 http status code.
logger.error("Invalid content-type: `%s`" % self.content_type)
return
self.download()
logger.info("\nThis could take a while. You can run the following command on another shell to track the status:")
logger.info(" tail -f %s\n" % self.logfile)
logger.info("Installing %s into %s" % (self.pkg.name, self.install_dir))
cmd = 'java -jar %s -s -d %s' % (self.download_file, self.install_dir)
s = Subprocess(log=self.logfile, verbose=self.options.verbose)
s.check_call(cmd)
self.symlink()
logger.info("\nInstalled %(pkgname)s successfully." % {"pkgname": self.pkg.name})
示例4: run_command
# 需要导入模块: from pythonz.downloader import Downloader [as 别名]
# 或者: from pythonz.downloader.Downloader import read_head_info [as 别名]
def run_command(self, options, args):
headinfo = Downloader.read_head_info(PYTHONZ_UPDATE_URL)
content_type = headinfo["content-type"]
filename = "pythonz-latest"
distname = "%s.tgz" % filename
download_file = os.path.join(PATH_DISTS, distname)
# Remove old tarball
unlink(download_file)
logger.info("Downloading %s as %s" % (distname, download_file))
try:
Downloader.fetch(PYTHONZ_UPDATE_URL, download_file)
except DownloadError:
unlink(download_file)
logger.error("Failed to download. `%s`" % PYTHONZ_UPDATE_URL)
sys.exit(1)
except:
unlink(download_file)
raise
extract_dir = os.path.join(PATH_BUILD, filename)
rm_r(extract_dir)
if not extract_downloadfile(content_type, download_file, extract_dir):
sys.exit(1)
try:
logger.info("Installing %s into %s" % (extract_dir, ROOT))
s = Subprocess()
s.check_call([sys.executable, os.path.join(extract_dir, "pythonz_install.py"), "--upgrade"])
except:
logger.error("Failed to update pythonz.")
sys.exit(1)
logger.info("pythonz has been updated.")