68
68
flickcurl_places_find(flickcurl* fc, const char* query)
70
const char* parameters[8][2];
72
70
xmlDocPtr doc = NULL;
73
71
xmlXPathContextPtr xpathCtx = NULL;
74
72
flickcurl_place** places = NULL;
74
flickcurl_init_params(fc);
79
parameters[count][0] = "query";
80
parameters[count++][1]= query;
82
parameters[count][0] = NULL;
84
if(flickcurl_prepare(fc, "flickr.places.find", parameters, count))
79
flickcurl_add_param(fc, "query", query);
81
flickcurl_end_params(fc);
83
if(flickcurl_prepare(fc, "flickr.places.find"))
87
86
doc = flickcurl_invoke(fc);
143
140
char lon_str[20];
144
141
char accuracy_str[4];
143
flickcurl_init_params(fc);
146
145
if(accuracy < 0 || accuracy > 16)
149
148
sprintf(lat_str, "%f", lat);
150
parameters[count][0] = "lat";
151
parameters[count++][1]= lat_str;
149
flickcurl_add_param(fc, "lat", lat_str);
152
150
sprintf(lon_str, "%f", lon);
153
parameters[count][0] = "lon";
154
parameters[count++][1]= lon_str;
151
flickcurl_add_param(fc, "lon", lon_str);
155
152
sprintf(accuracy_str, "%d", accuracy);
156
parameters[count][0] = "accuracy";
157
parameters[count++][1]= accuracy_str;
159
parameters[count][0] = NULL;
161
if(flickcurl_prepare(fc, "flickr.places.findByLatLon", parameters, count))
153
flickcurl_add_param(fc, "accuracy", accuracy_str);
155
flickcurl_end_params(fc);
157
if(flickcurl_prepare(fc, "flickr.places.findByLatLon"))
164
160
doc = flickcurl_invoke(fc);
232
228
flickcurl_places_getChildrenWithPhotosPublic2(flickcurl* fc,
233
229
const char* place_id, int woe_id)
235
const char* parameters[9][2];
237
231
xmlDocPtr doc = NULL;
238
232
xmlXPathContextPtr xpathCtx = NULL;
239
233
flickcurl_place** places = NULL;
240
234
char woe_id_str[10];
236
flickcurl_init_params(fc);
243
parameters[count][0] = "place_id";
244
parameters[count++][1]= place_id;
239
flickcurl_add_param(fc, "place_id", place_id);
245
240
} else if(woe_id >= 0) {
246
241
sprintf(woe_id_str, "%d", woe_id);
247
parameters[count][0] = "woe_id";
248
parameters[count++][1]= woe_id_str;
242
flickcurl_add_param(fc, "woe_id", woe_id_str);
252
parameters[count][0] = NULL;
246
flickcurl_end_params(fc);
254
if(flickcurl_prepare(fc, "flickr.places.getChildrenWithPhotosPublic",
248
if(flickcurl_prepare(fc, "flickr.places.getChildrenWithPhotosPublic"))
258
251
doc = flickcurl_invoke(fc);
331
324
flickcurl_places_getInfo2(flickcurl* fc, const char* place_id, int woe_id)
333
const char* parameters[9][2];
335
326
xmlDocPtr doc = NULL;
336
327
xmlXPathContextPtr xpathCtx = NULL;
337
328
flickcurl_place* place = NULL;
338
329
char woe_id_str[10];
331
flickcurl_init_params(fc);
341
parameters[count][0] = "place_id";
342
parameters[count++][1]= place_id;
334
flickcurl_add_param(fc, "place_id", place_id);
343
335
} else if(woe_id >= 0) {
344
336
sprintf(woe_id_str, "%d", woe_id);
345
parameters[count][0] = "woe_id";
346
parameters[count++][1]= woe_id_str;
337
flickcurl_add_param(fc, "woe_id", woe_id_str);
350
parameters[count][0] = NULL;
341
flickcurl_end_params(fc);
352
if(flickcurl_prepare_noauth(fc, "flickr.places.getInfo", parameters, count))
343
if(flickcurl_prepare_noauth(fc, "flickr.places.getInfo"))
355
346
doc = flickcurl_invoke(fc);
397
388
flickcurl_places_getInfoByUrl(flickcurl* fc, const char* url)
399
const char* parameters[8][2];
401
390
xmlDocPtr doc = NULL;
402
391
xmlXPathContextPtr xpathCtx = NULL;
403
392
flickcurl_place* place = NULL;
394
flickcurl_init_params(fc);
408
parameters[count][0] = "url";
409
parameters[count++][1]= url;
411
parameters[count][0] = NULL;
413
if(flickcurl_prepare(fc, "flickr.places.getInfoByUrl", parameters, count))
399
flickcurl_add_param(fc, "url", url);
401
flickcurl_end_params(fc);
403
if(flickcurl_prepare(fc, "flickr.places.getInfoByUrl"))
416
406
doc = flickcurl_invoke(fc);
451
441
flickcurl_place_type_info**
452
442
flickcurl_places_getPlaceTypes(flickcurl* fc)
454
const char* parameters[7][2];
456
444
xmlDocPtr doc = NULL;
457
445
xmlXPathContextPtr xpathCtx = NULL;
458
446
flickcurl_place_type_info** place_types = NULL;
460
parameters[count][0] = NULL;
462
if(flickcurl_prepare(fc, "flickr.places.getPlaceTypes", parameters, count))
448
flickcurl_init_params(fc);
450
flickcurl_end_params(fc);
452
if(flickcurl_prepare(fc, "flickr.places.getPlaceTypes"))
465
455
doc = flickcurl_invoke(fc);
514
504
flickcurl_places_getShapeHistory(flickcurl* fc, const char* place_id,
517
const char* parameters[9][2];
519
507
xmlDocPtr doc = NULL;
520
508
xmlXPathContextPtr xpathCtx = NULL;
521
509
flickcurl_shapedata** shapes = NULL;
522
510
char woe_id_str[20];
512
flickcurl_init_params(fc);
524
514
if(!place_id && woe_id < 0)
528
parameters[count][0] = "place_id";
529
parameters[count++][1]= place_id;
518
flickcurl_add_param(fc, "place_id", place_id);
531
520
if(woe_id >= 0) {
532
parameters[count][0] = "woe_id";
533
521
sprintf(woe_id_str, "%d", woe_id);
534
parameters[count++][1]= woe_id_str;
522
flickcurl_add_param(fc, "woe_id", woe_id_str);
537
parameters[count][0] = NULL;
525
flickcurl_end_params(fc);
539
if(flickcurl_prepare(fc, "flickr.places.getShapeHistory", parameters, count))
527
if(flickcurl_prepare(fc, "flickr.places.getShapeHistory"))
542
530
doc = flickcurl_invoke(fc);
595
581
int place_type_id;
596
582
char place_type_id_str[3];
584
flickcurl_init_params(fc);
598
586
place_type_id = flickcurl_place_type_to_id(place_type);
599
587
if(place_type_id < 0)
602
parameters[count][0] = "place_type_id";
603
590
sprintf(place_type_id_str, "%d", place_type_id);
604
parameters[count++][1]= place_type_id_str;
591
flickcurl_add_param(fc, "place_type_id", place_type_id_str);
607
parameters[count][0] = "date";
608
parameters[count++][1]= date;
594
flickcurl_add_param(fc, "date", date);
610
596
if(woe_id >= 0) {
611
597
sprintf(woe_id_str, "%d", woe_id);
612
parameters[count][0] = "woe_id";
613
parameters[count++][1]= woe_id_str;
598
flickcurl_add_param(fc, "woe_id", woe_id_str);
614
599
} else if(place_id) {
615
parameters[count][0] = "place_id";
616
parameters[count++][1]= place_id;
600
flickcurl_add_param(fc, "place_id", place_id);
620
parameters[count][0] = NULL;
604
flickcurl_end_params(fc);
622
if(flickcurl_prepare(fc, "flickr.places.getTopPlacesList", parameters, count))
606
if(flickcurl_prepare(fc, "flickr.places.getTopPlacesList"))
625
609
doc = flickcurl_invoke(fc);
685
667
int place_type_id = -1;
670
flickcurl_init_params(fc);
688
672
place_type_id = flickcurl_place_type_to_id(place_type);
689
673
if(place_type_id < 0)
692
676
sprintf(bbox, "%f,%f,%f,%f", minimum_longitude, minimum_latitude,
693
677
maximum_longitude, maximum_latitude);
694
parameters[count][0] = "bbox";
695
parameters[count++][1]= bbox;
678
flickcurl_add_param(fc, "bbox", bbox);
696
679
/* deliberately not using deprecated parameter place_type */
698
parameters[count][0] = "place_type";
699
parameters[count++][1]= place_type;
681
flickcurl_add_param(fc, "place_type", place_type);
701
parameters[count][0] = "place_type_id";
702
683
sprintf(place_type_id_str, "%d", place_type_id);
703
parameters[count++][1]= place_type_id_str;
684
flickcurl_add_param(fc, "place_type_id", place_type_id_str);
705
parameters[count][0] = NULL;
686
flickcurl_end_params(fc);
707
if(flickcurl_prepare(fc, "flickr.places.placesForBoundingBox", parameters,
688
if(flickcurl_prepare(fc, "flickr.places.placesForBoundingBox"))
711
691
doc = flickcurl_invoke(fc);
792
772
/* deliberately not using deprecated parameter place_type */
794
parameters[count][0] = "place_type";
795
parameters[count++][1]= place_type;
774
flickcurl_add_param(fc, "place_type", place_type);
797
parameters[count][0] = "place_type_id";
798
776
sprintf(place_type_id_str, "%d", place_type_id);
799
parameters[count++][1]= place_type_id_str;
777
flickcurl_add_param(fc, "place_type_id", place_type_id_str);
800
778
if(woe_id >= 0) {
801
parameters[count][0] = "woe_id";
802
779
sprintf(woe_id_str, "%d", woe_id);
803
parameters[count++][1]= woe_id_str;
780
flickcurl_add_param(fc, "woe_id", woe_id_str);
806
parameters[count][0] = "place_id";
807
parameters[count++][1]= place_id;
783
flickcurl_add_param(fc, "place_id", place_id);
809
parameters[count][0] = "threshold";
810
785
sprintf(threshold_str, "%d", threshold);
811
parameters[count++][1]= threshold_str;
786
flickcurl_add_param(fc, "threshold", threshold_str);
814
parameters[count][0] = "contacts";
815
parameters[count++][1]= contacts;
789
flickcurl_add_param(fc, "contacts", contacts);
817
791
if(min_upload_date >= 0) {
818
792
sprintf(min_upload_date_s, "%d", min_upload_date);
819
parameters[count][0] = "min_upload_date";
820
parameters[count++][1]= min_upload_date_s;
793
flickcurl_add_param(fc, "min_upload_date", min_upload_date_s);
822
795
if(max_upload_date >= 0) {
823
796
sprintf(max_upload_date_s, "%d", max_upload_date);
824
parameters[count][0] = "max_upload_date";
825
parameters[count++][1]= max_upload_date_s;
797
flickcurl_add_param(fc, "max_upload_date", max_upload_date_s);
827
799
if(min_taken_date >= 0) {
828
800
sprintf(min_taken_date_s, "%d", min_taken_date);
829
parameters[count][0] = "min_taken_date";
830
parameters[count++][1]= min_taken_date_s;
801
flickcurl_add_param(fc, "min_taken_date", min_taken_date_s);
832
803
if(max_taken_date >= 0) {
833
804
sprintf(max_taken_date_s, "%d", max_taken_date);
834
parameters[count][0] = "max_taken_date";
835
parameters[count++][1]= max_taken_date_s;
805
flickcurl_add_param(fc, "max_taken_date", max_taken_date_s);
838
parameters[count][0] = NULL;
808
flickcurl_end_params(fc);
840
if(flickcurl_prepare(fc, "flickr.places.placesForContacts", parameters,
810
if(flickcurl_prepare(fc, "flickr.places.placesForContacts"))
844
813
doc = flickcurl_invoke(fc);
924
891
int place_type_id;
925
892
char woe_id_str[10];
894
flickcurl_init_params(fc);
927
896
place_type_id = flickcurl_place_type_to_id(place_type);
928
897
if(place_type_id < 0)
931
parameters[count][0] = "place_type_id";
932
900
sprintf(place_type_id_str, "%d", place_type_id);
933
parameters[count++][1]= place_type_id_str;
934
parameters[count][0] = "woe_id";
901
flickcurl_add_param(fc, "place_type_id", place_type_id_str);
935
902
sprintf(woe_id_str, "%d", woe_id);
936
parameters[count++][1]= woe_id_str;
937
parameters[count][0] = "place_id";
938
parameters[count++][1]= place_id;
939
parameters[count][0] = "threshold";
940
parameters[count++][1]= threshold;
941
parameters[count][0] = "tags";
942
parameters[count++][1]= tags;
943
parameters[count][0] = "tag_mode";
944
parameters[count++][1]= tag_mode;
945
parameters[count][0] = "machine_tags";
946
parameters[count++][1]= machine_tags;
947
parameters[count][0] = "machine_tag_mode";
948
parameters[count++][1]= machine_tag_mode;
949
parameters[count][0] = "min_upload_date";
950
parameters[count++][1]= min_upload_date;
951
parameters[count][0] = "max_upload_date";
952
parameters[count++][1]= max_upload_date;
953
parameters[count][0] = "min_taken_date";
954
parameters[count++][1]= min_taken_date;
955
parameters[count][0] = "max_taken_date";
956
parameters[count++][1]= max_taken_date;
958
parameters[count][0] = NULL;
960
if(flickcurl_prepare(fc, "flickr.places.placesForTags", parameters, count))
903
flickcurl_add_param(fc, "woe_id", woe_id_str);
904
flickcurl_add_param(fc, "place_id", place_id);
905
flickcurl_add_param(fc, "threshold", threshold);
906
flickcurl_add_param(fc, "tags", tags);
907
flickcurl_add_param(fc, "tag_mode", tag_mode);
908
flickcurl_add_param(fc, "machine_tags", machine_tags);
909
flickcurl_add_param(fc, "machine_tag_mode", machine_tag_mode);
910
flickcurl_add_param(fc, "min_upload_date", min_upload_date);
911
flickcurl_add_param(fc, "max_upload_date", max_upload_date);
912
flickcurl_add_param(fc, "min_taken_date", min_taken_date);
913
flickcurl_add_param(fc, "max_taken_date", max_taken_date);
915
flickcurl_end_params(fc);
917
if(flickcurl_prepare(fc, "flickr.places.placesForTags"))
963
920
doc = flickcurl_invoke(fc);
1000
957
flickcurl_places_resolvePlaceId(flickcurl* fc, const char* place_id)
1002
const char* parameters[8][2];
1004
959
xmlDocPtr doc = NULL;
1005
960
xmlXPathContextPtr xpathCtx = NULL;
1006
961
flickcurl_place* place = NULL;
963
flickcurl_init_params(fc);
1011
parameters[count][0] = "place_id";
1012
parameters[count++][1]= place_id;
1014
parameters[count][0] = NULL;
1016
if(flickcurl_prepare_noauth(fc, "flickr.places.resolvePlaceId",
968
flickcurl_add_param(fc, "place_id", place_id);
970
flickcurl_end_params(fc);
972
if(flickcurl_prepare_noauth(fc, "flickr.places.resolvePlaceId"))
1020
975
doc = flickcurl_invoke(fc);
1057
1012
flickcurl_place*
1058
1013
flickcurl_places_resolvePlaceURL(flickcurl* fc, const char* url)
1060
const char* parameters[8][2];
1062
1015
xmlDocPtr doc = NULL;
1063
1016
xmlXPathContextPtr xpathCtx = NULL;
1064
1017
flickcurl_place* place = NULL;
1019
flickcurl_init_params(fc);
1069
parameters[count][0] = "url";
1070
parameters[count++][1]= url;
1072
parameters[count][0] = NULL;
1074
if(flickcurl_prepare_noauth(fc, "flickr.places.resolvePlaceURL",
1024
flickcurl_add_param(fc, "url", url);
1026
flickcurl_end_params(fc);
1028
if(flickcurl_prepare_noauth(fc, "flickr.places.resolvePlaceURL"))
1078
1031
doc = flickcurl_invoke(fc);
1150
parameters[count][0] = "place_type";
1151
parameters[count++][1]= place_type_str;
1103
flickcurl_add_param(fc, "place_type", place_type_str);
1153
1105
if(woe_id >= 0) {
1154
1106
sprintf(woe_id_str, "%d", woe_id);
1155
parameters[count][0] = "woe_id";
1156
parameters[count++][1]= woe_id_str;
1107
flickcurl_add_param(fc, "woe_id", woe_id_str);
1160
parameters[count][0] = "place_id";
1161
parameters[count++][1]= place_id;
1111
flickcurl_add_param(fc, "place_id", place_id);
1164
1114
if(threshold >= 0) {
1165
1115
sprintf(threshold_str, "%d", threshold);
1166
parameters[count][0] = "threshold";
1167
parameters[count++][1]= threshold_str;
1116
flickcurl_add_param(fc, "threshold", threshold_str);
1170
parameters[count][0] = NULL;
1119
flickcurl_end_params(fc);
1172
if(flickcurl_prepare(fc, "flickr.places.placesForUser", parameters, count))
1121
if(flickcurl_prepare(fc, "flickr.places.placesForUser"))
1175
1124
doc = flickcurl_invoke(fc);
1255
1202
char max_taken_date_str[20];
1256
1203
flickcurl_tag** tags = NULL;
1205
flickcurl_init_params(fc);
1258
1207
if(woe_id < 0 && !place_id)
1261
1210
if(woe_id >= 0) {
1262
parameters[count][0] = "woe_id";
1263
1211
sprintf(woe_id_str, "%d", woe_id);
1264
parameters[count++][1]= woe_id_str;
1212
flickcurl_add_param(fc, "woe_id", woe_id_str);
1267
parameters[count][0] = "place_id";
1268
parameters[count++][1]= place_id;
1215
flickcurl_add_param(fc, "place_id", place_id);
1270
1217
if(min_upload_date) {
1271
parameters[count][0] = "min_upload_date";
1272
1218
sprintf(min_upload_date_str, "%d", min_upload_date);
1273
parameters[count++][1]= min_upload_date_str;
1219
flickcurl_add_param(fc, "min_upload_date", min_upload_date_str);
1275
1221
if(min_upload_date) {
1276
parameters[count][0] = "max_upload_date";
1277
1222
sprintf(min_upload_date_str, "%d", min_upload_date);
1278
parameters[count++][1]= max_upload_date_str;
1223
flickcurl_add_param(fc, "max_upload_date", max_upload_date_str);
1280
1225
if(max_upload_date) {
1281
parameters[count][0] = "min_taken_date";
1282
1226
sprintf(max_upload_date_str, "%d", max_upload_date);
1283
parameters[count++][1]= min_taken_date_str;
1227
flickcurl_add_param(fc, "min_taken_date", min_taken_date_str);
1285
1229
if(min_taken_date) {
1286
parameters[count][0] = "max_taken_date";
1287
1230
sprintf(min_taken_date_str, "%d", min_taken_date);
1288
parameters[count++][1]= max_taken_date_str;
1231
flickcurl_add_param(fc, "max_taken_date", max_taken_date_str);
1291
parameters[count][0] = NULL;
1234
flickcurl_end_params(fc);
1293
if(flickcurl_prepare(fc, "flickr.places.tagsForPlace", parameters, count))
1236
if(flickcurl_prepare(fc, "flickr.places.tagsForPlace"))
1296
1239
doc = flickcurl_invoke(fc);