forked from j62/ctbrec
Add getSanitizedName to Model
This method provides returns a name, which is safe to use with filesystem I/O. Fc2Model returns the model ID for this.
This commit is contained in:
parent
75a625bbe0
commit
e1eeb830da
|
@ -49,6 +49,11 @@ public class JavaFxModel implements Model {
|
||||||
delegate.setName(name);
|
delegate.setName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getSanitizedNamed() {
|
||||||
|
return delegate.getSanitizedNamed();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreview() {
|
public String getPreview() {
|
||||||
return delegate.getPreview();
|
return delegate.getPreview();
|
||||||
|
|
|
@ -349,7 +349,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
|
||||||
.peek(fxm -> {
|
.peek(fxm -> {
|
||||||
for (Recording recording : recordings) {
|
for (Recording recording : recordings) {
|
||||||
if(recording.getStatus() == Recording.State.RECORDING &&
|
if(recording.getStatus() == Recording.State.RECORDING &&
|
||||||
recording.getModelName().equals(fxm.getName()))
|
recording.getModelName().equals(fxm.getSanitizedNamed()))
|
||||||
{
|
{
|
||||||
fxm.getRecordingProperty().set(true);
|
fxm.getRecordingProperty().set(true);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -66,6 +66,12 @@ public abstract class AbstractModel implements Model {
|
||||||
this.displayName = name;
|
this.displayName = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getSanitizedNamed() {
|
||||||
|
String sanitizedName = getName();
|
||||||
|
return sanitizedName.replace(' ', '_').replace('\\', '_').replace('/', '_');
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreview() {
|
public String getPreview() {
|
||||||
return preview;
|
return preview;
|
||||||
|
|
|
@ -137,16 +137,16 @@ public class Config {
|
||||||
File dirForRecording = getDirForRecording(model);
|
File dirForRecording = getDirForRecording(model);
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat(RECORDING_DATE_FORMAT);
|
SimpleDateFormat sdf = new SimpleDateFormat(RECORDING_DATE_FORMAT);
|
||||||
String startTime = sdf.format(new Date());
|
String startTime = sdf.format(new Date());
|
||||||
File targetFile = new File(dirForRecording, model.getName() + '_' + startTime + ".ts");
|
File targetFile = new File(dirForRecording, model.getSanitizedNamed() + '_' + startTime + ".ts");
|
||||||
return targetFile;
|
return targetFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
private File getDirForRecording(Model model) {
|
private File getDirForRecording(Model model) {
|
||||||
switch(getSettings().recordingsDirStructure) {
|
switch(getSettings().recordingsDirStructure) {
|
||||||
case ONE_PER_MODEL:
|
case ONE_PER_MODEL:
|
||||||
return new File(getSettings().recordingsDir, model.getName());
|
return new File(getSettings().recordingsDir, model.getSanitizedNamed());
|
||||||
case ONE_PER_RECORDING:
|
case ONE_PER_RECORDING:
|
||||||
File modelDir = new File(getSettings().recordingsDir, model.getName());
|
File modelDir = new File(getSettings().recordingsDir, model.getSanitizedNamed());
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat(RECORDING_DATE_FORMAT);
|
SimpleDateFormat sdf = new SimpleDateFormat(RECORDING_DATE_FORMAT);
|
||||||
String startTime = sdf.format(new Date());
|
String startTime = sdf.format(new Date());
|
||||||
return new File(modelDir, startTime);
|
return new File(modelDir, startTime);
|
||||||
|
|
|
@ -46,6 +46,11 @@ public interface Model extends Comparable<Model> {
|
||||||
|
|
||||||
public void setName(String name);
|
public void setName(String name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a name, which is safe to use with the filesystem
|
||||||
|
*/
|
||||||
|
public String getSanitizedNamed();
|
||||||
|
|
||||||
public String getPreview();
|
public String getPreview();
|
||||||
|
|
||||||
public void setPreview(String preview);
|
public void setPreview(String preview);
|
||||||
|
|
|
@ -59,7 +59,7 @@ public interface Recorder {
|
||||||
List<Recording> recordings = getRecordings();
|
List<Recording> recordings = getRecordings();
|
||||||
return getModels().stream().filter(m -> {
|
return getModels().stream().filter(m -> {
|
||||||
for (Recording recording : recordings) {
|
for (Recording recording : recordings) {
|
||||||
if (recording.getStatus() == Recording.State.RECORDING && recording.getModelName().equals(m.getName())) {
|
if (recording.getStatus() == Recording.State.RECORDING && recording.getModelName().equals(m.getSanitizedNamed())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ public class HlsDownload extends AbstractHlsDownload {
|
||||||
super.model = model;
|
super.model = model;
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat(Config.RECORDING_DATE_FORMAT);
|
SimpleDateFormat sdf = new SimpleDateFormat(Config.RECORDING_DATE_FORMAT);
|
||||||
String startTime = sdf.format(new Date());
|
String startTime = sdf.format(new Date());
|
||||||
Path modelDir = FileSystems.getDefault().getPath(config.getSettings().recordingsDir, model.getName());
|
Path modelDir = FileSystems.getDefault().getPath(config.getSettings().recordingsDir, model.getSanitizedNamed());
|
||||||
downloadDir = FileSystems.getDefault().getPath(modelDir.toString(), startTime);
|
downloadDir = FileSystems.getDefault().getPath(modelDir.toString(), startTime);
|
||||||
|
|
||||||
if(!model.isOnline()) {
|
if(!model.isOnline()) {
|
||||||
|
|
|
@ -394,4 +394,9 @@ public class Fc2Model extends AbstractModel {
|
||||||
public void writeSiteSpecificData(JsonWriter writer) throws IOException {
|
public void writeSiteSpecificData(JsonWriter writer) throws IOException {
|
||||||
writer.name("id").value(id);
|
writer.name("id").value(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getSanitizedNamed() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue