コード例 #1
0
ファイル: BasicContent.cs プロジェクト: spox/irisim
 public BasicContent(BasicContent clone)
     : base()
 {
     this._content = clone._content;
     this._raw_content = clone._raw_content;
     this._type = clone._type;
 }
コード例 #2
0
        public void ShouldHideFromSearch_NotPageData_ReturnsFalse()
        {
            var content = new BasicContent();
            var result  = _indexer.ShouldHideFromSearch(content);

            Assert.False(result);
        }
コード例 #3
0
        private static IEnumerable <Uri> ProcessContent(BasicContent crawlerContent, Uri referenceUri)
        {
            var urlCandidates = new HashSet <Uri>();

            foreach (var processor in _processors)
            {
                if (processor.CanProcess(crawlerContent))
                {
                    //try
                    //{
                    var foundUrlCandidates = processor.Process(crawlerContent, referenceUri);

                    if (foundUrlCandidates != null)
                    {
                        AddRange(ref urlCandidates, (foundUrlCandidates));
                    }
                    //}
                    //catch (Exception exception)
                    //{
                    //    Logger.Warn("Spider process content throw exception", exception);
                    //}
                }
            }

            return(urlCandidates);
        }
コード例 #4
0
ファイル: SharedBasicLayer.cs プロジェクト: aragoubi/Project
        /// <summary>
        ///     Initializes a new instance of the <see cref="SharedBasicLayer" /> class.
        /// </summary>
        /// <param name="content">The content.</param>
        /// <param name="uid">The uid of the Layer.</param>
        /// <param name="userName">Name of the user.</param>
        /// <param name="isTeacher">if set to <c>true</c> [is teacher].</param>
        public SharedBasicLayer(BasicContent content, int uid, string userName, bool isTeacher)
            : base(uid, userName, isTeacher)
        {
            // Nom of the exercise
            Name = content.Name;

            Layer = content.GetLayerByUid(uid) as BasicLayer;
        }
コード例 #5
0
 protected ContentResolveResult ResolveContent(BasicContent content)
 {
     var contentItem = new ContentCoreData()
     {
         ContentGuid = content.ContentGuid,
         ContentReference = content.ContentLink,
         ContentTypeID = ContentTypeRepository.Service.Load(typeof(InstaImage)).ID,
     };
     return base.CreateContentResolveResult(contentItem);
 }
コード例 #6
0
        protected ContentResolveResult ResolveContent(BasicContent video)
        {
            var contentItem = new ContentCoreData()
            {
                ContentGuid      = video.ContentGuid,
                ContentReference = video.ContentLink,
                ContentTypeID    = _contentTypeRepository.Load(typeof(Video)).ID,
            };

            return(base.CreateContentResolveResult(contentItem));
        }
コード例 #7
0
        public List <BasicContent> Update(BasicContent content)
        {
            var items        = Load();
            var existingItem = items.FirstOrDefault(x => x.ContentLink.CompareToIgnoreWorkID(content.ContentLink));

            if (existingItem != null)
            {
                items.Remove(existingItem);
            }
            items.Add(content);
            Save(items);
            return(items);
        }
コード例 #8
0
        protected override ContentResolveResult ResolveContent(ContentReference contentLink)
        {
            if (_items == null)
            {
                _log.Information("23Video: _items is null when resolving content with it {0}. Return null", contentLink.ID);
                return(null);
            }

            BasicContent video = _items.FirstOrDefault(p => p.ContentLink.Equals(contentLink));

            if (video == null)
            {
                return(base.ResolveContent(contentLink));
            }
            return(ResolveContent(video));
        }
コード例 #9
0
            /// <summary>
            /// 信息内容处理
            /// </summary>
            /// <param name="requestUrl"> 请求的URL </param>
            /// <param name="webResponse"> web请求的响应结果 </param>
            /// <returns> </returns>
            public static BasicContent Create(Uri requestUrl, HttpWebResponse webResponse)
            {
                //获取媒体类型
                var mimeType = GetMimeType(webResponse);

                //如果是HTML
                if (BasicContent.IsHtml(mimeType))
                {
                    //交给HTML处理器
                    return(new HtmlContent(requestUrl, webResponse));
                }
                //else if (HttpCrawlerContent.IsXml(mimeType))
                //{
                //    return new XmlHttpCrawlerContent(requestUrl, referrerUrl, webResponse);
                //}

                return(new BasicContent(requestUrl, webResponse));
            }
コード例 #10
0
            public IEnumerable <Uri> Process(BasicContent content, Uri refrenceUri)
            {
                var htmlContent = (HtmlContent)content;
                var doc         = htmlContent.Html;

                doc.LoadHtml(EscapeIEConditionalComments(htmlContent.Text));

                var foundUrls = new HashSet <Uri>();

                CollectUrls(foundUrls, doc, "a", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "area", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "frame", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "iframe", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "img", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "input", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "link", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "object", "data", refrenceUri);
                CollectUrls(foundUrls, doc, "script", "src", refrenceUri);

                doc.LoadHtml(UnescapeIEConditionalComments(htmlContent.Text));

                return(foundUrls);
            }
コード例 #11
0
ファイル: Chat.cs プロジェクト: spox/irisim
 public Chat(BasicContent clone)
     : base(clone)
 {
     this._type = MessageContent.Type.Chat;
     this.Initialize(this._raw_content);
 }
コード例 #12
0
 public QuizLayer(BasicContent content, string name, bool isRenameable = true, bool isHideable = true,
                  bool isDeletable = true, bool isShareable = true, bool isInkable = true)
     : base(content, name, isRenameable, isHideable, isDeletable, isShareable, isInkable)
 {
 }
コード例 #13
0
ファイル: Html.cs プロジェクト: qcjxberin/iveely
 public bool CanProcess(BasicContent content)
 {
     return content is HtmlContent;
 }
コード例 #14
0
 public bool CanProcess(BasicContent content)
 {
     return(content is HtmlContent);
 }
コード例 #15
0
ファイル: Response.cs プロジェクト: spox/irisim
 public Response(BasicContent clone)
     : base(clone)
 {
     this._type = MessageContent.Type.Response;
     this.Initialize(this._raw_content);
 }
コード例 #16
0
 public GraphicalQuestionLayer(BasicContent content, string name, bool isRenameable = false,
                               bool isHideable = true, bool isDeletable = false, bool isShareable = false, bool isInkable = true)
     : base(content, name, isRenameable, isHideable, isDeletable, isShareable, isInkable)
 {
 }
コード例 #17
0
ファイル: Message.cs プロジェクト: spox/irisim
 private void BuildContents()
 {
     try
     {
         Logger.log("Extracting message into content object.", Logger.Verbosity.screaming);
         XmlElement element = null;
         XmlNodeList list = null;
         XmlDocument document = new XmlDocument();
         document.LoadXml(this._raw_message);
         list = document.GetElementsByTagName("Message");
         element = (XmlElement)list.Item(0);
         if(element.HasAttribute("creator"))
         {
             this._creator_plugin_hash = element.GetAttribute("creator");
         }
         list = document.GetElementsByTagName("Content");
         element = (XmlElement)list.Item(0);
         if(element.HasAttribute("destination"))
         {
             this._destination_plugin_hash = element.GetAttribute("destination");
         }
         BasicContent content = new BasicContent(element);
         switch(content.type)
         {
             case MessageContent.Type.Command:
                 this._content = new Command(content);
                 break;
             case MessageContent.Type.Event:
                 this._content = new Event(content);
                 break;
             case MessageContent.Type.Chat:
                 this._content = new Chat(content);
                 break;
             case MessageContent.Type.Response:
                 this._content = new Response(content);
                 break;
             case MessageContent.Type.Information:
                 this._content = new Information(content);
                 break;
             case MessageContent.Type.Plugins:
                 this._content = new Plugins(element);
                 break;
             case MessageContent.Type.Unknown:
                 this._content = new Unknown(this._raw_message);
                 break;
         }
         Logger.log("Content successfully extracted.", Logger.Verbosity.screaming);
         Logger.log("Content originator hash: "+ this._creator_plugin_hash, Logger.Verbosity.screaming);
     }
     catch
     {
         this._content = new Unknown(this._raw_message);
     }
 }
コード例 #18
0
ファイル: Html.cs プロジェクト: qcjxberin/iveely
            public IEnumerable<Uri> Process(BasicContent content, Uri refrenceUri)
            {
                var htmlContent = (HtmlContent)content;
                var doc = htmlContent.Html;

                doc.LoadHtml(EscapeIEConditionalComments(htmlContent.Text));

                var foundUrls = new HashSet<Uri>();

                CollectUrls(foundUrls, doc, "a", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "area", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "frame", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "iframe", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "img", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "input", "src", refrenceUri);
                CollectUrls(foundUrls, doc, "link", "href", refrenceUri);
                CollectUrls(foundUrls, doc, "object", "data", refrenceUri);
                CollectUrls(foundUrls, doc, "script", "src", refrenceUri);

                doc.LoadHtml(UnescapeIEConditionalComments(htmlContent.Text));

                return foundUrls;
            }
コード例 #19
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ParallelLayer" /> class.
 /// </summary>
 /// <param name="content">The content.</param>
 /// <param name="name">The name.</param>
 /// <param name="isRenameable">if set to <c>true</c> [is renameable].</param>
 /// <param name="isHideable">if set to <c>true</c> [is hideable].</param>
 /// <param name="isDeletable">if set to <c>true</c> [is deletable].</param>
 /// <param name="isShareable">if set to <c>true</c> [is shareable].</param>
 /// <param name="isInkable">if set to <c>true</c> [is inkable].</param>
 public BasicLayer(BasicContent content, string name, bool isRenameable = true, bool isHideable = true,
                   bool isDeletable = true, bool isShareable = true, bool isInkable = true)
     : base(content, Guid.NewGuid().GetHashCode(), isRenameable, isHideable, isDeletable, isShareable, isInkable)
 {
     Name = name;
 }
コード例 #20
0
ファイル: Html.cs プロジェクト: qcjxberin/iveely
        private static IEnumerable<Uri> ProcessContent(BasicContent crawlerContent, Uri referenceUri)
        {
            var urlCandidates = new HashSet<Uri>();

            foreach (var processor in _processors)
            {
                if (processor.CanProcess(crawlerContent))
                {
                    //try
                    //{
                    var foundUrlCandidates = processor.Process(crawlerContent, referenceUri);

                    if (foundUrlCandidates != null)
                    {
                        AddRange(ref urlCandidates, (foundUrlCandidates));
                    }
                    //}
                    //catch (Exception exception)
                    //{
                    //    Logger.Warn("Spider process content throw exception", exception);
                    //}
                }
            }

            return urlCandidates;
        }