Public Access
Add meeting assistant speech and summary automation
This commit is contained in:
@@ -1,18 +1,28 @@
|
||||
using System.Diagnostics;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace MeetingAssistant.MeetingNotes;
|
||||
|
||||
public sealed class ObsidianMeetingNoteOpener : IMeetingNoteOpener
|
||||
{
|
||||
private readonly MeetingAssistantOptions options;
|
||||
private readonly ILogger<ObsidianMeetingNoteOpener> logger;
|
||||
|
||||
public ObsidianMeetingNoteOpener(ILogger<ObsidianMeetingNoteOpener> logger)
|
||||
public ObsidianMeetingNoteOpener(
|
||||
IOptions<MeetingAssistantOptions> options,
|
||||
ILogger<ObsidianMeetingNoteOpener> logger)
|
||||
{
|
||||
this.options = options.Value;
|
||||
this.logger = logger;
|
||||
}
|
||||
|
||||
public Task OpenAsync(string notePath, CancellationToken cancellationToken)
|
||||
public async Task OpenAsync(string notePath, CancellationToken cancellationToken)
|
||||
{
|
||||
if (options.Recording.OpenMeetingNoteDelay > TimeSpan.Zero)
|
||||
{
|
||||
await Task.Delay(options.Recording.OpenMeetingNoteDelay, cancellationToken);
|
||||
}
|
||||
|
||||
var uri = $"obsidian://open?path={Uri.EscapeDataString(Path.GetFullPath(notePath))}";
|
||||
Process.Start(new ProcessStartInfo
|
||||
{
|
||||
@@ -20,7 +30,5 @@ public sealed class ObsidianMeetingNoteOpener : IMeetingNoteOpener
|
||||
UseShellExecute = true
|
||||
});
|
||||
logger.LogInformation("Opened meeting note in Obsidian via {ObsidianUri}", uri);
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user