Fix tests by removing uneeded error traces
[fanfix.git] / src / be / nikiroo / fanfix / supported / InfoText.java
CommitLineData
08fe2e33
NR
1package be.nikiroo.fanfix.supported;
2
3import java.io.File;
08fe2e33
NR
4import java.io.IOException;
5import java.io.InputStream;
08fe2e33
NR
6import java.net.URISyntaxException;
7import java.net.URL;
08fe2e33 8
68686a37 9import be.nikiroo.fanfix.data.MetaData;
08fe2e33
NR
10
11/**
12 * Support class for <tt>.info</tt> text files ({@link Text} files with a
13 * <tt>.info</tt> metadata file next to them).
14 * <p>
15 * The <tt>.info</tt> file is supposed to be written by this program, or
16 * compatible.
17 *
18 * @author niki
19 */
20class InfoText extends Text {
21 @Override
22 public String getSourceName() {
23 return "info-text";
24 }
25
26 @Override
68686a37 27 protected MetaData getMeta(URL source, InputStream in) throws IOException {
08fe2e33 28 try {
86d49dbc
NR
29 File sourceFile = new File(source.toURI());
30 sourceFile = assureNoTxt(sourceFile);
31
32 MetaData meta = InfoReader.readMeta(new File(sourceFile.getPath()
33 + ".info"), true);
68686a37 34
a7d266e6 35 // Some old .info files don't have those now required fields...
68686a37
NR
36 String test = meta.getTitle() == null ? "" : meta.getTitle();
37 test += meta.getAuthor() == null ? "" : meta.getAuthor();
38 test += meta.getDate() == null ? "" : meta.getDate();
a7d266e6 39 test += meta.getUrl() == null ? "" : meta.getUrl();
68686a37
NR
40 if (test.isEmpty()) {
41 MetaData superMeta = super.getMeta(source, reset(in));
42 if (meta.getTitle() == null || meta.getTitle().isEmpty()) {
43 meta.setTitle(superMeta.getTitle());
44 }
45 if (meta.getAuthor() == null || meta.getAuthor().isEmpty()) {
46 meta.setAuthor(superMeta.getAuthor());
47 }
48 if (meta.getDate() == null || meta.getDate().isEmpty()) {
49 meta.setDate(superMeta.getDate());
08fe2e33 50 }
a7d266e6
NR
51 if (meta.getUrl() == null || meta.getUrl().isEmpty()) {
52 meta.setUrl(superMeta.getUrl());
53 }
08fe2e33 54 }
08fe2e33 55
68686a37 56 return meta;
68686a37
NR
57 } catch (URISyntaxException e) {
58 throw new IOException("Cannot parse URL to file: " + source, e);
59 }
08fe2e33
NR
60 }
61
62 @Override
63 protected boolean supports(URL url) {
86d49dbc 64 return supports(url, true);
08fe2e33 65 }
08fe2e33 66}