@@ -62,6 +62,7 @@ func Run(gnv gnverifier.GNverifier, port int) {
62
62
e .GET ("/data_sources" , dataSources (gnv ))
63
63
e .GET ("/data_sources/:id" , dataSource (gnv ))
64
64
e .GET ("/name_strings/:id" , nameString (gnv ))
65
+ e .GET ("/name_strings/widget/:id" , nameStringWidget (gnv ))
65
66
e .GET ("/about" , about (gnv ))
66
67
e .GET ("/api" , api (gnv ))
67
68
@@ -105,49 +106,11 @@ func api(gnv gnverifier.GNverifier) func(echo.Context) error {
105
106
106
107
func nameString (gnv gnverifier.GNverifier ) func (echo.Context ) error {
107
108
return func (c echo.Context ) error {
108
- id , _ := url .QueryUnescape (c .Param ("id" ))
109
- var ds []int
110
- var allMatches bool
111
- dsStr := c .QueryParam ("data_sources" )
112
- if dsStr != "" {
113
- dss := strings .Split (dsStr , "," )
114
- for i := range dss {
115
- num , err := strconv .Atoi (dss [i ])
116
- if err == nil {
117
- ds = append (ds , num )
118
- }
119
- }
120
- }
121
- allMatches = c .QueryParam ("all_matches" ) == "true"
122
- inp := vlib.NameStringInput {
123
- ID : id ,
124
- DataSources : ds ,
125
- WithAllMatches : allMatches ,
126
- }
127
- res , err := gnv .NameString (inp )
109
+ data , err := getNameString (c , gnv )
128
110
if err != nil {
129
111
return err
130
112
}
131
- var names []vlib.Name
132
- if res .Name != nil {
133
- names = []vlib.Name {* res .Name }
134
- }
135
-
136
- data := Data {
137
- Input : inp .ID ,
138
- Format : "html" ,
139
- DataSourceIDs : inp .DataSources ,
140
- AllMatches : inp .WithAllMatches ,
141
- Page : "home" ,
142
- Verified : names ,
143
- Version : gnv .GetVersion ().Version ,
144
- }
145
- format := c .QueryParam ("format" )
146
- if format == "csv" || format == "json" || format == "tsv" {
147
- data .Format = format
148
- }
149
113
150
- fmt .Printf ("NAME: %#v\n \n " , data )
151
114
switch data .Format {
152
115
case "json" :
153
116
return c .JSON (http .StatusOK , data .Verified )
@@ -163,6 +126,66 @@ func nameString(gnv gnverifier.GNverifier) func(echo.Context) error {
163
126
}
164
127
}
165
128
129
+ func nameStringWidget (gnv gnverifier.GNverifier ) func (echo.Context ) error {
130
+ return func (c echo.Context ) error {
131
+ data , err := getNameString (c , gnv )
132
+ if err != nil {
133
+ return err
134
+ }
135
+ return c .Render (http .StatusOK , "name_string_widget" , data )
136
+ }
137
+ }
138
+
139
+ func getNameString (
140
+ c echo.Context ,
141
+ gnv gnverifier.GNverifier ,
142
+ ) (Data , error ) {
143
+ var res Data
144
+ id , _ := url .QueryUnescape (c .Param ("id" ))
145
+ var ds []int
146
+ var allMatches bool
147
+ dsStr := c .QueryParam ("data_sources" )
148
+ if dsStr != "" {
149
+ dss := strings .Split (dsStr , "," )
150
+ for i := range dss {
151
+ num , err := strconv .Atoi (dss [i ])
152
+ if err == nil {
153
+ ds = append (ds , num )
154
+ }
155
+ }
156
+ }
157
+ allMatches = c .QueryParam ("all_matches" ) == "true"
158
+ inp := vlib.NameStringInput {
159
+ ID : id ,
160
+ DataSources : ds ,
161
+ WithAllMatches : allMatches ,
162
+ }
163
+ out , err := gnv .NameString (inp )
164
+ if err != nil {
165
+ return res , err
166
+ }
167
+ var names []vlib.Name
168
+ if out .Name != nil {
169
+ names = []vlib.Name {* out .Name }
170
+ }
171
+
172
+ res = Data {
173
+ Input : inp .ID ,
174
+ Format : "html" ,
175
+ DataSourceIDs : inp .DataSources ,
176
+ AllMatches : inp .WithAllMatches ,
177
+ Page : "home" ,
178
+ Verified : names ,
179
+ Version : gnv .GetVersion ().Version ,
180
+ }
181
+ format := c .QueryParam ("format" )
182
+ if format == "csv" || format == "json" || format == "tsv" {
183
+ res .Format = format
184
+ }
185
+
186
+ return res , nil
187
+ }
188
+
166
189
func dataSources (gnv gnverifier.GNverifier ) func (echo.Context ) error {
167
190
return func (c echo.Context ) error {
168
191
var err error
0 commit comments