public static Task <int> Execute(IConsole console, InvocationContext context = null) { var settingsManager = new CloudinarySettingsManager(new FileSystemRoamingProfileAppEnvironment()); CloudinarySettings settings = settingsManager.LoadSettings(); if (settings != null) { console.Out.WriteLine($"Cloudinary Value:"); console.Out.WriteLine($"cloud: {settings.Cloud}"); console.Out.WriteLine($"key: {settings.Key}"); console.Out.WriteLine($"secret: {settings.Secret}"); } else { console.Out.WriteLine($"Cloudinary Value cannot be found. Please Run:"); console.Out.WriteLine($"vellum cloudinary setting update --cloud <VALUE> --key <VALUE> --secret <VALUE>"); } return(Task.FromResult(ReturnCodes.Ok)); }
public static async Task <int> Execute(UploadOptions options, IConsole console, InvocationContext context = null) { if (options == null) { console.Error.WriteLine("Invalid File TemplateRepositoryPath"); return(ReturnCodes.Error); } var settingsManager = new CloudinarySettingsManager(new FileSystemRoamingProfileAppEnvironment()); CloudinarySettings settings = settingsManager.LoadSettings(); var cloudinary = new Cloudinary(new Account(settings.Cloud, settings.Key, settings.Secret)); var fileToUpload = new ImageUploadParams { File = new FileDescription(options.FilePath.FullName), PublicId = $"assets/images/blog/{DateTime.Now.Year}/{DateTime.Now.Month:00}/{Path.GetFileNameWithoutExtension(options.FilePath.Name.ToLowerInvariant())}", UniqueFilename = false, UseFilename = false, }; try { ImageUploadResult uploadResult = await cloudinary.UploadAsync(fileToUpload).ConfigureAwait(false); console.Out.WriteLine("Image uploaded."); console.Out.WriteLine($"Use following path in your blog post: /{uploadResult.PublicId}{Path.GetExtension(options.FilePath.Name)}"); } catch (Exception exception) { console.Error.WriteLine(exception.Message); return(ReturnCodes.Error); } return(ReturnCodes.Ok); }
public static Task <int> Execute(UpdateOptions options, IConsole console, InvocationContext context = null) { var settingsManager = new CloudinarySettingsManager(new FileSystemRoamingProfileAppEnvironment()); var settings = new CloudinarySettings { Cloud = options.Cloud, Key = options.Key, Secret = options.Secret, }; try { settingsManager.SaveSettings(settings); console.Out.WriteLine($"Settings updated."); } catch { console.Error.WriteLine($"Settings could not be updated."); } return(Task.FromResult(ReturnCodes.Ok)); }