Progress toward purging static current locale

This commit is contained in:
Robert McRackan 2020-08-21 09:29:33 -04:00
parent 901572e7bb
commit 82318ffab7
4 changed files with 17 additions and 8 deletions

View File

@ -1,6 +1,7 @@
using System;
using System.IO;
using System.Threading.Tasks;
using AudibleApi;
using DataLayer;
using Dinah.Core;
using Dinah.Core.ErrorHandling;
@ -42,7 +43,8 @@ namespace FileLiberator
private async Task<string> downloadBookAsync(LibraryBook libraryBook, string tempAaxFilename)
{
var api = await AudibleApiActions.GetApiAsync();
var locale = Localization.Get(libraryBook.Book.Locale);
var api = await AudibleApiActions.GetApiAsync(locale);
var actualFilePath = await PerformDownloadAsync(
tempAaxFilename,

View File

@ -13,11 +13,11 @@ namespace InternalUtilities
public static class AudibleApiActions
{
/// <summary>USE THIS from within Libation. It wraps the call with correct JSONPath</summary>
public static async Task<Api> GetApiAsync(ILoginCallback loginCallback = null)
public static async Task<Api> GetApiAsync(Locale locale, ILoginCallback loginCallback = null)
{
Localization.SetLocale(Configuration.Instance.LocaleCountryCode);
return await EzApiCreator.GetApiAsync(AudibleApiStorage.AccountsSettingsFile, AudibleApiStorage.TEST_GetFirstIdentityTokensJsonPath(), loginCallback);
return await EzApiCreator.GetApiAsync(locale, AudibleApiStorage.AccountsSettingsFile, AudibleApiStorage.TEST_GetFirstIdentityTokensJsonPath(), loginCallback);
}
/// <summary>USE THIS from within Libation. It wraps the call with correct JSONPath</summary>
@ -25,7 +25,7 @@ namespace InternalUtilities
{
Localization.SetLocale(Configuration.Instance.LocaleCountryCode);
return await EzApiCreator.GetApiAsync(AudibleApiStorage.AccountsSettingsFile, account.GetIdentityTokensJsonPath(), loginCallback);
return await EzApiCreator.GetApiAsync(account.Locale, AudibleApiStorage.AccountsSettingsFile, account.GetIdentityTokensJsonPath(), loginCallback);
}
private static AsyncRetryPolicy policy { get; }

View File

@ -13,7 +13,7 @@
<!-- <PublishSingleFile>true</PublishSingleFile> -->
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<Version>3.1.12.152</Version>
<Version>3.1.12.160</Version>
</PropertyGroup>
<ItemGroup>

View File

@ -2,6 +2,7 @@ using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
using AudibleApi;
using FileManager;
using InternalUtilities;
using LibationWinForms;
@ -137,10 +138,16 @@ namespace LibationLauncher
private static Account addAccountToNewAccountFile()
{
AudibleApi.Localization.SetLocale(Configuration.Instance.LocaleCountryCode);
var api = AudibleApi.EzApiCreator.GetApiAsync(AccountsSettingsFileLegacy30).GetAwaiter().GetResult();
// get locale from settings file
var settingsContents = File.ReadAllText(Configuration.Instance.SettingsFilePath);
var jObj = JObject.Parse(settingsContents);
var jLocale = jObj.Property("LocaleCountryCode");
var localeName = jLocale.Value<string>();
var locale = Localization.Get(localeName);
Localization.SetLocale(Configuration.Instance.LocaleCountryCode);
var api = EzApiCreator.GetApiAsync(locale, AccountsSettingsFileLegacy30).GetAwaiter().GetResult();
var email = api.GetEmailAsync().GetAwaiter().GetResult();
var locale = api.GetLocaleAsync(AudibleApi.CustomerOptions.All).GetAwaiter().GetResult();
// identity has likely been updated above. re-get contents
var legacyContents = File.ReadAllText(AccountsSettingsFileLegacy30);