Ejemplo n.º 1
0
        private void InitFile()
        {
            this.FilenameTextBlock.Width = 180;
            var Mime = new MimeSharp.Mime();

            try
            {
                if (!File.Exists(file.RealFilePath))
                {
                    throw new Exception("Non-existant file");
                }
                Filetype = Mime.Lookup(file.RealFilePath);
                foreach (KeyValuePair <string, string> pair in MimeTo)
                {
                    if (Filetype.StartsWith(pair.Key))
                    {
                        this.Image.Source = ((Image)this.FindResource(pair.Value)).Source;
                        if (pair.Key == "image")
                        {
                            Panel.MouseMove += ImageMouseMove;
                        }
                        return;
                    }
                }
            }
            catch (Exception)
            {
                this.Image.Source = ((Image)this.FindResource("UnknownFileImage")).Source;
            }
        }
Ejemplo n.º 2
0
        public static string GetExtensionFor(string mimeType)
        {
            if (String.IsNullOrWhiteSpace(mimeType))
            {
                return(string.Empty);
            }

            if (mimeType.Equals("text/xml", StringComparison.OrdinalIgnoreCase))
            {
                return(".xml");
            }

            var extension = new MimeSharp.Mime().Extension(mimeType).FirstOrDefault();

            return(String.IsNullOrWhiteSpace(extension) ? string.Empty : extension);
        }
Ejemplo n.º 3
0
        protected override async Task ProcessRecordAsync()
        {
            var repositoriesClient = GitHubClient.Repository;
            var repository         = await repositoriesClient.GetForOrg(Organization, Repository);

            var release = await repositoriesClient.Release.GetAll(repository.Id).ToObservable().SelectMany(list => list).Where(_ => _.Name == ReleaseName)
                          .IgnoreException <Release, NotFoundException>(this, ReleaseName).DefaultIfEmpty();

            if (release == null)
            {
                WriteVerbose("Creating new release");
                var newRelease = new NewRelease(ReleaseName)
                {
                    Draft = Draft, Body = ReleaseNotes, Name = ReleaseName
                };
                release = await repositoriesClient.Release.Create(repository.Id, newRelease);

                WriteVerbose("Uploading assets");
                var mime = new MimeSharp.Mime();
                if (Files != null)
                {
                    await Files.ToObservable()
                    .Do(file => WriteVerbose($"Uploading {file}"))
                    .SelectMany(file => Observable.Using(() => File.OpenRead(file), stream => {
                        var fileName           = Path.GetFileName(file);
                        var releaseAssetUpload = new ReleaseAssetUpload()
                        {
                            FileName = fileName, ContentType = mime.Lookup(fileName), RawData = stream
                        };
                        return(repositoriesClient.Release.UploadAsset(release, releaseAssetUpload).ToObservable());
                    }));
                }
                WriteObject(release);
            }
            else
            {
                throw new NotSupportedException($"Release {ReleaseName} exists");
            }
        }