EVENT ( "Event", true, PGNTag.QUESTION ),
SITE ( "Site", true, PGNTag.QUESTION ),
DATE ( "Date", true, PGNTag.QUESTION_DATE ),
+ TIME ( "Time", false, PGNTag.QUESTION_TIME ),
ROUND ( "Round", true, PGNTag.QUESTION ),
WHITE ( "White", true, PGNTag.QUESTION ),
BLACK ( "Black", true, PGNTag.QUESTION ),
SUBVARIATION ( "SubVariation", false, PGNTag.EMPTY ),
ECO ( "ECO", false, PGNTag.EMPTY ),
NIC ( "NIC", false, PGNTag.EMPTY ),
- TIME ( "Time", false, PGNTag.QUESTION_TIME ),
UTC_DATE ( "UTCDate", false, PGNTag.QUESTION_DATE ),
UTC_TIME ( "UTCTime", false, PGNTag.QUESTION_TIME ),
TIME_CONTROL ( "TimeControl", false, PGNTag.QUESTION ),
import java.util.Collection;
import java.util.List;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
/**
* PGNTournament
sb.append(
game.pgn()
).append(
- ChessHogScannerConstants.CRLF
+ CRLF
);
}
return sb.toString();
import java.util.HashMap;
import java.util.Map;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
import org.hedgecode.chess.scanner.entity.PGNEntity;
import org.hedgecode.chess.scanner.entity.PGNTag;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
/**
* AbstractPGNFormat
*
tag.getName(),
tagValue != null ? tagValue : tag.defaultValue()
)
- ).append(
- ChessHogScannerConstants.CRLF
- );
+ ).append(CRLF);
}
}
- sb.append(
- ChessHogScannerConstants.CRLF
- ).append(
+ sb.append(CRLF).append(
String.format(MOVES_FORMAT, moves(), result())
- ).append(
- ChessHogScannerConstants.CRLF
- );
+ ).append(CRLF);
return sb.toString();
}
protected void assignPGN() {
addTag(PGNTag.EVENT, gameData.room().name());
addTag(PGNTag.DATE, dateFormat.format(gameData.game().startAt()));
+ addTag(PGNTag.TIME, timeFormat.format(gameData.game().startAt()));
addTag(PGNTag.ROUND, gameData.game().roundSlug());
addTag(PGNTag.WHITE, gameData.game().white().name());
addTag(PGNTag.BLACK, gameData.game().black().name());
addTag(PGNTag.WHITE_TITLE, gameData.game().white().title());
addTag(PGNTag.BLACK_TITLE, gameData.game().black().title());
- addTag(PGNTag.WHITE_ELO, Integer.toString(gameData.game().white().elo()));
- addTag(PGNTag.BLACK_ELO, Integer.toString(gameData.game().black().elo()));
- addTag(PGNTag.TIME, timeFormat.format(gameData.game().startAt()));
+ addTag(PGNTag.WHITE_ELO, Integer.toString(gameData.game().whiteElo()));
+ addTag(PGNTag.BLACK_ELO, Integer.toString(gameData.game().blackElo()));
+ addTag(PGNTag.EVENT_DATE, dateFormat.format(gameData.room().startAt()));
addTag(PGNTag.RESULT, gameData.game().result());
+ if (gameData.moves().length > 0) {
+ addTag(PGNTag.PLY_COUNT, Integer.toString(gameData.moves().length));
+ }
addMoves(gameData.formatMoves());
}
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
import org.hedgecode.chess.scanner.ChessHogScannerException;
import org.hedgecode.chess.scanner.Scanner;
import org.hedgecode.chess.scanner.regex.RegexMatcher;
import org.hedgecode.chess.scanner.regex.RegexType;
import org.hedgecode.chess.scanner.regex.RegexTypeMatcher;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
/**
* AbstractRequestScanner
*
public abstract class AbstractRequestScanner implements Scanner {
protected String request(String url) throws ChessHogScannerException {
+ return request(url, true);
+ }
+
+ protected String request(String url, boolean withCrlf) throws ChessHogScannerException {
HttpGet request = new HttpGet(url);
CloseableHttpResponse response = null;
StringBuilder sb = new StringBuilder();
response = getClient().execute(request);
try (BufferedReader br = new BufferedReader(
new InputStreamReader(
- response.getEntity().getContent(),
- ChessHogScannerConstants.CHARSET
+ response.getEntity().getContent(), CHARSET
)
)) {
String line;
while ((line = br.readLine()) != null) {
- sb.append(
- line
- ).append(
- ChessHogScannerConstants.CRLF
- );
+ sb.append(line);
+ if (withCrlf) {
+ sb.append(CRLF);
+ }
}
}
} catch (IOException cause) {
return matchRequest(url, matcher, false);
}
- protected String match(String url, String match)
- throws ChessHogScannerException
- {
+ protected String match(String url, String match) throws ChessHogScannerException {
List<String> result = match(url, match, true);
return result.isEmpty() ? null : result.get(0);
}
try (BufferedReader br = new BufferedReader(
new InputStreamReader(
response.getEntity().getContent(),
- ChessHogScannerConstants.CHARSET
+ CHARSET
)
)) {
String line;
package org.hedgecode.chess.scanner.proxy;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
import org.hedgecode.chess.scanner.proxy.type.HTTPSetter;
import org.hedgecode.chess.scanner.proxy.type.SOCKSSetter;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
/**
* Setter for proxy settings.
*
*/
public enum Proxy {
- UNDEFINED ( ChessHogScannerConstants.PROXY_UNDEFINED, null ),
- HTTP ( ChessHogScannerConstants.PROXY_HTTP, new HTTPSetter() ),
- SOCKS ( ChessHogScannerConstants.PROXY_SOCKS, new SOCKSSetter() );
+ UNDEFINED ( PROXY_UNDEFINED, null ),
+ HTTP ( PROXY_HTTP, new HTTPSetter() ),
+ SOCKS ( PROXY_SOCKS, new SOCKSSetter() );
private String name;
private ProxySetter setter;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
/**
* RegexBuilder
String encodeQuery;
try {
encodeQuery = URLEncoder.encode(
- query, ChessHogScannerConstants.CHARSET.name()
+ query, CHARSET.name()
);
} catch (UnsupportedEncodingException cause) {
throw new RuntimeException(
- String.format("Unsupported encoding: %s", ChessHogScannerConstants.CHARSET.name()),
+ String.format("Unsupported encoding: %s", CHARSET.name()),
cause
);
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
import org.hedgecode.chess.scanner.regex.AbstractRegexResult;
import org.hedgecode.chess.scanner.regex.RegexMatcher;
import org.hedgecode.chess.scanner.regex.RegexResult;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
/**
* RegexBlockFinder
*
current.append(
input
).append(
- ChessHogScannerConstants.CRLF
+ CRLF
);
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
import org.hedgecode.chess.scanner.regex.AbstractRegexResult;
import org.hedgecode.chess.scanner.regex.RegexMatcher;
import org.hedgecode.chess.scanner.regex.RegexResult;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
/**
* RegexSplitter
*
current.append(
input
).append(
- ChessHogScannerConstants.CRLF
+ CRLF
);
}