embulk-output-ftp 0.1.5 → 0.1.6
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1235e5dc7f3eea1852b1bb9a78f0e0f4dd99cf9d
|
4
|
+
data.tar.gz: 8b73b609b94b5d2f00a95b13aaf7d416d2716248
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd0b1ffc89da7fd8e8a0a204503b3fc6bfb6d71760054a3708e6691e87d5c8ab75e5ce5075d64ab54e0925fadb18c0d05c4d2132ad6967757934b09ea7fe2f7c
|
7
|
+
data.tar.gz: bd01eb4835cbced4fb699b9a78bf2dbef3eba47461870ed8974ebbbd46a470b0ff4c48260e5079b8ce794a89f44b13b6d55d5619612cf792446425507e4db04d
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
## 0.1.6 - 2016-09-09
|
2
|
+
|
3
|
+
* [maintenance] Fix NullPointerException at FtpFileOutput.getRemoteDirectory() method [#12](https://github.com/embulk/embulk-output-ftp/pull/12)
|
4
|
+
|
5
|
+
|
1
6
|
## 0.1.5 - 2016-08-08
|
2
7
|
|
3
|
-
* [maintenance] Improve connection stability [#
|
8
|
+
* [maintenance] Improve connection stability [#9](https://github.com/embulk/embulk-output-ftp/pull/9)
|
4
9
|
|
5
10
|
## 0.1.4 - 2016-07-29
|
6
11
|
|
data/README.md
CHANGED
@@ -19,7 +19,7 @@ If you want to use SFTP, please use [embulk-output-sftp](https://github.com/civi
|
|
19
19
|
- **password**: password to login (string, default: `""`)
|
20
20
|
- **path_prefix** prefix of target files (string, required)
|
21
21
|
- **sequence_format** Format for sequence part of output files (string, default: `".%03d.%02d"`)
|
22
|
-
- **
|
22
|
+
- **file_ext** e.g. "csv.gz, json.gz" (string, required)
|
23
23
|
- **passive_mode**: use passive mode (boolean, default: true)
|
24
24
|
- **ascii_mode**: use ASCII mode instead of binary mode (boolean, default: false)
|
25
25
|
- **ssl**: use FTPS (SSL encryption). (boolean, default: false)
|
@@ -54,7 +54,7 @@ out:
|
|
54
54
|
port: 21
|
55
55
|
user: anonymous
|
56
56
|
path_prefix: /ftp/file/path/prefix
|
57
|
-
|
57
|
+
file_ext: csv
|
58
58
|
formatter:
|
59
59
|
type: csv.gz
|
60
60
|
header_line: false
|
@@ -76,7 +76,7 @@ out:
|
|
76
76
|
ssl_verify: false
|
77
77
|
|
78
78
|
path_prefix: /ftp/file/path/prefix
|
79
|
-
|
79
|
+
file_ext: csv
|
80
80
|
```
|
81
81
|
|
82
82
|
FTPS encryption with server certificate verification:
|
@@ -106,7 +106,7 @@ out:
|
|
106
106
|
-----END CERTIFICATE-----
|
107
107
|
|
108
108
|
path_prefix: /ftp/file/path/prefix
|
109
|
-
|
109
|
+
file_ext: csv
|
110
110
|
```
|
111
111
|
|
112
112
|
## Build
|
data/build.gradle
CHANGED
@@ -92,6 +92,10 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
92
92
|
@Config("max_connection_retry")
|
93
93
|
@ConfigDefault("10") // 10 times retry to connect FTP server if failed.
|
94
94
|
int getMaxConnectionRetry();
|
95
|
+
|
96
|
+
@Config("directory_separator")
|
97
|
+
@ConfigDefault("\"/\"")
|
98
|
+
String getDirectorySeparator();
|
95
99
|
}
|
96
100
|
|
97
101
|
private static final Logger log = Exec.getLogger(FtpFileOutputPlugin.class);
|
@@ -150,6 +154,7 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
150
154
|
private final String sequenceFormat;
|
151
155
|
private final String pathSuffix;
|
152
156
|
private final int maxConnectionRetry;
|
157
|
+
private final String separator;
|
153
158
|
private BufferedOutputStream output = null;
|
154
159
|
private int fileIndex;
|
155
160
|
private File file;
|
@@ -165,6 +170,7 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
165
170
|
this.sequenceFormat = task.getSequenceFormat();
|
166
171
|
this.pathSuffix = task.getFileNameExtension();
|
167
172
|
this.maxConnectionRetry = task.getMaxConnectionRetry();
|
173
|
+
this.separator = task.getDirectorySeparator();
|
168
174
|
}
|
169
175
|
|
170
176
|
@Override
|
@@ -178,7 +184,10 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
178
184
|
suffix = "." + suffix;
|
179
185
|
}
|
180
186
|
filePath = pathPrefix + String.format(sequenceFormat, taskIndex, fileIndex) + suffix;
|
181
|
-
|
187
|
+
if (!filePath.startsWith(separator)) {
|
188
|
+
filePath = separator + filePath;
|
189
|
+
}
|
190
|
+
remoteDirectory = getRemoteDirectory(filePath, separator);
|
182
191
|
file = Exec.getTempFileSpace().createTempFile(filePath, "tmp");
|
183
192
|
log.info("Writing local temporary file \"{}\"", file.getAbsolutePath());
|
184
193
|
output = new BufferedOutputStream(new FileOutputStream(file));
|
@@ -308,10 +317,17 @@ public class FtpFileOutputPlugin implements FileOutputPlugin
|
|
308
317
|
return Exec.newTaskReport();
|
309
318
|
}
|
310
319
|
|
311
|
-
private String getRemoteDirectory(String filePath)
|
320
|
+
private String getRemoteDirectory(String filePath, String separator)
|
312
321
|
{
|
313
322
|
Path path = Paths.get(filePath);
|
314
|
-
|
323
|
+
if (path.getParent() == null) {
|
324
|
+
return separator;
|
325
|
+
}
|
326
|
+
String parent = path.getParent().toString();
|
327
|
+
if (!parent.startsWith(separator)) {
|
328
|
+
parent = separator + parent;
|
329
|
+
}
|
330
|
+
return parent;
|
315
331
|
}
|
316
332
|
}
|
317
333
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-output-ftp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Satoshi Akama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,7 +67,7 @@ files:
|
|
67
67
|
- src/test/resources/sample_02.csv
|
68
68
|
- classpath/bcpkix-jdk15on-1.52.jar
|
69
69
|
- classpath/bcprov-jdk15on-1.52.jar
|
70
|
-
- classpath/embulk-output-ftp-0.1.
|
70
|
+
- classpath/embulk-output-ftp-0.1.6.jar
|
71
71
|
- classpath/ftp4j-1.7.2.jar
|
72
72
|
homepage: https://github.com/embulk/embulk-output-ftp
|
73
73
|
licenses:
|