Fossil SCM

Added -verbose flag to /json/wiki/list, which returns the metadata for all pages but not their content.

stephan 2012-02-19 16:42 trunk
Commit fe99188e60b4b82398c2100792ef71074ae427b1
--- ajax/index.html
+++ ajax/index.html
@@ -234,10 +234,11 @@
234234
<input type='button' value='timeline/ci' onclick='TheApp.cgi.sendCommand("/json/timeline/ci?files=true")' />
235235
<input type='button' value='timeline/wiki' onclick='TheApp.cgi.sendCommand("/json/timeline/wiki")' />
236236
<input type='button' value='timeline/ticket' onclick='TheApp.cgi.sendCommand("/json/timeline/ticket")' />
237237
<input type='button' value='timeline/branch' onclick='TheApp.cgi.sendCommand("/json/timeline/branch")' />
238238
<input type='button' value='wiki/list' onclick='TheApp.cgi.sendCommand("/json/wiki/list")' />
239
+<input type='button' value='wiki/list verbose' onclick='TheApp.cgi.sendCommand("/json/wiki/list",{verbose:1})' />
239240
<input type='button' value='wiki/get Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get",{name:"Fossil"})' />
240241
<input type='button' value='wiki/get/Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get/Fossil")' />
241242
242243
<br/>
243244
244245
--- ajax/index.html
+++ ajax/index.html
@@ -234,10 +234,11 @@
234 <input type='button' value='timeline/ci' onclick='TheApp.cgi.sendCommand("/json/timeline/ci?files=true")' />
235 <input type='button' value='timeline/wiki' onclick='TheApp.cgi.sendCommand("/json/timeline/wiki")' />
236 <input type='button' value='timeline/ticket' onclick='TheApp.cgi.sendCommand("/json/timeline/ticket")' />
237 <input type='button' value='timeline/branch' onclick='TheApp.cgi.sendCommand("/json/timeline/branch")' />
238 <input type='button' value='wiki/list' onclick='TheApp.cgi.sendCommand("/json/wiki/list")' />
 
239 <input type='button' value='wiki/get Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get",{name:"Fossil"})' />
240 <input type='button' value='wiki/get/Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get/Fossil")' />
241
242 <br/>
243
244
--- ajax/index.html
+++ ajax/index.html
@@ -234,10 +234,11 @@
234 <input type='button' value='timeline/ci' onclick='TheApp.cgi.sendCommand("/json/timeline/ci?files=true")' />
235 <input type='button' value='timeline/wiki' onclick='TheApp.cgi.sendCommand("/json/timeline/wiki")' />
236 <input type='button' value='timeline/ticket' onclick='TheApp.cgi.sendCommand("/json/timeline/ticket")' />
237 <input type='button' value='timeline/branch' onclick='TheApp.cgi.sendCommand("/json/timeline/branch")' />
238 <input type='button' value='wiki/list' onclick='TheApp.cgi.sendCommand("/json/wiki/list")' />
239 <input type='button' value='wiki/list verbose' onclick='TheApp.cgi.sendCommand("/json/wiki/list",{verbose:1})' />
240 <input type='button' value='wiki/get Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get",{name:"Fossil"})' />
241 <input type='button' value='wiki/get/Fossil' onclick='TheApp.cgi.sendCommand("/json/wiki/get/Fossil")' />
242
243 <br/>
244
245
+9 -1
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -347,10 +347,12 @@
347347
*/
348348
static cson_value * json_wiki_list(){
349349
cson_value * listV = NULL;
350350
cson_array * list = NULL;
351351
Stmt q;
352
+ char const verbose = json_find_option_bool("verbose",NULL,"v",0);
353
+
352354
if( !g.perm.RdWiki && !g.perm.Read ){
353355
json_set_err(FSL_JSON_E_DENIED,
354356
"Requires 'j' or 'o' permissions.");
355357
return NULL;
356358
}
@@ -359,11 +361,17 @@
359361
" FROM tag WHERE tagname GLOB 'wiki-*'"
360362
" ORDER BY lower(name)");
361363
listV = cson_value_new_array();
362364
list = cson_value_get_array(listV);
363365
while( SQLITE_ROW == db_step(&q) ){
364
- cson_value * v = cson_sqlite3_column_to_value(q.pStmt,0);
366
+ cson_value * v;
367
+ if( verbose ){
368
+ char const * name = db_column_text(&q,0);
369
+ v = json_get_wiki_page_by_name(name,0);
370
+ }else{
371
+ v = cson_sqlite3_column_to_value(q.pStmt,0);
372
+ }
365373
if(!v){
366374
json_set_err(FSL_JSON_E_UNKNOWN,
367375
"Could not convert wiki name column to JSON.");
368376
goto error;
369377
}else if( 0 != cson_array_append( list, v ) ){
370378
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -347,10 +347,12 @@
347 */
348 static cson_value * json_wiki_list(){
349 cson_value * listV = NULL;
350 cson_array * list = NULL;
351 Stmt q;
 
 
352 if( !g.perm.RdWiki && !g.perm.Read ){
353 json_set_err(FSL_JSON_E_DENIED,
354 "Requires 'j' or 'o' permissions.");
355 return NULL;
356 }
@@ -359,11 +361,17 @@
359 " FROM tag WHERE tagname GLOB 'wiki-*'"
360 " ORDER BY lower(name)");
361 listV = cson_value_new_array();
362 list = cson_value_get_array(listV);
363 while( SQLITE_ROW == db_step(&q) ){
364 cson_value * v = cson_sqlite3_column_to_value(q.pStmt,0);
 
 
 
 
 
 
365 if(!v){
366 json_set_err(FSL_JSON_E_UNKNOWN,
367 "Could not convert wiki name column to JSON.");
368 goto error;
369 }else if( 0 != cson_array_append( list, v ) ){
370
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -347,10 +347,12 @@
347 */
348 static cson_value * json_wiki_list(){
349 cson_value * listV = NULL;
350 cson_array * list = NULL;
351 Stmt q;
352 char const verbose = json_find_option_bool("verbose",NULL,"v",0);
353
354 if( !g.perm.RdWiki && !g.perm.Read ){
355 json_set_err(FSL_JSON_E_DENIED,
356 "Requires 'j' or 'o' permissions.");
357 return NULL;
358 }
@@ -359,11 +361,17 @@
361 " FROM tag WHERE tagname GLOB 'wiki-*'"
362 " ORDER BY lower(name)");
363 listV = cson_value_new_array();
364 list = cson_value_get_array(listV);
365 while( SQLITE_ROW == db_step(&q) ){
366 cson_value * v;
367 if( verbose ){
368 char const * name = db_column_text(&q,0);
369 v = json_get_wiki_page_by_name(name,0);
370 }else{
371 v = cson_sqlite3_column_to_value(q.pStmt,0);
372 }
373 if(!v){
374 json_set_err(FSL_JSON_E_UNKNOWN,
375 "Could not convert wiki name column to JSON.");
376 goto error;
377 }else if( 0 != cson_array_append( list, v ) ){
378

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button