web_translate_it 1.6.6 → 1.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +0 -1
- data/history.md +6 -0
- data/lib/web_translate_it/command_line.rb +20 -2
- data/lib/web_translate_it/translation_file.rb +30 -5
- data/lib/web_translate_it/util.rb +2 -0
- data/version.yml +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
[Homepage](https://webtranslateit.com) |
|
4
4
|
[RDocs](http://yardoc.org/docs/AtelierConvivialite-webtranslateit) |
|
5
|
-
[Metrics](http://getcaliper.com/caliper/project?repo=git%3A%2F%2Fgithub.com%2FAtelierConvivialite%2Fwebtranslateit.git) |
|
6
5
|
[Example app](http://github.com/AtelierConvivialite/rails_example_app) |
|
7
6
|
[Report a bug](http://github.com/AtelierConvivialite/webtranslateit/issues) |
|
8
7
|
[Support](http://help.webtranslateit.com)
|
data/history.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
## Version 1.6.7 /2010-05-05
|
2
|
+
|
3
|
+
* New: `wti add file_path` to create a new master language file on Web Translate It.
|
4
|
+
This is only for master language files. Target language files are created server-side,
|
5
|
+
and can be updated using `wti push --all`.
|
6
|
+
|
1
7
|
## Version 1.6.6 /2010-04-26
|
2
8
|
|
3
9
|
* New: `--merge` option to force WTI to perform a merge of this file with its database.
|
@@ -6,6 +6,7 @@ module WebTranslateIt
|
|
6
6
|
OPTIONS = <<-OPTION
|
7
7
|
pull Pull target language file(s) from Web Translate It.
|
8
8
|
push Push master language file(s) to Web Translate It.
|
9
|
+
add Create a new master language file to Web Translate It.
|
9
10
|
autoconf Configure your project to sync with Web Translate It.
|
10
11
|
stats Fetch and display your project statistics.
|
11
12
|
|
@@ -32,6 +33,8 @@ OPTION
|
|
32
33
|
pull
|
33
34
|
when 'push'
|
34
35
|
push
|
36
|
+
when 'add'
|
37
|
+
add
|
35
38
|
when 'autoconf'
|
36
39
|
autoconf
|
37
40
|
when 'stats'
|
@@ -61,8 +64,8 @@ OPTION
|
|
61
64
|
STDOUT.sync = true
|
62
65
|
configuration = fetch_configuration
|
63
66
|
fetch_locales_to_push(configuration).each do |locale|
|
64
|
-
|
65
|
-
|
67
|
+
merge = !(ARGV.index('--merge')).nil?
|
68
|
+
ignore_missing = !(ARGV.index('--ignore_missing')).nil?
|
66
69
|
configuration.files.find_all{ |file| file.locale == locale }.each do |file|
|
67
70
|
print "Pushing #{file.file_path}… "
|
68
71
|
puts file.upload(merge, ignore_missing)
|
@@ -70,6 +73,15 @@ OPTION
|
|
70
73
|
end
|
71
74
|
end
|
72
75
|
|
76
|
+
def self.add
|
77
|
+
STDOUT.sync = true
|
78
|
+
configuration = fetch_configuration
|
79
|
+
file_path = fetch_file_to_add(configuration)
|
80
|
+
file = TranslationFile.new(nil, file_path, nil, configuration.api_key)
|
81
|
+
print "Creating #{file.file_path}… "
|
82
|
+
puts file.create
|
83
|
+
end
|
84
|
+
|
73
85
|
def self.autoconf
|
74
86
|
puts "We will attempt to configure your project automagically"
|
75
87
|
api_key = Util.ask("Please enter your project API Key")
|
@@ -147,6 +159,12 @@ OPTION
|
|
147
159
|
return locales.uniq
|
148
160
|
end
|
149
161
|
|
162
|
+
def self.fetch_file_to_add(configuration)
|
163
|
+
index = ARGV.index('add')
|
164
|
+
file_path = ARGV[index+1].strip
|
165
|
+
return file_path
|
166
|
+
end
|
167
|
+
|
150
168
|
def self.fetch_locales_to_push(configuration)
|
151
169
|
if (index = ARGV.index('-l') || ARGV.index('--locale')).nil?
|
152
170
|
locales = [configuration.source_locale]
|
@@ -43,7 +43,6 @@ module WebTranslateIt
|
|
43
43
|
end
|
44
44
|
|
45
45
|
# Update a language file to Web Translate It by performing a PUT Request.
|
46
|
-
# Note that it is currently not possible to POST a new language file at the moment.
|
47
46
|
#
|
48
47
|
# Example of implementation:
|
49
48
|
#
|
@@ -52,10 +51,8 @@ module WebTranslateIt
|
|
52
51
|
# file = configuration.files.first
|
53
52
|
# file.upload # should respond the HTTP code 202 Accepted
|
54
53
|
#
|
55
|
-
#
|
56
|
-
#
|
57
|
-
# actually takes place.
|
58
|
-
# This is due to the fact that language file imports are handled by background processing.
|
54
|
+
# Note that the request might or might not eventually be acted upon, as it might be disallowed when processing
|
55
|
+
# actually takes place. This is due to the fact that language file imports are handled by background processing.
|
59
56
|
def upload(merge=false, ignore_missing=false)
|
60
57
|
if File.exists?(self.file_path)
|
61
58
|
File.open(self.file_path) do |file|
|
@@ -68,6 +65,30 @@ module WebTranslateIt
|
|
68
65
|
puts "\nFile #{self.file_path} doesn't exist!"
|
69
66
|
end
|
70
67
|
end
|
68
|
+
|
69
|
+
# Create a language file to Web Translate It by performing a POST Request.
|
70
|
+
#
|
71
|
+
# Example of implementation:
|
72
|
+
#
|
73
|
+
# configuration = WebTranslateIt::Configuration.new
|
74
|
+
# file = TranslationFile.new(nil, file_path, nil, configuration.api_key)
|
75
|
+
# file.create # should respond the HTTP code 201 Created
|
76
|
+
#
|
77
|
+
# Note that the request might or might not eventually be acted upon, as it might be disallowed when processing
|
78
|
+
# actually takes place. This is due to the fact that language file imports are handled by background processing.
|
79
|
+
#
|
80
|
+
def create
|
81
|
+
if File.exists?(self.file_path)
|
82
|
+
File.open(self.file_path) do |file|
|
83
|
+
WebTranslateIt::Util.http_connection do |http|
|
84
|
+
request = Net::HTTP::Post::Multipart.new(api_url_for_create, { "name" => self.file_path, "file" => UploadIO.new(file, "text/plain", file.path) })
|
85
|
+
Util.handle_response(http.request(request))
|
86
|
+
end
|
87
|
+
end
|
88
|
+
else
|
89
|
+
puts "\nFile #{self.file_path} doesn't exist!"
|
90
|
+
end
|
91
|
+
end
|
71
92
|
|
72
93
|
protected
|
73
94
|
|
@@ -80,5 +101,9 @@ module WebTranslateIt
|
|
80
101
|
def api_url
|
81
102
|
"/api/projects/#{self.api_key}/files/#{self.id}/locales/#{self.locale}"
|
82
103
|
end
|
104
|
+
|
105
|
+
def api_url_for_create
|
106
|
+
"/api/projects/#{self.api_key}/files"
|
107
|
+
end
|
83
108
|
end
|
84
109
|
end
|
@@ -43,6 +43,8 @@ module WebTranslateIt
|
|
43
43
|
else
|
44
44
|
return response.body if return_response
|
45
45
|
return "200 OK" if response.code.to_i == 200
|
46
|
+
return "201 Created" if response.code.to_i == 201
|
47
|
+
return "202 Accepted" if response.code.to_i == 202
|
46
48
|
return "304 Not Modified" if response.code.to_i == 304
|
47
49
|
end
|
48
50
|
end
|
data/version.yml
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 6
|
8
|
-
-
|
9
|
-
version: 1.6.
|
8
|
+
- 7
|
9
|
+
version: 1.6.7
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "\xC3\x89douard Bri\xC3\xA8re"
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-05-05 00:00:00 +02:00
|
18
18
|
default_executable: wti
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|