예제 #1
0
        public void Load()
        {
            _loadUrlResult = false;
            string url = _url;

            if (_urlFile != null)
            {
                if (_reload || !zFile.Exists(_urlFile))
                {
                    //if (!Http2.LoadToFile(_url, _urlFile))
                    if (!Http_v3.LoadToFile(_url, _urlFile))
                    {
                        return;
                    }
                }
                url = _urlFile;
            }
            //if (Http2.LoadUrl(url))
            if (Http_v3.LoadUrl(url))
            {
                //SetXml(Http2.HtmlReader.XDocument.Root);
                SetXml(Http_v3.Http.zGetXDocument().Root);
                _loadUrlResult = true;
                return;
            }
        }
예제 #2
0
        protected void LoadUrl()
        {
            _loadUrlResult = false;
            string url = _url;

            if (_urlFile != null)
            {
                if (_reload || !zFile.Exists(_urlFile))
                {
                    //if (!Http2.LoadToFile(_url, _urlFile))
                    if (!Http_v3.LoadToFile(_url, _urlFile))
                    {
                        return;
                    }
                }
                url = _urlFile;
            }
            //if (Http2.LoadUrl(url))
            if (Http_v3.LoadUrl(url))
            {
                //**************************************************************************
                // new from LoadFromWebBase1
                //_xelement = new XXElement(Http2.HtmlReader.XDocument.Root);
                _xelement = new XXElement(Http_v3.Http.zGetXDocument().Root);
                _xmlEnum  = GetXmlEnumerator();
                //**************************************************************************
                _loadUrlResult = true;
                return;
            }
        }
예제 #3
0
        public void Load(pb.Web.v1.RequestFromWeb_v2 request)
        {
            string url = request.Url;

            if (_urlCache != null)
            {
                string urlPath = _urlCache.GetUrlPath(request.Url, request.RequestParameters);
                if (request.ReloadFromWeb || !zFile.Exists(urlPath))
                {
                    //if (!Http2.LoadToFile(request.Url, urlPath, request.RequestParameters))
                    //    return;
                    if (!Http_v3.LoadToFile(request.Url, urlPath, request.RequestParameters))
                    {
                        return;
                    }
                }
                url = urlPath;
            }
            //if (!Http2.LoadUrl(url, request.RequestParameters))
            //    return;
            if (!Http_v3.LoadUrl(url, request.RequestParameters))
            {
                return;
            }
            request.LoadResult = true;
        }
예제 #4
0
        public T Load(RequestFromWeb_v2 request)
        {
            string url = request.Url;

            if (_urlCache != null)
            {
                string urlPath = _urlCache.GetUrlPath(request.Url, request.RequestParameters);
                if (request.ReloadFromWeb || !zFile.Exists(urlPath))
                {
                    //if (!Http2.LoadToFile(request.Url, urlPath, request.RequestParameters))
                    if (!Http_v3.LoadToFile(request.Url, urlPath, request.RequestParameters))
                    {
                        return(default(T));
                    }
                }
                url = urlPath;
            }
            //if (!Http2.LoadUrl(url, request.RequestParameters))
            if (!Http_v3.LoadUrl(url, request.RequestParameters))
            {
                return(default(T));
            }
            request.LoadResult = true;
            return(_getDataFromWeb(request));
        }
예제 #5
0
        public bool Load()
        {
            _loadResult = false;
            string url = _url;

            if (_urlCache != null)
            {
                //string urlPath = _urlCache.UrlPath;
                string urlPath = _urlCache.GetUrlPath(url, _requestParameters);
                if (_reload || !zFile.Exists(urlPath))
                {
                    //if (!Http2.LoadToFile(_url, urlPath, _requestParameters))
                    if (!Http_v3.LoadToFile(_url, urlPath, _requestParameters))
                    {
                        return(false);
                    }
                }
                url = urlPath;
            }
            //if (!Http2.LoadUrl(url, _requestParameters))
            if (!Http_v3.LoadUrl(url, _requestParameters))
            {
                return(false);
            }
            _loadResult = true;
            _data       = GetData();
            return(true);
        }
예제 #6
0
        public T Load(RequestFromWeb_v3 request)
        {
            LoadDataFromWeb_v3 loadDataFromWeb = new LoadDataFromWeb_v3 {
                request = request
            };

            DateTime loadFromWebDate;

            string url = request.Url;

            if (_urlCache != null)
            {
                string urlPath = _urlCache.GetUrlPath(url, request.RequestParameters);
                if (request.ReloadFromWeb || !zFile.Exists(urlPath))
                {
                    if (_firstLoadFromWeb && url.StartsWith("http://"))
                    {
                        InitLoadFromWeb();
                        _firstLoadFromWeb = false;
                    }
                    //if (!Http2.LoadToFile(url, urlPath, request.RequestParameters))
                    //    return default(T);
                    if (!Http_v3.LoadToFile(url, urlPath, request.RequestParameters))
                    {
                        return(default(T));
                    }
                }
                url = urlPath;
                // get last write time as loadFromWebDate, dont take creation time because creation time is modified when copying the file
                //loadFromWebDate = new FileInfo(urlPath).LastWriteTime;
                loadFromWebDate = zFile.CreateFileInfo(urlPath).LastWriteTime;
            }
            else
            {
                loadFromWebDate = DateTime.Now;
            }
            if (_firstLoadFromWeb && url.StartsWith("http://"))
            {
                InitLoadFromWeb();
                _firstLoadFromWeb = false;
            }
            //if (!Http2.LoadUrl(url, request.RequestParameters))
            //    return default(T);
            if (!Http_v3.LoadUrl(url, request.RequestParameters))
            {
                return(default(T));
            }
            loadDataFromWeb.loadResult      = true;
            loadDataFromWeb.loadFromWebDate = loadFromWebDate;
            return(GetDataFromWeb(loadDataFromWeb));
        }
예제 #7
0
        protected MongoImage CreateMongoImage(string url, HttpRequestParameters_v1 requestParameters = null)
        {
            string file = _urlCache.GetUrlSubPath(url, requestParameters);
            string path = zPath.Combine(_urlCache.CacheDirectory, file);

            if (!zFile.Exists(path))
            {
                //Http2.LoadToFile(url, path, requestParameters);
                Http_v3.LoadToFile(url, path, requestParameters);
            }
            Image image = null;

            if (zFile.Exists(path))
            {
                try
                {
                    image = zimg.LoadFromFile(path);
                }
                catch (Exception exception)
                {
                    Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path);
                    Trace.Write("error : ");
                    Trace.WriteLine(exception.Message);
                }
            }
            else
            {
                Trace.WriteLine("error unable to load image url \"{0}\" to \"{1}\" (WebImageMongoCacheManager.CreateMongoImage())", url, path);
            }

            MongoImage mongoImage = new MongoImage();

            mongoImage.Url    = url;
            mongoImage.File   = file;
            mongoImage.Width  = image != null ? image.Width : 0;
            mongoImage.Height = image != null ? image.Height : 0;
            mongoImage.Image  = image;

            GetCollection().zUpdate(new QueryDocument {
                { "_id", BsonValue.Create(url) }
            }, new UpdateDocument {
                { "$set", mongoImage.ToBsonDocument() }
            }, UpdateFlags.Upsert);

            return(mongoImage);
        }