Merge pull request #120 from indentlabs/master
Use S3's static-public-assets bucket instead of louismullie.com
This commit is contained in:
commit
8c6450a0d7
|
@ -1,11 +1,11 @@
|
|||
# A dependency manager for Treat language plugins.
|
||||
# Usage: Treat::Installer.install('language')
|
||||
module Treat::Core::Installer
|
||||
|
||||
|
||||
require 'schiphol'
|
||||
|
||||
# Address of the server with the files.
|
||||
Server = 'www.louismullie.com'
|
||||
Server = 's3.amazonaws.com/static-public-assets'
|
||||
|
||||
# Filenames for the Stanford packages.
|
||||
StanfordPackages = {
|
||||
|
@ -20,34 +20,34 @@ module Treat::Core::Installer
|
|||
:bin => File.absolute_path(Treat.paths.bin),
|
||||
:models => File.absolute_path(Treat.paths.models)
|
||||
}
|
||||
|
||||
|
||||
# Install required dependencies and optional
|
||||
# dependencies for a specific language.
|
||||
def self.install(language = 'english')
|
||||
|
||||
|
||||
# Require the Rubygem dependency installer.
|
||||
silence_warnings do
|
||||
require 'rubygems/dependency_installer'
|
||||
end
|
||||
|
||||
|
||||
@@installer = Gem::DependencyInstaller.new
|
||||
|
||||
|
||||
if language == 'travis'
|
||||
install_travis; return
|
||||
end
|
||||
|
||||
|
||||
l = "#{language.to_s.capitalize} language"
|
||||
|
||||
puts "\nTreat Installer, v. #{Treat::VERSION.to_s}\n\n"
|
||||
|
||||
|
||||
begin
|
||||
|
||||
title "Installing core dependencies."
|
||||
install_language_dependencies('agnostic')
|
||||
|
||||
|
||||
title "Installing dependencies for the #{l}.\n"
|
||||
install_language_dependencies(language)
|
||||
|
||||
|
||||
# If gem is installed only, download models.
|
||||
begin
|
||||
Gem::Specification.find_by_name('punkt-segmenter')
|
||||
|
@ -73,7 +73,7 @@ module Treat::Core::Installer
|
|||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
# Minimal install for Travis CI.
|
||||
def self.install_travis
|
||||
install_language_dependencies(:agnostic)
|
||||
|
@ -81,7 +81,7 @@ module Treat::Core::Installer
|
|||
download_stanford(:minimal)
|
||||
download_punkt_models(:english)
|
||||
end
|
||||
|
||||
|
||||
|
||||
def self.install_language_dependencies(language)
|
||||
dependencies = Treat.languages[language].dependencies
|
||||
|
@ -92,31 +92,31 @@ module Treat::Core::Installer
|
|||
end
|
||||
|
||||
def self.download_stanford(package = :minimal)
|
||||
|
||||
|
||||
f = StanfordPackages[package]
|
||||
url = "http://#{Server}/treat/#{f}"
|
||||
loc = Schiphol.download(url,
|
||||
loc = Schiphol.download(url,
|
||||
download_folder: Treat.paths.tmp
|
||||
)
|
||||
puts "- Unzipping package ..."
|
||||
dest = File.join(Treat.paths.tmp, 'stanford')
|
||||
unzip_stanford(loc, dest)
|
||||
|
||||
|
||||
model_dir = File.join(Paths[:models], 'stanford')
|
||||
bin_dir = File.join(Paths[:bin], 'stanford')
|
||||
origin = File.join(Paths[:tmp], 'stanford')
|
||||
|
||||
|
||||
# Mac hidden files fix.
|
||||
mac_remove = File.join(dest, '__MACOSX')
|
||||
if File.readable?(mac_remove)
|
||||
FileUtils.rm_rf(mac_remove)
|
||||
end
|
||||
|
||||
|
||||
unless File.readable?(bin_dir)
|
||||
puts "- Creating directory bin/stanford ..."
|
||||
FileUtils.mkdir_p(bin_dir)
|
||||
end
|
||||
|
||||
|
||||
unless File.readable?(model_dir)
|
||||
puts "- Creating directory models/stanford ..."
|
||||
FileUtils.mkdir_p(model_dir)
|
||||
|
@ -127,18 +127,18 @@ module Treat::Core::Installer
|
|||
Dir.glob(File.join(origin, '*')) do |f|
|
||||
next if ['.', '..'].include?(f)
|
||||
if f.index('jar')
|
||||
FileUtils.cp(f, File.join(Paths[:bin],
|
||||
FileUtils.cp(f, File.join(Paths[:bin],
|
||||
'stanford', File.basename(f)))
|
||||
elsif FileTest.directory?(f)
|
||||
FileUtils.cp_r(f, model_dir)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
puts "- Cleaning up..."
|
||||
FileUtils.rm_rf(origin)
|
||||
|
||||
|
||||
'Done.'
|
||||
|
||||
|
||||
end
|
||||
|
||||
def self.download_punkt_models(language)
|
||||
|
@ -146,7 +146,7 @@ module Treat::Core::Installer
|
|||
f = "#{language}.yaml"
|
||||
dest = "#{Treat.paths.models}punkt/"
|
||||
url = "http://#{Server}/treat/punkt/#{f}"
|
||||
loc = Schiphol.download(url,
|
||||
loc = Schiphol.download(url,
|
||||
download_folder: Treat.paths.tmp
|
||||
)
|
||||
unless File.readable?(dest)
|
||||
|
@ -156,7 +156,7 @@ module Treat::Core::Installer
|
|||
|
||||
puts "- Copying model file to models/punkt ..."
|
||||
FileUtils.cp(loc, File.join(Paths[:models], 'punkt', f))
|
||||
|
||||
|
||||
puts "- Cleaning up..."
|
||||
FileUtils.rm_rf(Paths[:tmp] + Server)
|
||||
|
||||
|
@ -185,7 +185,7 @@ module Treat::Core::Installer
|
|||
puts "Warning: couldn't install " +
|
||||
"gem '#{dependency}' (#{error.message})."
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
|
||||
# Unzip a file to the destination path.
|
||||
|
@ -193,7 +193,7 @@ module Treat::Core::Installer
|
|||
|
||||
require 'zip/zip'
|
||||
f_path = ''
|
||||
|
||||
|
||||
Zip::ZipFile.open(file) do |zip_file|
|
||||
zip_file.each do |f|
|
||||
f_path = File.join(destination, f.name)
|
||||
|
|
|
@ -3,7 +3,7 @@ $:.push File.expand_path('../lib', __FILE__)
|
|||
require 'treat/version'
|
||||
|
||||
Gem::Specification.new do |s|
|
||||
|
||||
|
||||
s.name = 'treat'
|
||||
s.version = Treat::VERSION
|
||||
s.authors = ['Louis Mullie']
|
||||
|
@ -11,30 +11,31 @@ Gem::Specification.new do |s|
|
|||
s.homepage = 'https://github.com/louismullie/treat'
|
||||
s.summary = %q{ Text Retrieval, Extraction and Annotation Toolkit. }
|
||||
s.description = %q{ Treat is a natural language processing framework for Ruby. }
|
||||
|
||||
|
||||
# Add all files.
|
||||
s.files =
|
||||
Dir['bin/**/*'] +
|
||||
Dir['lib/**/*'] +
|
||||
s.files =
|
||||
Dir['bin/**/*'] +
|
||||
Dir['lib/**/*'] +
|
||||
Dir['spec/**/*'] +
|
||||
Dir['models/**/*'] +
|
||||
Dir['tmp/**/*'] +
|
||||
Dir['models/**/*'] +
|
||||
Dir['tmp/**/*'] +
|
||||
Dir['files/**/*'] +
|
||||
['README.md', 'LICENSE']
|
||||
|
||||
|
||||
# Runtime dependencies
|
||||
s.add_runtime_dependency 'schiphol'
|
||||
s.add_runtime_dependency 'birch'
|
||||
s.add_runtime_dependency 'yomu'
|
||||
|
||||
|
||||
# Development dependencies
|
||||
s.add_development_dependency 'rspec'
|
||||
s.add_development_dependency 'rake'
|
||||
s.add_development_dependency 'simplecov'
|
||||
|
||||
|
||||
# Post-install message
|
||||
s.post_install_message = %q{Thanks for installing Treat.
|
||||
To complete the installation, run `require 'treat'` in an IRB
|
||||
terminal, followed by `Treat::Core::Installer.install`. }
|
||||
To complete the installation, run `require 'treat'` in an IRB
|
||||
terminal, followed by `Treat::Core::Installer.install`.
|
||||
}
|
||||
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue