-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBioToolsRetriever.cs
More file actions
95 lines (69 loc) · 2.92 KB
/
BioToolsRetriever.cs
File metadata and controls
95 lines (69 loc) · 2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Http;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
namespace UnsupportedPackageWriter
{
class BioToolsRetriever
{
protected string URL;
private List<JObject> packagesWithoutWebappServiceDatabase;
private int pageNumber = 1;
public BioToolsRetriever()
{
packagesWithoutWebappServiceDatabase = new List<JObject>();
URL = "https://bio.tools/api/tool/?format=json&page=";
}
public List<JObject> GetJsonObjectFromBioTools()
{
using (HttpClient hc = new HttpClient())
{
JObject jObject = null;
do
{
var json = hc.GetAsync(URL + pageNumber).ContinueWith((taskwithresponse) =>
{
var response = taskwithresponse.Result;
var jsonTask = response.Content.ReadAsStringAsync();
jsonTask.Wait();
jObject = JObject.Parse(jsonTask.Result);
});
json.Wait();
String packageList = jObject["list"].ToString();
dynamic dynjason = JsonConvert.DeserializeObject(packageList);
foreach (var item in dynjason)
{
JObject package = JObject.Parse(item.ToString());
JArray toolTypes = JArray.Parse(package["toolType"].ToString());
//Console.Out.WriteLine(package);
bool contiuneFlag = false;
foreach(String toolType in toolTypes)
{
if (!toolType.Equals("Web application") && !toolType.Equals("Database portal") && !toolType.Equals("Web service"))
{
contiuneFlag = false;
break;
} else
{
contiuneFlag = true;
}
}
if (contiuneFlag) {
contiuneFlag = false;
/*Console.Out.WriteLine("Did not at package");
Console.ReadLine();*/
continue;
}
//Console.Out.WriteLine("added package");
packagesWithoutWebappServiceDatabase.Add(package);
//Console.ReadLine();
}
pageNumber++;
} while (jObject["next"].Type != JTokenType.Null);
}
return packagesWithoutWebappServiceDatabase;
}
}
}