public async Task GetWikiData() { // Arrage WikiData result = new WikiData(); result = await _service.GetWikiData("Jack Dorsey"); Console.WriteLine(result); Assert.Pass(); }
private async Task SearchPeople() { People = await WikiData.WikiPeopleSearch(_searchName); const string linkbase = "https://peoplerating.azurewebsites.net/api/rating/"; foreach (var pers in People) { var link = linkbase + pers.Id.ToString(); Console.WriteLine("link " + link); var rating = await Http.GetJsonAsync <Components.Rating>(link); var averagerate = rating.AverageRate; Console.WriteLine("rating " + averagerate); PeopleR.Add(new PersonR(pers, averagerate)); } }
public DataResult(WikiData wikidata) { _wikidata = new WikiData(); _wikidata = wikidata; }
/// <summary> /// put page/media /// </summary> private static byte[] _WikiPutFile(stDokuWiki.WikiEngine.WikiFile wiki, WikiFileType type, string namesspace, WikiFileMeta wfm = null) { WikiData wd = null; switch (namesspace.Contains(":")) { case true: { switch (type) { case WikiFileType.FileWriteMd: { if (wfm == null) { throw new WikiErrorPageException( string.Format( "not write {0}, input data is empty", namesspace ) ); } wd = wiki.PutFile(namesspace, null, wfm); break; } case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileWriteAttic: { throw new WikiNotImplementPageException(WikiFileType.FileWriteAttic.ToString()); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } default: case WikiFileType.FileReadMd: case WikiFileType.FileReadMeta: case WikiFileType.FileReadAttic: case WikiFileType.FileReadBinary: { throw new WikiErrorPageException( string.Format( "type set is read, not support for this version, name space: {0}", namesspace ) ); } } break; } case false: { throw new WikiErrorPageException( string.Format( "not valid name space: {0}", namesspace ) ); } } if ( (wd == null) || (wd.FileContent == null) || (wd.FileContent.Length == 0) ) { return(null); } return(wd.FileContent); }
/// <summary> /// get page/media /// </summary> private static byte[] _WikiGetFile(stDokuWiki.WikiEngine.WikiFile wiki, WikiFileType type, string namesspace) { WikiData wd = null; switch (namesspace.Contains(":")) { case true: { switch (type) { default: case WikiFileType.FileReadMd: case WikiFileType.FileWriteMd: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileReadBinary: case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(namesspace); break; } case WikiFileType.FileReadAttic: case WikiFileType.FileWriteAttic: { wd = wiki.GetFileFromAttic(namesspace, "0"); break; } case WikiFileType.FileReadMeta: { return(Encoding.UTF8.GetBytes( wiki.MetaListToMdString( wiki.GetFileMeta(namesspace) ) )); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } } break; } /// operation default case false: { switch (type) { default: case WikiFileType.FileReadMd: case WikiFileType.FileWriteMd: { wd = wiki.GetFile(":start"); break; } case WikiFileType.FileReadBinary: case WikiFileType.FileWriteBinary: { wd = wiki.GetFile(":logo.png"); break; } case WikiFileType.FileReadAttic: case WikiFileType.FileWriteAttic: { // TODO: get last from attic wd = wiki.GetFileFromAttic(":start", "0"); break; } case WikiFileType.FileReadMeta: { throw new WikiNotImplementPageException(WikiFileType.FileReadMeta.ToString()); } case WikiFileType.FileWriteMeta: { throw new WikiNotImplementPageException(WikiFileType.FileWriteMeta.ToString()); } } break; } } if ( (wd == null) || (wd.FileContent == null) || (wd.FileContent.Length == 0) ) { return(null); } return(wd.FileContent); }
public override async void OnInspectorGUI() { scriptableData = (WikiData)target; DrawDefaultInspector(); // ---- save GUILayout.Label("Words count: " + scriptableData.Dict.Count); GUILayout.Label("Json File Path"); scriptableData.savePath = GUILayout.TextField(scriptableData.savePath); if (GUILayout.Button("Save words(json)")) { SerrializeDict(scriptableData.savePath); } if (GUILayout.Button("Load words(json)")) { DeserrializeDict(scriptableData.savePath); scriptableData.searchResults = new string[0]; scriptableData.selectedIndex = 0; } GUILayout.Label("Words File Path"); scriptableData.savePathPlain = GUILayout.TextField(scriptableData.savePathPlain); if (GUILayout.Button("Save words(txt)")) { SaveWordsAsPlainText(scriptableData.savePathPlain); } // ---- parse GUILayout.Label(scriptableData.progress); GUILayout.Label("Url"); scriptableData.categoryUrl = GUILayout.TextField(scriptableData.categoryUrl); bool parse = GUILayout.Button("Parse"); if (GUILayout.Button("Stop")) { MediaWikiUtils.run = false; } // ---- search GUILayout.Label("Search"); scriptableData.searchStartWith = GUILayout.Toggle(scriptableData.searchStartWith, "Start With"); scriptableData.searchWord = GUILayout.TextField(scriptableData.searchWord); if (GUILayout.Button("Search")) { if (scriptableData.searchStartWith) { var keys = from x in scriptableData.Dict where x.Key.StartsWith(scriptableData.searchWord) select x.Key; scriptableData.searchResults = keys.ToArray(); Debug.Log(scriptableData.searchResults.Length); } if (!scriptableData.searchStartWith) { scriptableData.searchResults = new string[0]; scriptableData.selectedIndex = 0; if (scriptableData.Dict.ContainsKey(scriptableData.searchWord)) { var data = scriptableData.Dict[scriptableData.searchWord]; scriptableData.searchResult = WordFormat(data); } else { scriptableData.searchResult = "Not found"; } } } GUILayout.TextArea(scriptableData.searchResult, GUILayout.Height(230)); scriptableData.selectedIndex = GUILayout.SelectionGrid(scriptableData.selectedIndex, scriptableData.searchResults, 1); if (scriptableData.searchResults.Length > 0) { try { string word = scriptableData.searchResults[scriptableData.selectedIndex]; if (scriptableData.Dict.ContainsKey(word)) { scriptableData.searchResult = WordFormat(scriptableData.Dict[word]); } } catch (Exception) { Debug.Log(scriptableData.selectedIndex); } } // ---- async if (parse) { if (MediaWikiUtils.run) { return; } MediaWikiUtils.run = true; string url = HttpUtility.UrlDecode(scriptableData.categoryUrl); string category = url.Substring(url.LastIndexOf(":") + 1); Debug.Log(category); var pages = await Task.Run(() => MediaWikiUtils.ParseCategory(category, ref scriptableData.progress, scriptableData.WordFilter)); var dict = await Task.Run(() => MediaWikiUtils.ParsePages(pages, ref scriptableData.progress, scriptableData.PageFilter)); dict.ToList().ForEach(x => { if (!scriptableData.Dict.ContainsKey(x.Key)) { scriptableData.Dict.Add(x.Key, x.Value); } } ); } }