Beispiel #1
0
        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));
        }