Skip to content

Commit

Permalink
refactor: Make argument provider an enum
Browse files Browse the repository at this point in the history
  • Loading branch information
kaspermarstal committed Jan 19, 2025
1 parent 86bb2bf commit a4e9e77
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions src/Cellm/AddIn/ArgumentParser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,10 @@
using Cellm.Models.Providers;
using ExcelDna.Integration;
using Microsoft.Extensions.Configuration;
using Microsoft.Office.Interop.Excel;

namespace Cellm.AddIn;

public record Arguments(string Provider, string Model, string Context, string Instructions, double Temperature);
public record Arguments(Provider Provider, string Model, string Context, string Instructions, double Temperature);

public class ArgumentParser
{
Expand Down Expand Up @@ -71,11 +70,16 @@ public ArgumentParser AddTemperature(object temperature)

public Arguments Parse()
{
var provider = _provider ?? _configuration
var providerAsString = _provider ?? _configuration
.GetSection(nameof(ProviderConfiguration))
.GetValue<string>(nameof(ProviderConfiguration.DefaultProvider))
?? throw new ArgumentException(nameof(ProviderConfiguration.DefaultProvider));

if (!Enum.TryParse<Provider>(providerAsString, true, out var provider))
{
throw new ArgumentException($"Unsupported default provider: {providerAsString}");
}

var model = _model ?? _configuration
.GetSection($"{provider}Configuration")
.GetValue<string>(nameof(IProviderConfiguration.DefaultModel))
Expand Down Expand Up @@ -147,9 +151,9 @@ private static string ParseCells(ExcelReference reference)
{
try
{
var app = (Application)ExcelDnaUtil.Application;
var app = ExcelDnaUtil.Application;
var sheetName = (string)XlCall.Excel(XlCall.xlSheetNm, reference);
sheetName = sheetName[(sheetName.LastIndexOf("]") + 1)..];
sheetName = sheetName[(sheetName.LastIndexOf(']') + 1)..];
var worksheet = app.Sheets[sheetName];

var tableBuilder = new StringBuilder();
Expand Down

0 comments on commit a4e9e77

Please sign in to comment.