예제 #1
0
        static List <Mp3File> ProcesPageContentOne(string pageContent)
        {
            //<span id="datetime2" class="time">
            //   23.07.2016 13:20
            //</span>
            List <DateTime> dtList = new List <DateTime>();
            List <Mp3File>  files  = new List <Mp3File>();
            Dictionary <string, MediaDataObject> dict = new Dictionary <string, MediaDataObject>();

            Regex           pattern = new Regex(@"<span id=""datetime\d"" class=""time"">(?<date>[\d\s:.]+)<\/span>");
            MatchCollection mp1     = pattern.Matches(pageContent);

            if (mp1.Count > 0)
            {
                DateTime dt    = DateTime.MinValue;
                string   sDate = mp1[0].Groups["date"].Value?.Trim();
                DateTime.TryParseExact(sDate, "dd.MM.yyyy HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
                dtList.Add(dt);
            }

            //<a title="odsłuchaj Rycheza - pierwsza królowa Polski" class="pr-media-play" data-media={"id":382196,"file":"//static.prsa.pl/815b7d33-8711-4675-afc7-356d510b37af.mp3","provider":"audio","uid":"815b7d33-8711-4675-afc7-356d510b37af","length":3477,"autostart":true,"link":"/8/405/Artykul/251896,Rycheza-pierwsza-krolowa-Polski","title":"Rycheza%20-%20pierwsza%20kr%C3%B3lowa%20Polski","desc":"Rycheza%20-%20pierwsza%20kr%C3%B3lowa%20Polski","advert":143762,"type":"muzyka"}>
            pattern = new Regex(@"data-media=(?<data>[\w\d\s:,.\-{}%"" /]+)>");
            MatchCollection mp3 = pattern.Matches(pageContent);

            if (mp3.Count > 0)
            {
                MediaDataObject media = JsonConvert.DeserializeObject <MediaDataObject>(mp3[0].Groups["data"].Value);
                files.Add(new Mp3File()
                {
                    Id = media.uid, Date = dtList[0], Name = WebUtility.UrlDecode(media.title), Desc = WebUtility.UrlDecode(media.desc), Url = media.file
                });
            }

            return(files);
        }
예제 #2
0
        private void PivotForm_SaveDefaultLayout(PivotFormWin m, SaveLayoutEventArgs e)
        {
            ReportCentral rc = (ReportCentral)View.CurrentObject;

            rc.PivotViewXML = e.LayoutXML;
            MediaDataObject mediaDataObject = ObjectSpace.CreateObject <MediaDataObject>();

            mediaDataObject.MediaData = ConvertBitMapToByteArray(e.ImageData);
            rc.PivotLayout            = mediaDataObject;
            rc.Save();
            ObjectSpace.CommitChanges();
        }
예제 #3
0
        private void InsertPhoto(FileInfo file)
        {
            Photo photo     = ObjectSpace.CreateObject <Photo>();
            Image tempImage = Image.FromFile(file.FullName);

            photo.Title = file.Name;
            MediaDataObject media = ObjectSpace.CreateObject <MediaDataObject>();

            media.MediaData = ImageToByteArray(tempImage);
            photo.Image     = media;
            photo.Thumbnail = Marbid.Module.CustomCodes.CodeLibrary.ScaleImage(tempImage, 250, 150);
            IEnumerable <MetadataExtractor.Directory> directories = ImageMetadataReader.ReadMetadata(file.FullName);

            foreach (var directory in directories)
            {
                foreach (var tag in directory.Tags)
                {
                    photo.MetaData += string.Format("<strong>{0} - {1}:</strong> {2}<br/>", tag.DirectoryName, tag.Name, tag.Description);
                }
            }
            photo.Gallery = (PhotoGallery)View.CurrentObject;
            View.ObjectSpace.CommitChanges();
        }