Made PhotoPrism dynamic
This commit is contained in:
@ -11,25 +11,33 @@ public class F_PhotoPrism
|
||||
private static JsonProperty[] GetJsonProperty(string fileName)
|
||||
{
|
||||
JsonProperty[] results;
|
||||
string json = File.ReadAllText(fileName);
|
||||
JsonElement? jsonElement = JsonSerializer.Deserialize<JsonElement>(json);
|
||||
results = jsonElement.Value.EnumerateObject().ToArray();
|
||||
if (!File.Exists(fileName))
|
||||
results = Array.Empty<JsonProperty>();
|
||||
else
|
||||
{
|
||||
string json = File.ReadAllText(fileName);
|
||||
JsonElement? jsonElement = JsonSerializer.Deserialize<JsonElement>(json);
|
||||
results = jsonElement.Value.EnumerateObject().ToArray();
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
private static Marker[]? GetMarkers(string photoPrismDirectory)
|
||||
private static Marker[]? GetMarkers(string fPhotoPrismSingletonDirectory)
|
||||
{
|
||||
Marker[]? results;
|
||||
string file = Path.Combine(photoPrismDirectory, "markers.json");
|
||||
string file = Path.Combine(fPhotoPrismSingletonDirectory, "markers.json");
|
||||
JsonProperty[] jsonProperties = GetJsonProperty(file);
|
||||
results = JsonSerializer.Deserialize<Marker[]>(jsonProperties[1].Value);
|
||||
if (!jsonProperties.Any())
|
||||
results = null;
|
||||
else
|
||||
results = JsonSerializer.Deserialize<Marker[]>(jsonProperties[1].Value);
|
||||
return results;
|
||||
}
|
||||
|
||||
private static Dictionary<string, List<Marker>> GetFileUIdToMarkers(string photoPrismDirectory)
|
||||
private static Dictionary<string, List<Marker>> GetFileUIdToMarkers(string fPhotoPrismSingletonDirectory)
|
||||
{
|
||||
Dictionary<string, List<Marker>> results = new();
|
||||
Marker[]? markers = GetMarkers(photoPrismDirectory);
|
||||
Marker[]? markers = GetMarkers(fPhotoPrismSingletonDirectory);
|
||||
if (markers is null)
|
||||
throw new NullReferenceException(nameof(markers));
|
||||
foreach (Marker marker in markers)
|
||||
@ -41,25 +49,28 @@ public class F_PhotoPrism
|
||||
return results;
|
||||
}
|
||||
|
||||
private static DatabaseFile[]? GetDatabaseFiles(string photoPrismDirectory)
|
||||
private static DatabaseFile[]? GetDatabaseFiles(string fPhotoPrismSingletonDirectory)
|
||||
{
|
||||
DatabaseFile[]? results;
|
||||
string file = Path.Combine(photoPrismDirectory, "files.json");
|
||||
string file = Path.Combine(fPhotoPrismSingletonDirectory, "files.json");
|
||||
JsonProperty[] jsonProperties = GetJsonProperty(file);
|
||||
results = JsonSerializer.Deserialize<DatabaseFile[]>(jsonProperties[1].Value);
|
||||
if (!jsonProperties.Any())
|
||||
results = null;
|
||||
else
|
||||
results = JsonSerializer.Deserialize<DatabaseFile[]>(jsonProperties[1].Value);
|
||||
return results;
|
||||
}
|
||||
|
||||
public static Dictionary<string, List<MappingFromPhotoPrism>> GetFileNameToCollection(string photoPrismDirectory)
|
||||
public static Dictionary<string, List<MappingFromPhotoPrism>> GetFileNameToCollection(string fPhotoPrismSingletonDirectory)
|
||||
{
|
||||
Dictionary<string, List<MappingFromPhotoPrism>> results = new();
|
||||
List<Marker>? makers;
|
||||
MappingFromPhotoPrism mappingFromPhotoPrism;
|
||||
List<MappingFromPhotoPrism>? mappingFromPhotoPrismCollection;
|
||||
DatabaseFile[]? databaseFiles = GetDatabaseFiles(photoPrismDirectory);
|
||||
DatabaseFile[]? databaseFiles = GetDatabaseFiles(fPhotoPrismSingletonDirectory);
|
||||
if (databaseFiles is null)
|
||||
throw new NullReferenceException(nameof(databaseFiles));
|
||||
Dictionary<string, List<Marker>> fileUIdToMarkers = GetFileUIdToMarkers(photoPrismDirectory);
|
||||
Dictionary<string, List<Marker>> fileUIdToMarkers = GetFileUIdToMarkers(fPhotoPrismSingletonDirectory);
|
||||
foreach (DatabaseFile databaseFile in databaseFiles)
|
||||
{
|
||||
if (!results.TryGetValue(databaseFile.FileName, out mappingFromPhotoPrismCollection))
|
||||
@ -77,7 +88,7 @@ public class F_PhotoPrism
|
||||
return results;
|
||||
}
|
||||
|
||||
public static void WriteMatches(string photoPrismDirectory, string personBirthdayFormat, long ticks, Face[] distinctFilteredFaces, Shared.Models.Methods.IMapLogic mapLogic)
|
||||
public static void WriteMatches(string fPhotoPrismContentDirectory, string personBirthdayFormat, long ticks, Face[] distinctFilteredFaces, Shared.Models.Methods.IMapLogic mapLogic)
|
||||
{
|
||||
long? personKey;
|
||||
const int zero = 0;
|
||||
@ -147,8 +158,8 @@ public class F_PhotoPrism
|
||||
}
|
||||
}
|
||||
}
|
||||
File.WriteAllLines(Path.Combine(photoPrismDirectory, $"{ticks}-subject_alias_update.sql"), subjects.Distinct());
|
||||
File.WriteAllText(Path.Combine(photoPrismDirectory, $"{ticks}-marker_name_update.sql"), stringBuilder.ToString());
|
||||
File.WriteAllLines(Path.Combine(fPhotoPrismContentDirectory, $"{ticks}-subject_alias_update.sql"), subjects.Distinct());
|
||||
File.WriteAllText(Path.Combine(fPhotoPrismContentDirectory, $"{ticks}-marker_name_update.sql"), stringBuilder.ToString());
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user