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 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596
|
2014-08-17 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_26 for 1.26 release (GIT
0eee7c4e17d29ea9026acab05294c79c92827c0e)
2014-08-16 Dave Beckett <dave@dajobe.org>
* .travis.yml: preserve maintainer mode
* docs/Makefile.am: Build generated files in maintainer mode.
* examples/print-photo-info.c: a little error handling
* NEWS.html: 1.26
* ChangeLog: #changes
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_invoke_get_form_content): Protect for NULL content
Related to coverity CID 56692
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_invoke_get_form_content): free context on error [coverity
CID 56647]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/shape.c:
Remove not-needed if(xpathNodeCtx) on cleanup path
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/oauth.c:
(flickcurl_oauth_prepare_common): Check malloc failures
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/oauth.c:
(flickcurl_oauth_prepare_common): Use free_nonce [coverity CID
56698]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/perms.c:
(flickcurl_build_perms): Look for first element. [coverity CID
56709]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/location.c:
comment
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/location.c:
(flickcurl_build_location): Look for first element. [coverity CID
56708]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/method.c:
(flickcurl_build_method): Remove if(method) check around cleanup
[coverity CID 56697]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/institution.c, src/person.c, src/photo.c, src/place.c:
Remove
not-needed if(xpathNodeCtx) on cleanup paths
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_invoke_get_form_content): Clean tidy path
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/method.c:
(flickcurl_build_method): Resource leak [coverity CID 56681]
2014-06-01 Dave Beckett <dave@dajobe.org>
* (flickcurl_build_institutions): Resource leak [coverity CID 58665]
2014-06-01 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_invoke_get_form_content): Protect for NULL content
Related to coverity CID 56692
* src/common.c:
(flickcurl_invoke_get_form_content): free context on error
[coverity CID 56647]
* src/shape.c: Remove not-needed if(xpathNodeCtx) on cleanup path
* src/oauth.c:
(flickcurl_oauth_prepare_common): Check malloc failures
* src/oauth.c:
(flickcurl_oauth_prepare_common): Use free_nonce [coverity CID
56698]
* src/perms.c:
(flickcurl_build_perms): Look for first element. [coverity CID
56709]
* src/location.c: comment
* src/location.c:
(flickcurl_build_location): Look for first element. [coverity CID
56708]
* src/method.c:
(flickcurl_build_method): Remove if(method) check around cleanup
[coverity CID 56697]
* src/institution.c, src/person.c, src/photo.c, src/place.c:
Remove not-needed if(xpathNodeCtx) on cleanup paths
* src/common.c:
(flickcurl_invoke_get_form_content): Clean tidy path
* src/method.c:
(flickcurl_build_method): Resource leak [coverity CID 56681]
* src/institution.c:
(flickcurl_build_institutions): Resource leak [coverity CID 58665]
2014-05-31 Dave Beckett <dave@dajobe.org>
* src/oauth.c:
(flickcurl_oauth_build_key): More caution about memcpy on NULL ptrs
[coverity CID 56618]
* src/collection.c:
(flickcurl_build_collections): Note handled above [coverity CID
56616]
* src/serializer.c: note
* src/auth-api.c:
(flickcurl_auth_oauth_getAccessToken): xpathNodeCtx always NULL on
tidy [coverity CID 56614]
* src/photo.c:
(flickcurl_invoke_photos_list): xpathNodeCtx always NULL on tidy
[coverity CID 56612]
* src/common.c:
(flickcurl_invoke_get_form_content): Error path never need
free(form) [coverity CID 56611]
* src/activity.c:
(flickcurl_free_activity): array is never NULL [coverity CID 56622]
* utils/commands.c:
(command_print_activity): array is never NULL [coverity CID 56623]
* utils/commands.c: ws
* src/collection.c:
(flickcurl_build_collections): Free string_value always Coverity CID
65388
* docs/Makefile.am:
Do not ship flickcurl-extras.xml; build it
* utils/Makefile.am:
Added all-programs target to build all programs
* src/config.c:
(flickcurl_config_read_ini): Remove access() call not needed
Coverity CID 56706
* utils/commands.c: Invoke
flickcurl_contacts_getTaggingSuggestions() page, per_page
* src/common.c:
(flickcurl_invoke_get_form_content): Free content [coverity CID
56647]
* src/galleries-api.c:
(flickcurl_galleries_create): Error path leak [coverity CID 56655]
* src/place.c:
(flickcurl_build_places): Error path leak [coverity CID 56660]
* src/institution.c:
(flickcurl_build_institutions): Error path leak [coverity CID 56665]
* src/machinetags-api.c:
(flickcurl_machinetags_getPredicates) Error path leak [coverity CID
56668]
* src/serializer.c:
(flickcurl_serialize_photo): Error path leak [coverity CID 56679]
* src/collection.c:
(flickcurl_build_collections): Error path leak [coverity CID 56680]
* src/method.c:
(flickcurl_build_method): Resource leak [coverity CID 56681]
* utils/codegen.c, utils/commands.c, utils/flickcurl.c,
utils/flickrdf.c, utils/list-methods.c, utils/mangen.c: Use
cmdline common code in utils
* utils/Makefile.am, utils/cmdline.c, utils/flickcurl_cmd.h: Added
cmdline.c common command line code
* src/common.c:
(flickcurl_unixtime_to_sqltimestamp): Use SQL_DATETIME_LEN
Coverity CID 56623
* NEWS.html: 1.26
* src/oauth.c: Update oauth test for https flickr urls
* src/common.c, src/panda-api.c, src/photo.c: doc https
* src/photo.c: Fix images and icons to https
* src/common.c: Oauth services are on https www.flickr.com
* src/galleries-api.c:
(flickcurl_galleries_addPhoto): Simplify and fix response
* src/activity-api.c, src/blogs-api.c, src/collections-api.c,
src/commons-api.c, src/contacts-api.c, src/galleries-api.c,
src/groups-api.c, src/groups-members-api.c,
src/groups-pools-api.c, src/machinetags-api.c, src/method.c,
src/people-api.c, src/photos-api.c, src/photos-comments-api.c,
src/photos-geo-api.c, src/photos-notes-api.c,
src/photos-people-api.c, src/photos-upload-api.c,
src/photosets-api.c, src/places-api.c, src/prefs-api.c,
src/reflection-api.c, src/stats-api.c, src/tags-api.c,
src/test-api.c: Fix a pile of resource leak on error path from
coverity
* src/category.c, src/contacts.c, src/machinetags.c,
src/user_upload_status.c: Fix leaks in free attr_value in XML
parsing
* src/group.c:
Fix attribute value leak [coverity CID 56687]
* src/oauth.c:
Fix error path leak [coverity CID 56688]
* src/shape.c:
Fix error path leak [coverity CID 56689]
* src/photosets-comments-api.c: Fix error path leaks [coverity CID
56690 56691]
* src/common.c:
Switch to https for all service endpoints. HTTP EOL 2014-06-27
2014-04-30 Flickr announced that it would be HTTPS only from
2014-06-27
http://code.flickr.net/2014/04/30/flickr-api-going-ssl-only-on-june-27th-2014/
2014-05-12 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_unixtime_to_sqltimestamp): sizeof date_buffer Coverity
CID 56623
2014-05-10 Dave Beckett <dave@dajobe.org>
* utils/commands.c:
(command_places_getShapeHistory): Use woe_id < 0
Problem reported by David Binderman - thanks!
2014-01-26 Dave Beckett <dave@dajobe.org>
* utils/mangen.c: Add \n to fputs()
2014-01-26 Dave Beckett <dave@dajobe.org>
* utils/mangen.c: Fix .br better
* utils/mangen.c: Emit a space after .br
* utils/commands.c: Utility args consistency for PER-PAGE / PAGE
Based on Debian bug 635989
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635989
(command_contacts_getTaggingSuggestions): Use PER-PAGE, PAGE
order.
contacts.getList, contacts.getPublicList: Fix documentation; order
was always PER-PAGE, PAGE
contacts.getTaggingSuggestions: Document PER-PAGE, PAGE order.
2014-01-15 Dave Beckett <dave@dajobe.org>
* autogen.sh:
Create NEWS and README
2014-01-14 Dave Beckett <dave@dajobe.org>
* Makefile.am: Fix HTML rules
* Makefile.am: make test
* docs/Makefile.am, utils/Makefile.am: Build docs/flickcurl.1
outside maintainer mode
* .travis.yml: update
* .travis.yml: Travis CI
* NEWS.html: 1.26
* LICENSE.html, NEWS.html, README.html, src/common.c: 2014
* src/common.c: Use NULL not '\0' [clang]
* docs/Makefile.am: mangen manpage
* docs/Makefile.am, utils/.gitignore, utils/Makefile.am,
utils/flickcurl.c, utils/mangen.c: Added mangen utility to
generate manpage and extras
* utils/Makefile.am, utils/commands.c, utils/flickcurl.c,
utils/flickcurl_cmd.h: Split utility commands out into commands.c
with header
2014-01-13 Dave Beckett <dave@dajobe.org>
* Makefile.am, configure.ac, examples/Makefile.am,
getopt/.gitignore, getopt/Makefile.am, getopt/flickcurl_getopt.h,
getopt/getopt.c, utils/Makefile.am, utils/flickcurl_getopt.h,
utils/getopt.c: Add libgetopt convenience library
* Makefile.am, configure.ac, libmtwist, src/Makefile.am: Make
libtwist a convenience library
* src/common.c: sort flickcurl_extras_format_info names
* src/photo.c:
Support staticflickr.com domain
http://www.flickr.com/services/api/misc.urls.html
http://www.flickr.com/services/api/misc.buddyicons.html
(flickcurl_photo_as_source_uri, flickcurl_user_icon_uri): Use new
domain for building image URIs.
(flickcurl_source_uri_as_photo_id): Accept old static.flickr.com
as well as new domain in URIs.
* src/photo.c: Use smaller fixed buffer sizes on stack
* src/common.c: Add new extras: url_q, url_n and url_c Document
the older urls using info on web site
* configure.ac: Check for clang to enable correct discovery of
supported warnings
2013-09-01 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bumped version to 1.26
* Snapshotted flickcurl_1_25 for 1.25 release (GIT
4222075303446c1f1241282a41838557876559b2)
2013-08-24 Dave Beckett <dave@dajobe.org>
* README.html: Fix broken link
2013-08-09 Dave Beckett <dave@dajobe.org>
* coverage.html, src/flickcurl.h, src/tags-api.c, utils/flickcurl.c:
Implement flickr.tags.getMostFrequentlyUsed
(flickcurl_tags_getMostFrequentlyUsed): Added implementing
flickr.tags.getMostFrequentlyUsed Updated flickcurl utility to
support it. ISSUE: This does not seeem to work via OAuth 2.0
although it works in the API Explorer.
2013-07-29 Dave Beckett <dave@dajobe.org>
* coverage.html, src/flickcurl.h, src/people-api.c,
utils/flickcurl.c: Added flickr.people.getGroups
(flickcurl_people_getGroups): Added.
* coverage.html:
Added flickr.contacts.getTaggingSuggestions
* src/contacts-api.c, src/flickcurl.h, utils/flickcurl.c: Added
contacts.getTaggingSuggestions
(flickcurl_contacts_getTaggingSuggestions): Added.
Reordered parameters to match rest of contacts.get* API calls.
flickcurl: Added new command and adjusted some help text for other
contacts.get* API calls.
2013-06-22 Dave Beckett <dave@dajobe.org>
* ChangeLog: #changes
2013-06-21 Dave Beckett <dave@dajobe.org>
* src/groups-api.c: Guess that boolean value params take '1' or
'0' strings
2013-06-17 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.25 changes
* flickcurl-config.in: tidy vars
* configure.ac: tidy AC_CONFIG_FILES
* docs/flickcurl-config.1, flickcurl-config.in: Work without
pkg-config and deprecate flickcurl-config in docs
* docs/tmpl/section-group.sgml, docs/tmpl/section-upload.sgml:
Update tmpls
* docs/flickcurl-sections.txt: Add internal / deprecated
flickcurl_upload_status_free
* docs/flickcurl-config.1, flickcurl-config.in: Work without
pkg-config and deprecate flickcurl-config in docs
* docs/tmpl/section-group.sgml, docs/tmpl/section-upload.sgml:
Update tmpls
* docs/flickcurl-sections.txt: Add internal / deprecated
flickcurl_upload_status_free
* utils/flickrdf.c:
Use non-deprecated flickcurl_photos_getInfo2
* coverage.html: Update coverage for new groups apis
* docs/flickcurl-sections.txt, src/flickcurl.h, src/groups-api.c,
utils/flickcurl.c: Added new API calls for groups join,
joinRequest and leave
(flickcurl_groups_join, flickcurl_groups_joinRequest)
(flickcurl_groups_leave): Added.
* utils/codegen.c: Update codegen for new parameters calls
* coverage.html: reorder
* coverage.html: Added auth.oauth
2013-06-16 Dave Beckett <dave@dajobe.org>
* coverage.html: updated %age
* coverage.html: Updated coverage by hand
* utils/flickcurl.c:
(command_urls_lookupUser): Fix failure
* src/upload-api.c:
(flickcurl_photos_upload): Init hidden to default -1
* src/flickcurl.h: flickcurl_upload_params: annotate default
values
safety_level, content_type and hidden can be left at their default
values with values <=0
* utils/flickcurl.c: Adjust oauth docs to oauth.CMD form
* utils/flickcurl.c: newline in output
* src/common.c:
(flickcurl_invoke_common): Remove totally wrong XML form content
type.
* src/common.c: Add curl input/output tracing when FLICKCURL_DEBUG
> 2
* src/common.c: debug formatting
* src/common.c: more CURL debugging details for forms
* utils/flickcurl.c:
(command_oauth_create): Report next step command line for
oauth-create
* src/oauth.c:
(flickcurl_oauth_prepare_common): Fix assert to look for too small
buffer.
* src/oauth.c: docs
* src/common.c: 2013
2013-05-29 Dave Beckett <dave@dajobe.org>
* src/common.c: docs
* src/legacy-auth.c, src/oauth.c: Fix assert to check the right
thing
2013-05-27 Dave Beckett <dave@dajobe.org>
* src/common.c, src/legacy-auth.c, src/oauth.c: Take care not to
add '?' for OAuth signature calculations in POST
Default flickcurl_flickr_service_uri loses the '?'
(flickcurl_legacy_prepare_common, flickcurl_oauth_prepare_common):
Rename parameter to service_uri and use if(parameters_in_url) to
decide when to add '?'.
* src/common.c, src/contacts-api.c, src/favorites-api.c,
src/galleries-api.c, src/groups-pools-api.c, src/photos-api.c,
src/photos-comments-api.c, src/photos-geo-api.c,
src/photos-licenses-api.c, src/photos-notes-api.c,
src/photos-people-api.c, src/photosets-api.c,
src/photosets-comments-api.c: flickcurl_init_params initialises
data to empty
Remove most flickcurl_set_data calls which all set the data to
empty; it's not used to set non-empty data.
* src/activity-api.c, src/auth-api.c, src/blogs-api.c,
src/collections-api.c, src/common.c, src/commons-api.c,
src/contacts-api.c, src/favorites-api.c, src/flickcurl.h,
src/flickcurl_internal.h, src/galleries-api.c, src/groups-api.c,
src/groups-members-api.c, src/groups-pools-api.c,
src/interestingness-api.c, src/legacy-auth.c,
src/machinetags-api.c, src/oauth.c, src/panda-api.c,
src/people-api.c, src/photos-api.c, src/photos-comments-api.c,
src/photos-geo-api.c, src/photos-licenses-api.c,
src/photos-notes-api.c, src/photos-people-api.c,
src/photos-transform-api.c, src/photos-upload-api.c,
src/photosets-api.c, src/photosets-comments-api.c,
src/places-api.c, src/prefs-api.c, src/reflection-api.c,
src/stats-api.c, src/tags-api.c, src/test-api.c, src/upload-api.c:
Move is_write flag to flickcurl_init_params()
OAuth needs this flag during prepare which is too late using
flickcurl_set_write() later on.
2013-04-10 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bumped version to 1.25
* Snapshotted flickcurl_1_24 for 1.24 release (GIT
874b9f7033ac681925a2f9f260c4d5af510e55d2)
* utils/flickrdf.c: Casts for C++
* src/favorites-api.c, src/group.c, src/oauth.c, src/sha1.c: Casts
for C++
* src/oauth.c:
(flickcurl_oauth_create_access_token): Handle NULL username,
user_nsid [clang]
* src/group.c:
(flickcurl_build_groups): Do not lose malloced attr values [clang]
* configure.ac: Only add libcurl and libxml to .pc if they were
configured via pkg-config
2013-04-09 Dave Beckett <dave@dajobe.org>
* src/.gitignore: Ignore more
2013-04-08 Dave Beckett <dave@dajobe.org>
* examples/print-photo-info.c: Include flickcurl_config_read_in()
example code
* examples/search-photos.c: Use flickcurl_config_read_ini() to get
config
* examples/search-photos.c: Updated for reading OAuth config using
flickcurl_config_var_handler()
* src/md5.c: Do not destroy MD5 digest
2013-04-07 Dave Beckett <dave@dajobe.org>
* build/.gitignore: ignore more
* autogen.sh: autoconf
* configure.ac: autoconf warnings
Make AC_RUN_IFELSE assume failure when cross compiling and checking
for vsnprintf return; pessimisim will work
* configure.ac: Modernize LT_INIT call for libtool 2.2+
* README.html: words
* docs/flickcurl-oauth.xml: update example tokens
* LICENSE.html, NEWS.html, README.html, docs/flickcurl-docs.xml:
2013
* examples/print-photo-info.c: Use OAuth
* docs/flickcurl-sections.txt: 1.24 new functions
* src/common.c, src/md5.c: memset fixes [gcc 4.8]
* NEWS.html: 1.24
* ChangeLog: #changes
* src/oauth.c:
(flickcurl_oauth_free): Free oauth username and user_nsid
* Merge pull request #18 from jcsogo/userid
Make available the username and user_nsid when oauth
authentication happens
2013-02-22 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Add missing command contacts.getPublicList
Fixes https://github.com/dajobe/flickcurl/issues/19
2013-02-14 Jose Carlos Garcia Sogo <jsogo@debian.org>
* src/oauth.c: Commit forgotten code
2013-02-13 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Allow photos.getInfo to take an optional
SECRET arg
Call flickcurl_photos_getInfo2() instead of deprecated
flickcurl_photos_getInfo()
* utils/flickcurl.c: Add description of PER-PAGE and PAGE into
manpage
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635989
* utils/flickcurl.c: Make PER-PAGE PAGE docs match code
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635989
* src/flickcurl.h, src/photos-api.c:
(flickcurl_photos_getInfo2): Added replacing
flickcurl_photos_getInfo
Adds optional 'secret' parameter that was added sometime to the API.
See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637746
2013-02-13 Jose Carlos Garcia Sogo <jsogo@debian.org>
* src/flickcurl.h, src/flickcurl_internal.h: Make available the
username and user_nsid when oauth authentication is done
2013-01-16 Dave Beckett <dave@dajobe.org>
* src/common.c:
(win32 gettimeofday): Use tp-> not tv->
2013-01-11 Dave Beckett <dave@dajobe.org>
* src/tags.c:
Grab text from <tag> child text node correctly.
Fixes https://github.com/dajobe/flickcurl/issues/16
2013-01-10 Dave Beckett <dave@dajobe.org>
* src/location.c: Parse double latitude and longitude with atof()
not atoi()
Bug report from Clemens Arth - thanks
2012-12-15 Dave Beckett <dave@dajobe.org>
* autogen.sh: Handle AM_CONFIG_HEADER AND newer
AC_CONFIG_HEADER(S)
2012-12-03 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/group.c, utils/flickcurl.c: Add a pile of
group response fields.
Added iconfarm icon farm number; is_moderator and is_member
booleans, rules description; pool_count, topic_count counts and
group restriction booleans: photos_ok, videos_ok, images_ok,
screens_ok, art_ok, safe_ok, moderate_ok, restricted_ok, has_geo.
2012-09-02 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bumped version to 1.24
2012-09-01 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_23 for 1.23 release (GIT
29b6f5b550599ce9398504b975c784eac4cb2ba1)
* docs/flickcurl-authenticate.xml, docs/flickcurl-oauth.xml: docs
* utils/flickcurl.c: Add oauth.verify command to upgrade legacy
auth to OAuth
* docs/flickcurl-authenticate.xml, docs/flickcurl-oauth.xml: More
oauth docs
* docs/Makefile.am, docs/flickcurl-authenticate.xml,
docs/flickcurl-docs.xml, docs/flickcurl-oauth.xml: OAuth docs
2012-08-31 Dave Beckett <dave@dajobe.org>
* autogen.sh: autogen.sh docs
* autogen.sh, configure.ac: Update autogen.sh and configure.ac via
autoupdate
2012-08-29 Dave Beckett <dave@dajobe.org>
* NEWS.html: words
* NEWS.html: html
2012-08-28 Dave Beckett <dave@dajobe.org>
* src/oauth.c:
(test_request_token): Fix call to
flickcurl_oauth_create_request_token
* utils/Makefile.am, utils/oauth-test.c: Remove oauth-test utility
no longer needed
* docs/tmpl/section-auth.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-misc.sgml: Update tmpls
* docs/flickcurl-sections.txt: Add new functions to sections
* src/collection.c, src/common.c, src/gallery.c, src/person.c,
src/photo.c: Replace strncpy with memcpy
* ChangeLog: #changes
* src/oauth.c: Remove final strcat from OAuth code
(flickcurl_oauth_prepare_common): replaced strcat with pointer
movement and memcpy
* src/oauth.c: Remove strcpy and stract from OAuth code
(flickcurl_oauth_prepare_common): strcpy and strcat replaced with
pointer movement and memcpy
* src/photo.c:
(flickcurl_user_icon_uri): 42
* src/photo.c:
(flickcurl_photo_as_source_uri): Remove strcpy
* src/machinetags.c: Switch to strlen / malloc / memcpy form
(flickcurl_build_tag_namespaces,
flickcurl_build_tag_predicate_values):
Switch from sequence:
dest = malloc(strlen(str) + 1);
strcpy(dest, str);
to
len = strlen(str)
dest = malloc(len + 1)
memcpy(dest, str, len + 1)
to get rid of strcpy for known string length
* src/legacy-auth.c: Remove strcpy from legacy auth code
(flickcurl_legacy_prepare_common): Lots of url and parameter
counting. strcpy and strcat replaced with pointer movement and
memcpy
* src/args.c:
(flickcurl_build_args): Fix strlen/malloc/memcpy cut-n-pasto
* src/activity.c, src/args.c, src/blog.c, src/category.c,
src/comments.c, src/contacts.c, src/context.c, src/exif.c,
src/gallery.c, src/group.c, src/members.c, src/note.c,
src/oauth.c, src/panda-api.c, src/perms.c, src/photos-api.c,
src/photos-licenses-api.c, src/photoset.c, src/place.c,
src/reflection-api.c, src/serializer.c, src/size.c, src/stat.c,
src/tags.c, src/ticket.c, src/user_upload_status.c, src/common.c:
Switch to strlen / malloc / memcpy form for setters
Switch from sequence:
dest = malloc(strlen(str) + 1);
strcpy(dest, str);
to
len = strlen(str)
dest = malloc(len + 1)
memcpy(dest, str, len + 1)
to get rid of strcpy for known string length
(flickcurl_set_user_agent, flickcurl_set_proxy,
flickcurl_set_http_accept): swtich from "malloc(strcpy); strcpy"
to "strlen(); malloc(); memcpy()" sequence
(flickcurl_invoke_common): Use same for raptor building URIs from
filename.
* src/common.c, src/legacy-auth.c, src/oauth.c, src/photo.c:
Change slightly unportable strdup() with malloc + memcpy
* src/group.c: Free attribute values if not used [clang]
(flickcurl_build_groups): Free value from child node always
* libmtwist: Update submodule libmtwist
* src/upload-api.c: Free status on error path [clang]
(flickcurl_photos_upload_params, flickcurl_photos_replace): Free
status on error exist.
* src/ticket.c: Free attribute values if not used [clang]
(flickcurl_build_tickets): Free attr_value
* src/tags.c: Free attribute values if not used. Free vars in loop
[clang]
(flickcurl_build_tags): Free attr_value
(flickcurl_build_tags_from_string): Use memcpy for known length
string.
(flickcurl_build_tag_clusters): Free tc on loop skip Free tag
cluster on error exit.
* src/stats-api.c: Initialise vars for errors. Free results on an
error [clang]
(flickcurl_stats_getCollectionStats,
flickcurl_stats_getPhotosetStats,
flickcurl_stats_getPhotostreamStats): Initialize count vars for
error case.
(flickcurl_stats_getTotalViews): Initialize count vars for error
case. Free views on error exits
* src/stat.c:
Free attribute values if not used [clang]
(flickcurl_build_stats): Free attr_value
* src/size.c:
Free attribute values if not used [clang]
(flickcurl_build_sizes): Free attr_value
* src/shape.c:
Free results on an error [clang]
(flickcurl_build_shapes): Free shapes on error exits
* src/place.c: Free results on an error, attribute values, calloc
fixes [clang]
(flickcurl_build_places): Free places on error exits
(flickcurl_build_place_types): Calloc correct object
pointer (semantic error but not dangerous). Calloc correct
parameter order. Free attribute value if not used.
* src/photos-licenses-api.c: Free attribute values if not used
[clang]
(flickcurl_read_licenses): Free attr_value
* src/photos-api.c: Free attribute values if not used and objects
on error path [clang]
(flickcurl_build_photocounts): Free attr_value
(flickcurl_photos_getCounts): Free counts on error exit
* src/photo.c: Free results on an error [clang]
(flickcurl_build_photos): Free photos on error exits
(flickcurl_invoke_photos_list): Check for NULL photos_list before
trying to call it
* src/perms.c:
Free attribute values if not used [clang]
(flickcurl_build_perms): Free attr_value
* src/panda-api.c:
Free results on an error [clang]
(flickcurl_panda_getList): Free pandas on error exits
* src/note.c:
Free attribute values if not used [clang]
(flickcurl_build_notes): Free attr_value
* src/method.c:
Free results on an error [clang]
(flickcurl_build_method): Free method on error exits
* src/machinetags.c: Free attribute values if not used [clang]
(flickcurl_build_tag_namespaces,
flickcurl_build_tag_predicate_values): Free attr_value
* src/location.c: Memcpy and attribute value fixes [clang]
(flickcurl_build_location): memcpy instead of strcpy. Always free
attribute value.
* src/institution.c: Free results on an error [clang]
(flickcurl_build_institutions): Free institutions on error exits
* src/favorites-api.c: Free results on an error [clang]
(flickcurl_favorites_getContext): Do not set an unused value. Free
photos lists on error exits
* src/exif.c: Free attribute values if not used [clang]
(flickcurl_build_exifs): Free attr_value
* src/context.c: Fix allocation and freeing attribute values
[clang]
(flickcurl_build_contexts): Calloc correct sized pointer (no
danger, but a semantic error). Free unused attribute values.
* src/common.c: Set a return value always [clang]
(flickcurl_prepare_common): Set rc and use memcpy for string
* src/collection.c: Free results on an error [clang]
(flickcurl_build_collections): Free collections on error exits
* src/category.c: Free attribute values if not used [clang]
(flickcurl_build_categories): Free attr_value
* src/blog.c: Free attribute values if not used [clang]
(flickcurl_build_blogs, flickcurl_build_blog_services): Free
attr_value
* src/.gitignore, src/Makefile.am: Add analyze target for source
* configure.ac: Add RECHO, RECHO_C, RECHO_N
* analyze
* src/oauth.c: Remove final strcat from OAuth code
(flickcurl_oauth_prepare_common): replaced strcat with pointer
movement and memcpy
* src/oauth.c: Remove strcpy and stract from OAuth code
(flickcurl_oauth_prepare_common): strcpy and strcat replaced with
pointer movement and memcpy
* src/photo.c:
(flickcurl_user_icon_uri): 42
* src/photo.c:
(flickcurl_photo_as_source_uri): Remove strcpy
* src/machinetags.c: Switch to strlen / malloc / memcpy form
(flickcurl_build_tag_namespaces,
flickcurl_build_tag_predicate_values): Switch from sequence:
dest = malloc(strlen(str) + 1)
strcpy(dest, str)
to
len = strlen(str)
dest = malloc(len + 1)
memcpy(dest, str, len + 1)
to get rid of strcpy for known string length
* src/legacy-auth.c: Remove strcpy from legacy auth code
(flickcurl_legacy_prepare_common): Lots of url and parameter
counting. strcpy and strcat replaced with pointer movement and
memcpy
* src/args.c:
(flickcurl_build_args): Fix strlen/malloc/memcpy cut-n-pasto
* src/activity.c, src/args.c, src/blog.c, src/category.c,
src/comments.c, src/contacts.c, src/context.c, src/exif.c,
src/gallery.c, src/group.c, src/members.c, src/note.c,
src/oauth.c, src/panda-api.c, src/perms.c, src/photos-api.c,
src/photos-licenses-api.c, src/photoset.c, src/place.c,
src/reflection-api.c, src/serializer.c, src/size.c, src/stat.c,
src/tags.c, src/ticket.c, src/user_upload_status.c: Switch to
strlen / malloc / memcpy form for setters
Switch from sequence:
dest = malloc(strlen(str) + 1)
strcpy(dest, str)
to
len = strlen(str)
dest = malloc(len + 1)
memcpy(dest, str, len + 1)
to get rid of strcpy for known string length
* src/common.c: Switch to strlen / malloc / memcpy form for
setters
(flickcurl_set_user_agent, flickcurl_set_proxy,
flickcurl_set_http_accept): swtich from "malloc(strcpy); strcpy"
to "strlen(); malloc(); memcpy()" sequence
(flickcurl_invoke_common): Use same for raptor building URIs from
filename.
* src/common.c, src/legacy-auth.c, src/oauth.c, src/photo.c:
Change slightly unportable strdup() with malloc + memcpy
* src/group.c: Free attribute values if not used [clang]
(flickcurl_build_groups): Free value from child node always
* libmtwist:
Update submodule libmtwist
* src/upload-api.c: Free status on error path [clang]
(flickcurl_photos_upload_params, flickcurl_photos_replace): Free
status on error exist.
* src/ticket.c: Free attribute values if not used [clang]
(flickcurl_build_tickets): Free attr_value
* src/tags.c: Free attribute values if not used. Free vars in loop
[clang]
(flickcurl_build_tags): Free attr_value
(flickcurl_build_tags_from_string): Use memcpy for known length
string.
(flickcurl_build_tag_clusters): Free tc on loop skip Free tag
cluster on error exit.
* src/stats-api.c: Initialise vars for errors. Free results on an
error [clang]
(flickcurl_stats_getCollectionStats,
flickcurl_stats_getPhotosetStats,
flickcurl_stats_getPhotostreamStats): Initialize count vars for
error case.
(flickcurl_stats_getTotalViews): Initialize count vars for error
case. Free views on error exits
* src/stat.c: Free attribute values if not used [clang]
(flickcurl_build_stats): Free attr_value
* src/size.c: Free attribute values if not used [clang]
(flickcurl_build_sizes): Free attr_value
* src/shape.c: Free results on an error [clang]
(flickcurl_build_shapes): Free shapes on error exits
* src/place.c: Free results on an error, attribute values, calloc
fixes [clang]
(flickcurl_build_places): Free places on error exits
(flickcurl_build_place_types): Calloc correct object
pointer (semantic error but not dangerous). Calloc correct
parameter order. Free attribute value if not used.
* src/photos-licenses-api.c: Free attribute values if not used
[clang]
(flickcurl_read_licenses): Free attr_value
* src/photos-api.c: Free attribute values if not used and objects
on error path [clang]
(flickcurl_build_photocounts): Free attr_value
(flickcurl_photos_getCounts): Free counts on error exit
* src/photo.c: Free results on an error [clang]
(flickcurl_build_photos): Free photos on error exits
(flickcurl_invoke_photos_list): Check for NULL photos_list before
trying to call it
* src/perms.c: Free attribute values if not used [clang]
(flickcurl_build_perms): Free attr_value
* src/panda-api.c: Free results on an error [clang]
(flickcurl_panda_getList): Free pandas on error exits
* src/note.c: Free attribute values if not used [clang]
(flickcurl_build_notes): Free attr_value
* src/method.c: Free results on an error [clang]
(flickcurl_build_method): Free method on error exits
* src/machinetags.c: Free attribute values if not used [clang]
(flickcurl_build_tag_namespaces,
flickcurl_build_tag_predicate_values): Free attr_value
* src/location.c: Memcpy and attribute value fixes [clang]
(flickcurl_build_location): memcpy instead of strcpy. Always free
attribute value.
* src/institution.c: Free results on an error [clang]
(flickcurl_build_institutions): Free institutions on error exits
* src/favorites-api.c: Free results on an error [clang]
(flickcurl_favorites_getContext): Do not set an unused value.
Free photos lists on error exits
* src/exif.c: Free attribute values if not used [clang]
(flickcurl_build_exifs): Free attr_value
* src/context.c: Fix allocation and freeing attribute values
[clang]
(flickcurl_build_contexts): Calloc correct sized pointer (no
danger, but a semantic error). Free unused attribute values.
* src/common.c: Set a return value always [clang]
(flickcurl_prepare_common): Set rc and use memcpy for string
* src/collection.c: Free results on an error [clang]
(flickcurl_build_collections): Free collections on error exits
* src/category.c: Free attribute values if not used [clang]
(flickcurl_build_categories): Free attr_value
* src/blog.c: Free attribute values if not used [clang]
(flickcurl_build_blogs, flickcurl_build_blog_services): Free
attr_value
* src/.gitignore, src/Makefile.am: Add analyze target for source
* configure.ac: Add RECHO, RECHO_C, RECHO_N
* src/Makefile.am: analyze
2012-08-27 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.23
* NEWS.html: new APIs
* src/common.c, src/flickcurl.h, src/oauth.c, utils/flickcurl.c:
Split oauth request token/secret setting into two functions
(flickcurl_set_oauth_request_credentials): Deleted
(flickcurl_set_oauth_request_token,
flickcurl_set_oauth_request_token_secret): Added, replacing above.
* NEWS.html: OAuth API calls
* NEWS.html: 1.23
2012-08-27 Dave Beckett <dave@dajobe.org>
* src/oauth.c: Remove unused parameters vars
(flickcurl_oauth_create_request_token,
flickcurl_oauth_create_access_token): Use flickcurl_end_params()
and count for form field counting
* src/flickcurl.h, src/flickcurl_internal.h,
src/win32_flickcurl_config.h: 2012
* utils/codegen.c, utils/flickcurl.c, utils/flickrdf.c,
utils/list-methods.c, utils/oauth-test.c, utils/raptor_fake.c,
utils/raptor_fake.h: 2012
* src/activity-api.c, src/auth-api.c, src/blogs-api.c,
src/collection.c, src/collections-api.c, src/common.c,
src/commons-api.c, src/config.c, src/contacts-api.c,
src/favorites-api.c, src/galleries-api.c, src/groups-api.c,
src/groups-members-api.c, src/groups-pools-api.c,
src/interestingness-api.c, src/machinetags-api.c, src/oauth.c,
src/panda-api.c, src/people-api.c, src/person.c, src/photo.c,
src/photos-api.c, src/photos-comments-api.c, src/photos-geo-api.c,
src/photos-licenses-api.c, src/photos-notes-api.c,
src/photos-people-api.c, src/photos-transform-api.c,
src/photos-upload-api.c, src/photosets-api.c,
src/photosets-comments-api.c, src/places-api.c, src/prefs-api.c,
src/reflection-api.c, src/serializer.c, src/stats-api.c,
src/tags-api.c, src/test-api.c, src/upload-api.c, src/urls-api.c:
2012
2012-08-26 Dave Beckett <dave@dajobe.org>
* src/places-api.c, src/reflection-api.c: Update count parameter
use to new style here too
* src/activity-api.c, src/auth-api.c, src/blogs-api.c,
src/collections-api.c, src/common.c, src/commons-api.c,
src/contacts-api.c, src/favorites-api.c, src/flickcurl_internal.h,
src/galleries-api.c, src/groups-api.c, src/groups-members-api.c,
src/groups-pools-api.c, src/interestingness-api.c,
src/legacy-auth.c, src/machinetags-api.c, src/oauth.c,
src/panda-api.c, src/people-api.c, src/photos-api.c,
src/photos-comments-api.c, src/photos-geo-api.c,
src/photos-licenses-api.c, src/photos-notes-api.c,
src/photos-people-api.c, src/photos-transform-api.c,
src/photos-upload-api.c, src/photosets-api.c,
src/photosets-comments-api.c, src/places-api.c, src/prefs-api.c,
src/reflection-api.c, src/stats-api.c, src/tags-api.c,
src/test-api.c, src/upload-api.c: Move all use of 'count' var to
use fc->count
(flickcurl_init_params, flickcurl_add_param, flickcurl_end_param):
Added and used in every API call to replace by-hand construction
of params and adjusting count variable.
(flickcurl_prepare_common, flickcurl_legacy_prepare_common,
flickcurl_oauth_prepare_common, flickcurl_prepare_noauth,
flickcurl_prepare): Lose count param and use fc->count directly
for computing parameters and requests.
(flickcurl_call_get_one_string_field): Use flickcurl_add_param
etc.
(flickcurl_append_photos_list_params): Lose count param and use
flickcurl_add_param instead. Update all callers.
* src/favorites-api.c, src/galleries-api.c,
src/groups-pools-api.c, src/interestingness-api.c,
src/people-api.c, src/photos-api.c, src/photos-comments-api.c,
src/photos-geo-api.c, src/photosets-api.c, src/stats-api.c: Update
flickcurl_append_photos_list_params calls without parameters
* src/common.c, src/flickcurl_internal.h, src/legacy-auth.c,
src/oauth.c: Move parameters into flickcurl object as a fixed
array
(flickcurl_prepare_common, flickcurl_prepare_noauth,
flickcurl_prepare_upload, flickcurl_append_photos_list_params,
flickcurl_sort_args, flickcurl_oauth_prepare_common): Remove
parameters argument from multiple calls, replacing it with use of
fc->parameters
(flickcurl_call_get_one_string_field): use fc->parameters Declared
largest array of parameters once using
FLICKCURL_MAX_OAUTH_PARAM_COUNT and FLICKCURL_MAX_PARAM_COUNT
* src/config.c, src/flickcurl.h, src/oauth.c: Replace
flickcurl_set_oauth_client_credentials() with two calls
(flickcurl_set_oauth_client_key,
flickcurl_set_oauth_client_secret): Added.
* src/config.c:
(flickcurl_config_var_handler): client key/secret get switched
* src/oauth.c: Now legal C
* utils/flickcurl.c: Add oauth-create and oauth-verify commands to
invoke OAuth flow
(command_oauth_create): Added to create the request token/secret
(command_oauth_verify): Added to verify the request from the OAuth
frob to give the access tokens. Saves the OAuth tokens to the
config file too.
* src/oauth.c: Allow setting NULL fields in OAuth credential set
calls
(flickcurl_set_oauth_client_credentials,
flickcurl_set_oauth_token, flickcurl_set_oauth_token_secret,
flickcurl_set_oauth_request_credentials): Allow NULL args and
set/cleanup correctly.
2012-08-25 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
oauth docs
* utils/oauth-test.c: Just use public APIs
(oauth_prepare, oauth_test_echo): Removed
(main): Remove flickcurl_set_oauth_client_credentials - the client
key/secret must be in the configuration file now. Call
flickcurl_test_echo().
* utils/oauth-test.c:
Allow callback URI
* src/flickcurl.h, src/oauth.c, utils/oauth-test.c:
(flickcurl_oauth_create_request_token): Allow optional callback
* src/flickcurl.h, src/flickcurl_internal.h, src/oauth.c,
utils/oauth-test.c: Expose oauth authentication calls to public
API
(flickcurl_oauth_create_request_token): Made public, was
flickcurl_oauth_request_token internally.
(flickcurl_oauth_create_request_token): Was
flickcurl_oauth_request_token
(flickcurl_oauth_get_authorize_uri):
Made public.
(flickcurl_oauth_create_access_token): Made public,
was flickcurl_oauth_access_token internally.
(flickcurl_get_oauth_request_token,
flickcurl_get_oauth_request_token_secret,
flickcurl_set_oauth_request_credentials): Added to get/set the
request tokens.
* src/person.c:
(flickcurl_build_persons): Tidy up better on loop exit and error
path Fixed leaks of - xpathNodeCtx always - person object and
persons array on errors
* src/photo.c:
(flickcurl_build_photos): Fix leak of string_value for tags
* configure.ac:
Curl version line fix
2012-08-24 Dave Beckett <dave@dajobe.org>
* configure.ac: Use xml2-config and curl-config as well as
pkg-config
* src/common.c:
(flickcurl_prepare_common): Make legacy auth work again
* utils/flickcurl.c: OAuth
* src/config.c: oauth_token_secret
* src/config.c: Read oauth fields from config
* utils/oauth-test.c: Use flickcurl_set_oauth_client_credentials()
* src/flickcurl.h, src/oauth.c: Added getter/setters for OAuth
client key and secret
(flickcurl_get_oauth_client_key,
flickcurl_get_oauth_client_secret): Added getters
(flickcurl_set_oauth_client_credentials): Added setter.
* src/common.c:
docs
* src/auth-api.c:
(flickcurl_auth_oauth_getAccessToken): old secret becomes
client_secret
2012-08-23 Dave Beckett <dave@dajobe.org>
* src/oauth.c: Turn code into a check for test failure
* docs/tmpl/section-core.sgml: update tmpls
* src/reflection-api.c:
(flickcurl_reflection_getMethods): No auth needed
* docs/flickcurl-sections.txt: Added oauth get/setters
flickcurl_get_oauth_token flickcurl_get_oauth_token_secret
flickcurl_set_oauth_token flickcurl_set_oauth_token_secret
* src/Makefile.am, src/common.c, src/flickcurl_internal.h,
src/legacy-auth.c: Move legacy auth code to new module
src/legacy-auth.c
* src/common.c: Call legacy or OAuth to prepare and sign calls
(flickcurl_legacy_prepare_common): Renamed from
flickcurl_prepare_common.
(flickcurl_prepare_common): Call legacy Flickr Auth - above - or
OAuth via flickcurl_oauth_prepare_common.
* src/flickcurl_internal.h: docs for legacy auth fields
* src/auth-api.c:
(flickcurl_auth_getToken): Store exchanged OAuth token/secret
* utils/flickcurl.c: Document oauth_token and oauth_secret in
config
* src/config.c:
(flickcurl_config_write_ini): Write oauth fields if set
* src/common.c: Switch API Key source from fc->api_key to
fc->od.client_key Update docs to 'legacy Flickr auth' for
get/setters for legacy token and secret.
* src/flickcurl.h, src/oauth.c: Add get/setters for OAuth tokens
(flickcurl_get_oauth_token, flickcurl_set_oauth_token,
flickcurl_get_oauth_token_secret,
flickcurl_set_oauth_token_secret): Added
* configure.ac, src/Makefile.am, src/common.c,
src/flickcurl_internal.h, utils/Makefile.am: Enable OAuth support
always
* build/.gitignore, configure.ac: Add AM_PROG_AR for linking
2012-04-18 Dave Beckett <dave@dajobe.org>
* src/photos-api.c:
(flickcurl_photos_setDates): Actually send date_taken parameter
Fixes GitHub issue https://github.com/dajobe/flickcurl/issues/15
2012-03-11 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: Document sizes
2011-12-29 Dave Beckett <dave@dajobe.org>
* src/auth-api.c: 1.23
* NEWS.html: 1.23
* coverage.html: 1.22 and 1.23
2011-12-28 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bumped version to 1.23
2011-11-11 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_22 for 1.22 release (GIT
6698387f4240cec82b0e115adf8a863657dd7066)
* utils/oauth-test.c:
Update flickcurl_oauth_prepare_common call
* NEWS.html, src/common.c, src/flickcurl_internal.h: Disable
mtwist unless building experimental OAuth
* src/Makefile.am: Do not use libmtwist without oauth
* configure.ac, src/Makefile.am, src/common.c,
src/flickcurl_internal.h, utils/Makefile.am: Add --enable-oauth
default disabled
* src/common.c:
(flickcurl_free): Free OAuth urls
* src/oauth.c:
(test_signature_calc): Test free
* src/oauth.c: Make oauth test work again
* src/flickcurl_internal.h, src/oauth.c: Remove is_request arg -
just use od->callback
* src/common.c, src/flickcurl_internal.h, src/oauth.c,
utils/oauth-test.c: Move flickcurl_oauth_data into flickcurl
struct
* docs/flickcurl-docs.xml, docs/tmpl/section-config.sgml: Add
config section to docs
* autogen.sh, docs/tmpl/section-auth.sgml,
docs/tmpl/section-core.sgml, docs/tmpl/section-misc.sgml,
docs/tmpl/section-unused.sgml, docs/tmpl/section-upload.sgml,
libmtwist: Fix submodule checkouts
* autogen.sh: Init and update any git submodules
2011-11-09 Dave Beckett <dave@dajobe.org>
* src/flickcurl_internal.h, src/oauth.c:
Reduce visibility of oauth
internal functions These are internal to the library now because the
flickcurl_oauth_data is an internal structure.
2011-11-01 Dave Beckett <dave@dajobe.org>
* src/common.c: Return method details with curl errors
* src/Makefile.am: Clean tests
2011-10-30 Dave Beckett <dave@dajobe.org>
* utils/oauth-test.c: code style
* utils/oauth-test.c: casts
* src/oauth.c: docs
* src/oauth.c: consts
* docs/flickcurl-sections.txt: add oauth urls
* src/flickcurl_internal.h, src/oauth.c: fix const char keys
* src/oauth.c: docs
* src/oauth.c:
(flickcurl_oauth_access_token): Delete request token after success.
* src/oauth.c:
(flickcurl_oauth_build_key): Build sign key from request OR access
token
* utils/oauth-test.c: docs
* src/Makefile.am, src/oauth.c, utils/oauth-test.c: Add oauth
checksum test
* src/.gitignore: ignore *_test
2011-10-29 Dave Beckett <dave@dajobe.org>
* utils/oauth-test.c: Report request token
* src/oauth.c:
(flickcurl_oauth_prepare_common): docs and send all oauth params
except callback to requests
* src/flickcurl_internal.h, src/oauth.c, utils/oauth-test.c:
(flickcurl_oauth_access_token): Pass in verifier
* src/flickcurl_internal.h, src/oauth.c: request_token* fields
renamed from tmp_token*
* docs/flickcurl-sections.txt, src/auth-api.c, src/flickcurl.h:
Added flickr.auth.oauth.getAccessToken partial support
(flickcurl_auth_oauth_getAccessToken): Added for
flickr.auth.oauth.getAccessToken - right now it exchanges the old
tokens for OAuth ones and drops them both.
* src/flickcurl_internal.h, utils/oauth-test.c: oauth field
client_key_len renamed from client_len
* utils/oauth-test.c: FLICKCURL_MAX_OAUTH_PARAM_COUNT
* src/oauth.c: is_oauth_method fix
* src/flickcurl_internal.h, src/oauth.c:
FLICKCURL_MAX_OAUTH_PARAM_COUNT
* src/flickcurl.h, src/flickcurl_internal.h, src/oauth.c,
utils/oauth-test.c: Compute authorize URI after getting back oauth
request token (flickcurl_oauth_get_authorize_uri): Added.
* src/common.c, src/flickcurl_internal.h, src/oauth.c: Add utility
functions for oauth responses as HTTP forms
(flickcurl_invoke_get_form_content): Added to get content as k/v
array of strings.
(flickcurl_free_form): Added to free the above.
(flickcurl_oauth_request_token), flickcurl_oauth_access_token):
Use above.
* src/common.c, src/flickcurl_internal.h, src/oauth.c,
utils/Makefile.am, utils/oauth-test.c: Move OAuth test code into
oauth.c and refactor a little
* src/oauth.c:
(flickcurl_oauth_prepare_common): Do not use oath method name in
params
* libmtwist: Update to libmtwist head
* utils/oauth-test.c: Pass in (fake) flickr method for
flickcurl_oauth_prepare_common()
* src/oauth.c:
(flickcurl_oauth_prepare_common): Use http method not flickr method
* utils/oauth-test.c: remove unused srand()
* src/common.c, src/flickcurl_internal.h, src/oauth.c,
utils/oauth-test.c: Use libmtwist for PRNG for nonce
* libmtwist: Update to libmtwist head
* docs/flickcurl-sections.txt: Add symbols
* src/Makefile.am:
Add mtwist_config.h
* NEWS.html, docs/flickcurl-sections.txt:
flickcurl_get_hidden_from_string
* README.html: libmtwist submodule
2011-10-28 Dave Beckett <dave@dajobe.org>
* .gitmodules, configure.ac, libmtwist, src/Makefile.am,
src/mtwist_config.h: Add libmtwist as a git submodule
2011-10-16 Dave Beckett <dave@dajobe.org>
* src/oauth.c:
(flickcurl_oauth_compute_signature): Simplify greatly.
* src/config.c, src/flickcurl.h, utils/flickcurl.c:
(flickcurl_config_write_ini): Now writes to a filename
* utils/codegen.c, utils/flickcurl.c, utils/flickrdf.c,
utils/list-methods.c, utils/oauth-test.c: Update the utilities to
use flickcurl_config_ functions
* docs/flickcurl-sections.txt, src/common.c, src/config.c,
src/flickcurl.h: Update flickcurl config file reading and writing
support Move ini reading and writing into the library.
(flickcurl_config_read_ini): Added, deprecating read_ini_config()
and adding a flickcurl* param. Reads in library configuration.
(flickcurl_config_var_handler): Added as standard handler for
above.
(flickcurl_config_write_ini): Added to write an ini file for
library configuration.
* src/oauth.c:
(flickcurl_oauth_compute_signature): Docs and error path.
* configure.ac: Fix libcurl version check to actually check curl
not libxml twice
* configure.ac: Remove unused libcurl_min_vernum
* NEWS.html: Tim Harder is 'radhermit' on GitHub.
2011-10-15 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.22
* utils/flickcurl.c: Tidy help output; describe all upload params
defaults
* docs/flickcurl-sections.txt: Add flickcurl_get_hidden_label,
flickcurl_get_hidden_level_from_string
* src/common.c, src/flickcurl.h, src/upload-api.c,
utils/flickcurl.c: Add support for upload field 'hidden'
flickcurl_upload_params gains int param hidden with values 1 for
global and 2 for hidden.
(flickcurl_get_hidden_label, flickcurl_get_hidden_from_string):
Added utility functions to turn the int to a label and vice versa
* utils/flickcurl.c: Document upload params safety_level and
content_type
* docs/Makefile.am, docs/tmpl/section-favorite.sgml: Update tmpls
* docs/flickcurl-sections.txt:
Add flickcurl_favorites_getContext
* src/favorites-api.c, src/flickcurl.h, utils/flickcurl.c:
Implement API favorites.getContext
(flickcurl_favorites_getContext): Added returning an array of two
photo lists for previous and next photos. flickcurl utility adds
new command favorites.getContext to call above.
* src/flickcurl_internal.h, src/photo.c:
(flickcurl_new_photos_list): Added to construct a photos list
* configure.ac, src/common.c, utils/flickrdf.c: Support Raptor V2
only. Raptor V1 was last supported in January 2010
* src/panda-api.c: extras docs
2011-09-02 Dave Beckett <dajobe@digg.com>
* utils/oauth-test.c: access token testing
* src/flickcurl_internal.h: Add verifier field
2011-08-15 Dave Beckett <dave@dajobe.org>
* Merge pull request #13 from kumanna/help-without-auth (below)
Help without authentication
2011-08-14 Kumar Appaiah <a.kumar@alumni.iitm.ac.in>
* utils/flickcurl.c: Use stdout for non-error user output
Since users usually expect any non-error output to come to stdout,
this commit changes all output except error reports to be directed
to stdout.
* utils/flickcurl.c: Fix indentation
* utils/flickcurl.c: Provision for help message even when not
authenticated.
Even when not authenticated, the user might desire to see the list
of API calls available. This commit facilitates the display of
that message.
* utils/flickcurl.c: Move printing help details to a function.
This commit moves printing the help message to a function, viz.
print_help_string, so that it can be called from multiple places
without having to duplicate code. In addition, displays an extra
newline at the end for neater output.
2011-08-14 Dave Beckett <dave@dajobe.org>
* Merge pull request #12 from kumanna/kumar (below)
Fix man page and documentation quirks reported at Debian.
Debian bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=635892
2011-08-14 Kumar Appaiah <a.kumar@alumni.iitm.ac.in>
* utils/flickcurl.c: Fix grammatical error in description of
galleries.create
* docs/flickrdf.1: Fix incorrect spacing in flickrdf man page
Fixes an incorrect space in the reference to the flickcurl man
page.
* docs/flickrdf.1: Remove reference to missing README for flickrdf
This removes the reference to a missing README file for flickrdf.
This fixes Debian bug 637196 in flickcurl.
2011-07-28 Dave Beckett <dave@dajobe.org>
* Merge pull request #10 from radhermit/curl-headers (below)
Remove old curl header include
2011-06-25 Dave Beckett <dave@dajobe.org>
* src/flickcurl_internal.h, src/oauth.c, utils/oauth-test.c: Test
code calls Flickr OAuth endpoint with correctly signed call
2011-06-23 Dave Beckett <dave@dajobe.org>
* src/flickcurl_internal.h: ws
* src/flickcurl_internal.h, src/oauth.c, utils/oauth-test.c:
(flickcurl_oauth_build_key_data): Added internal call with API
that will change
* utils/oauth-test.c:
(oauth_build_key_data): Added
* utils/oauth-test.c:
Add a structure oauth_data
* utils/oauth-test.c:
Do URI encoding and concatenating
* src/Makefile.am, src/flickcurl_internal.h, src/oauth.c,
src/sha1.c, utils/.gitignore, utils/Makefile.am, utils/oauth-test.c:
OAuth test code
2011-05-08 Dave Beckett <dave@dajobe.org>
* src/galleries-api.c, src/method.c, src/photosets-api.c,
src/prefs-api.c, src/test-api.c, src/upload-api.c: code style
* src/person.c:
(flickcurl_build_persons): Do not zap any existing data if a field
is not found.
2011-03-31 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.22
2011-03-31 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am: Add raptor_fake.h to sources and
distribution.
2011-03-30 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bumped version to 1.22
* docs/tmpl/section-tag.sgml:
Added flickcurl_free_tags to doc tmpls
* docs/flickcurl-sections.txt:
(flickcurl_free_tags): Added
2011-03-30 Naruto TAKAHASHI <tnaruto@gmail.com>
* src/flickcurl.h, src/photo.c, src/tags.c: add
flickcurl_free_tags
* docs/tmpl/section-photoset.sgml, src/flickcurl.h,
src/photoset.c: move owner filed to the end of the structure.
2011-03-29 Naruto TAKAHASHI <tnaruto@gmail.com>
* docs/tmpl/section-photoset.sgml, src/flickcurl.h,
src/photoset.c: add owner to flickcurl_photoset
2011-03-26 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_21 for 1.21 release (GIT
7fe09ab24658240b02a1ba43d84d6df6814e8fb7)
* configure.ac: 1.21
* LICENSE.html, README.html, coverage.html: 2011
* NEWS.html: 1.21
2011-03-25 Dave Beckett <dave@dajobe.org>
* configure.ac, src/common.c, src/flickcurl.h, utils/Makefile.am,
utils/flickrdf.c, utils/raptor_fake.c, utils/raptor_fake.h:
Support Raptor V1 and Raptor V2 with flickrdf utility
(configure.ac): Add check for raptor V1 or V2. Support
--with-raptor values '1'/'yes' for V1, '2' for V2 and 'no' for
none/fake.
(utils/flickrdf.c): can now support raptor V1, V2 or fake
(utils/raptor_fake.c, utils/raptor_fake.h): Added module to
emulate Raptor V2 emulation for flickrdf
(src/flickcurl.h): Updated flickcurl_term_type autodocs
2011-02-27 Dave Beckett <dave@dajobe.org>
* src/photos-api.c:
(flickcurl_photos_setPerms): Allow false boolean permissions. Bug
report and patch from Henning Spruth - thanks.
2011-02-22 Naruto TAKAHASHI <tnaruto@gmail.com>
* src/photo.c: leak--
2010-11-17 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_20 for 1.20 release (GIT
36da7d18f61cacc33808d20fb9a00455b5dc34c6)
* NEWS.html: 1.20
* src/photosets-api.c:
(flickcurl_photosets_getPhotos_params): Make it work again.
2010-09-29 Dave Beckett <dave@dajobe.org>
* src/gallery.c: Casts for C++
* configure.ac: Use AC_LANG_SOURCE for gcc flag test
* NEWS.html, configure.ac: 1.20
* src/photos-api.c, src/photos-comments-api.c,
src/photos-geo-api.c, src/stats-api.c, src/tags-api.c: Adjust all
callers to flickcurl_invoke_photos_list() to not pass /photo xpath
suffix This makes searches work again.
2010-09-02 Dave Beckett <dave@dajobe.org>
* src/photo.c:
(flickcurl_invoke_photos_list): End with no-error if no <photo>
found.
* src/photo.c:
(flickcurl_invoke_photos_list): End with error if no <photo> found.
2010-07-24 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_19 for 1.19 release (GIT
acd343b3b123211be65b8b8539e847d8575fe56f)
* docs/tmpl/section-photo.sgml: Update doc tmpl for
flickcurl_photo struct
* docs/tmpl/section-note.sgml: Add doc tmpl
* src/flickcurl.h: autodocs
* src/note.c: autodocs
* docs/flickcurl-sections.txt: Added section note for
flickcurl_free_note and flickcurl_note
* utils/flickcurl.c:
Print photo notes using flickcurl_note fields from photo object.
(command_print_tags): Print a tags: label if nothing passed in.
(command_print_notes): Added to print a list of notes
(command_print_photo): Call above.
* src/note.c: remove C++ comments
2010-07-22 Dave Beckett <dave@dajobe.org>
* src/Makefile.am, src/flickcurl.h, src/flickcurl_internal.h,
src/note.c, src/photo.c:
Add flickr notes class flickcurl_note and use for photos
Added flickcurl_note class.
flickcurl_photo struct gains notes and and notes_count fields.
(flickcurl_free_note): Added.
(flickcurl_build_notes): Added internal function.
(flickcurl_build_photos): Use flickcurl_build_notes to add notes
structure.
2010-07-02 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-photoset.sgml, docs/tmpl/section-stats.sgml:
Update doc tmpls
* coverage.html: Update coverage for 1.19
* src/photos-api.c: fix autodocs for flickcurl_photos_removeTag
* docs/flickcurl-sections.txt: Add flickcurl_stats_getCSVFiles
* src/stat.c: autodocs for flickcurl_free_stat
* utils/flickcurl.c: Added command support for
flickcurl_photosets_removePhotos,
flickcurl_photosets_reorderPhotos and
flickcurl_photosets_setPrimaryPhoto
* docs/flickcurl-sections.txt, src/flickcurl.h,
src/photosets-api.c: Added flickcurl_photosets_removePhotos,
flickcurl_photosets_reorderPhotos and
flickcurl_photosets_setPrimaryPhoto
* src/galleries-api.c:
(flickcurl_galleries_editPhotos): Fix param check.
2010-05-15 Dave Beckett <dave@dajobe.org>
* src/upload-api.c:
(flickcurl_photos_upload): autodocs - note deprecation for
flickcurl_photos_upload_params
* src/upload-api.c: autodocs
2010-05-13 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/stats-api.c:
(flickcurl_stats_getCSVFiles): Added, but not implementing an API
with a death date 2 weeks away. Always fails.
2010-05-09 Dave Beckett <dave@dajobe.org>
* coverage.html: Updated to 1.18 - 176 API calls
* NEWS.html, configure.ac: 1.19
* utils/flickcurl.c:
(command_print_photos_list): Print out photos list new fields
* src/favorites-api.c, src/galleries-api.c,
src/groups-pools-api.c, src/interestingness-api.c,
src/panda-api.c, src/people-api.c: Update
flickcurl_invoke_photos_list callers to remove '/photos/' from
XPath suffix
* src/photo.c: Capture counts and, change xpath convention for
internal flickcurl_invoke_photos_list.
(flickcurl_invoke_photos_list): Capture the page, per-page and
total photos counts into fields of the returned photos_list
Adjust the calling convention to pass in the top level XPath, and
append '/photo' to it to get the individual photos via the
unchanged internal function flickcurl_build_photos.
* src/flickcurl.h: flickcurl_photos_list gains page, per_page and
total_count
* src/collection.c:
(flickcurl_build_collections): declare debug var in ifdef
2010-05-03 Dave Beckett <dave@dajobe.org>
* src/vsnprintf.c: Remove space from '> =' and '+ =' operators
added by accident -
http://github.com/dajobe/flickcurl/issues/#issue/4
2010-04-28 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(main): remove harmless unused set of read_auth var [clang]
* utils/flickcurl.c:
(main): remove harmless unused set of lastdc var [clang]
* utils/flickcurl.c:
(command_people_getPhotos): initialise rc [clang]
* src/photosets-api.c:
(flickcurl_photosets_delete): result var never used [clang]
* src/tags.c:
(flickcurl_build_tag_clusters): cluster_count written but never read
[clang]
* src/context.c:
(flickcurl_build_contexts): setting i is useless in first loop
[clang]
* (flickcurl_build_collections): setting datatype is usless [clang]
2010-04-26 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_18 for 1.18 release
(GIT ebae39d1cde76c5f805bcd2cc4614615317b7eb0)
* docs/flickcurl-sections.txt, src/common.c, src/flickcurl.h,
src/flickcurl_internal.h:
Added flickcurl_curl_setopt_handler()
flickcurl_curl_setopt_handler: Added new handler typedef for
setting curl options.
(flickcurl_curl_setopt_handler): Added to set handler callback
with docs to note alternative flickcurl_new_with_handle()
* docs/flickcurl-sections.txt, src/common.c, src/flickcurl.h: Add
flickcurl_new_with_handle()
* src/flickcurl.h: autodocs
2010-04-15 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
Make command "photos.geo.setLocation" work Fixes second part of Issue
http://github.com/dajobe/flickcurl/issues/#issue/1
* src/photos-geo-api.c: Correct several cut-n-paste "latitude
should be longitude" errors
(flickcurl_photos_geo_batchCorrectLocation,
flickcurl_photos_geo_photosForLocation_params,
flickcurl_photos_geo_setLocation): sprintf longitude value into
longitude_s - not latitude.
Fixes Issue http://github.com/dajobe/flickcurl/issues#issue/1
2010-04-11 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-photos-people.sgml: give section a title
* docs/tmpl/section-gallery.sgml: give section a title
* docs/tmpl/section-stats.sgml: give section a title
* docs/flickcurl-sections.txt: Add new Galleries methods to docs
* NEWS.html: update flickcurl_galleries_editPhoto sig to match
param name.
* NEWS.html: docs
* utils/flickcurl.c: Add utility support for new galleries
commands.
* src/flickcurl.h, src/gallery.c: Make flickcurl_free_gallery()
public
2010-04-09 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.18 gallery docs
* src/flickcurl.h, src/photo.c: Added PHOTO_FIELD_gallery_comment
for photo comments in a gallery context.
* NEWS.html: Update 1.18 news with new galleries functions
* src/flickcurl.h: Update flickcurl_gallery docs
* src/photos-api.c: #docs for in_gallery
* src/flickcurl.h, src/galleries-api.c:
Added implementation for (rest of) galleries APIs
(flickcurl_galleries_create, flickcurl_galleries_editMeta,
flickcurl_galleries_editPhoto, flickcurl_galleries_editPhotos,
flickcurl_galleries_getInfo, flickcurl_galleries_getPhotos_params,
flickcurl_galleries_getPhotos): Added.
* src/flickcurl.h, src/urls-api.c: Added
flickcurl_urls_lookupGallery() As announced
http://code.flickr.com/blog/2010/04/08/galleries-apis/
* src/people-api.c: #autodocs
2010-03-18 Dave Beckett <dave@dajobe.org>
* NEWS.html: fix link
* NEWS.html, configure.ac: 1.18
* utils/flickcurl.c: Add command for flickcurl_people_getPhotos
* src/flickcurl.h, src/people-api.c:
Change flickcurl_people_getPhotos* to have int params for filters
(flickcurl_people_getPhotos_params, flickcurl_people_getPhotos);
Take int param for safe_search, content_type, privacy_filter.
* docs/tmpl/section-people.sgml: Add tmpl for
flickcurl_people_getPhotos
* docs/flickcurl-sections.txt: Add flickcurl_people_getPhotos
* src/flickcurl.h, src/people-api.c: Added
flickcurl_people_getPhotos() and
flickcurl_people_getPhotos_params().
2010-03-03 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_17 for 1.17 release
(GIT d5d0b9e21b3c347d1ce7581367a2de209781045f)
* src/flickcurl.h: autodocs
* docs/flickcurl-docs.xml: Added section-stats.xml
* docs/flickcurl-sections.txt: Added section-stats
* NEWS.html: notes
* src/stats-api.c:
(flickcurl_stats_getPhotostreamStats): Init count to 0
* src/stats-api.c: fix getPhotoDomains xpath
* utils/flickcurl.c: tidy params for required args
* utils/flickcurl.c: fix view command return values
* utils/flickcurl.c: Fix args for photostream commands
* utils/flickcurl.c: Tidy print stats
* src/stat.c: hide view debug message
* src/photo.c: Added photo_fields for counts of comments and
favorites
photo_fields_table gains xpaths for stats/@views, stats/@comments
and stats/@favorites
(flickcurl_build_photos): Skip setting fields with boolean string
value ''
* src/flickcurl.h:
Added photo_fields for counts of comments and favorites
flickcurl_photo_field_type gains PHOTO_FIELD_comments and
PHOTO_FIELD_favorites
* utils/flickcurl.c: fix stats commands
* src/stats-api.c: docs
* utils/flickcurl.c: Add stat commands to utility - not yet tested
* src/flickcurl.h, src/stat.c: Export flickcurl_free_stat
* src/flickcurl.h, src/stat.c:
(flickcurl_free_view_stats): Added to free view stats object.
* src/Makefile.am, src/flickcurl.h, src/stat.c, src/stats-api.c:
Fill out stat APIs with results from responses.
flickcurl_stat and flickcurl_view_stats structs added
Return array of flickcurl_stat** for stat requests that return
domains or referrers.
Return int for stat requests for view counts.
(flickcurl_stats_getTotalViews): Return flickcurl_view_stats* for
total views.
(flickcurl_free_stat): Added.
(flickcurl_free_stats): Added to free array of stats.
(flickcurl_build_stats): Added.
* src/flickcurl_internal.h: code style
* src/blog.c, src/blogs-api.c: code style
* src/flickcurl.h: Added flickr stats API prototypes
* src/Makefile.am, src/stats-api.c: Added flickr.stats API initial
skeleton APIs
2010-01-22 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_people_getPhotosOf, command_galleries_getList): args fix
* utils/codegen.c: Handle optional and int args better - hard code
page & per_page for now.
2010-01-21 Dave Beckett <dave@dajobe.org>
* src/common.c: f
* src/common.c: Update fflickcurl_field_value_type_label
* docs/tmpl/section-photos-people.sgml: Updated photos.people
template
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt,
docs/tmpl/section-gallery.sgml, docs/tmpl/section-people.sgml,
src/flickcurl.h: Add documentation for galleries
* src/galleries-api.c, src/gallery.c: Add photo galleries support
- add photos to gallery, list galleries
(flickcurl_galleries_addPhoto, flickcurl_galleries_getList,
flickcurl_galleries_getListForPhoto): Added functions for gallery
API.
(flickcurl_free_galleries): Added destructor
* src/Makefile.am, src/common.c, src/flickcurl.h,
src/flickcurl_internal.h, utils/flickcurl.c: Add photo galleries
support - add photos to gallery, list galleries
flickcurl_gallery: added new type
Added new gallery.c and galleries-api.c modules.
(flickcurl_galleries_addPhoto, flickcurl_galleries_getList,
flickcurl_galleries_getListForPhoto): Added functions for gallery
API.
(flickcurl_free_galleries): Added destructor Updated flickcurl
utility to call above functions.
* src/Makefile.am, src/flickcurl.h, src/photos-people-api.c,
utils/flickcurl.c: Added flickr.photos.people.* APIs -
add/remove/edit/list people in photos.
(flickcurl_photos_people_add, flickcurl_photos_people_delete,
flickcurl_photos_people_deleteCoords,
flickcurl_photos_people_editCoordsflickcurl_photos_people_getList):
Added
Updated utility to support new above functions.
* src/flickcurl.h, src/people-api.c, utils/flickcurl.c: Added
flickr.people.getPhotosOf support in
flickcurl_people_getPhotosOf_params() and
flickcurl_people_getPhotosOf()
(flickcurl_people_getPhotosOf_params): Added with
flickcurl_photos_list_params* list_params for full control of
paging and result formats.
(flickcurl_people_getPhotosOf_params): Added, calling above with
simple photos result and fixed params.
Added support for people.getPhotosOf to flickcurl utility
(command_people_getPhotosOf): Added.
* utils/codegen.c: 2010
* NEWS.html, configure.ac: 1.17
2010-01-13 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_16 for 1.16 release
(GIT 12509697523a4a91378fbb154a71d1c636d03616)
* docs/Makefile.am, docs/flickcurl-authenticate.xml: Add
appgarden-mobile-auth-page.png for results of mobile auth and
update words
* utils/flickcurl.c: Remove spaces around config examples. Add
pointer to web site auth page
2010-01-04 Dave Beckett <dave@dajobe.org>
* src/config.c: Allow spaces around = in config key=value lines
Include ctype.h for isspace()
(read_ini_config): Skip spaces before = in key and after = in
value.
* utils/flickcurl.c: Fix .flickcurl.conf generation to not add
spaces around =
2010-01-03 Dave Beckett <dave@dajobe.org>
* configure.ac: do not edit VERSION to make major/minor/release
vars
* NEWS.html, configure.ac: Bump version to 1.16
* docs/flickcurl-docs.xml, LICENSE.html, NEWS.html, README.html,
coverage.html: Update to 2010
* configure.ac, src/Makefile.am:
Add LIBFLICKCURL_LIBTOOL_VERSION and use to explicitly set libtool
library version
* configure.ac:
Remove duplicate AM_INIT_AUTOMAKE call and AC_REVISION
2010-01-02 Dave Beckett <dave@dajobe.org>
* configure.ac:
automake 1.11 requires autoconf 2.62
* autogen.sh:
Make autogen.sh skip configuring in release dirs
* Snapshotted flickcurl_1_15 for 1.15 release (GIT
1131dbef927ac920d8b85cee571650293c17015f)
* docs/flickcurl-sections.txt: remove flickcurl_set - never
existed
2009-12-31 Dave Beckett <dave@dajobe.org>
* flickcurl.rdf.in: Flickcurl is in GIT
2009-12-21 Dave Beckett <dave@dajobe.org>
* autogen.sh: Tidying autogen.
Ignore configure.ac in release dirs.
Add gtkdoc_args iff gtk-doc is present.
Rename ltdl to ltdl_args
Rename silent to silent_args
2009-12-20 Dave Beckett <dave@dajobe.org>
* src/common.c: restore "=" character constant
* docs/tmpl/section-photo.sgml: Update templates
* utils/flickcurl.c: remove final nl from photos.search help
* utils/flickcurl.c: photos.search add geo-context is-commons and
is-gallery args Add recent changes to flickcurl_search_params to
the photos.search command: geo-context 1-2, is-commons and
is-gallery args.
* src/activity-api.c, src/activity.c, src/args.c, src/auth-api.c,
src/blog.c, src/blogs-api.c, src/category.c, src/collection.c,
src/comments.c, src/common.c, src/commons-api.c, src/config.c,
src/contacts-api.c, src/contacts.c, src/context.c, src/exif.c,
src/favorites-api.c, src/group.c, src/groups-api.c,
src/groups-members-api.c, src/groups-pools-api.c,
src/institution.c, src/interestingness-api.c, src/location.c,
src/machinetags-api.c, src/machinetags.c, src/md5.c, src/members.c,
src/method.c, src/panda-api.c, src/people-api.c, src/perms.c,
src/person.c, src/photo.c, src/photos-api.c,
src/photos-comments-api.c, src/photos-geo-api.c,
src/photos-licenses-api.c, src/photos-notes-api.c,
src/photos-transform-api.c, src/photos-upload-api.c,
src/photoset.c, src/photosets-api.c, src/photosets-comments-api.c,
src/place.c, src/places-api.c, src/prefs-api.c,
src/reflection-api.c, src/serializer.c, src/shape.c, src/size.c,
src/tags-api.c, src/tags.c, src/test-api.c, src/ticket.c,
src/upload-api.c, src/user_upload_status.c, src/video.c,
src/vsnprintf.c, utils/codegen.c, utils/flickcurl.c,
utils/flickrdf.c, utils/list-methods.c:
Code style - add whitespace around assignments (=, +=, -=)
and comparators (==, <=, >=)
* autogen.sh, build/.gitignore, build/shave-libtool.in,
build/shave.in, build/shave.m4, configure.ac:
Switch from SHAVE to automake 1.11 AM_SILENT_RULES Remove SHAVE
files. Depend on automake 1.11 and it's dependencies. Add
--enable-silent-rules to configure; only enabled for maintainer
builds via autogen.sh Make autogen.sh pick glibtoolize on OSX.
* src/photos-api.c:
(flickcurl_photos_search): Support #flickcurl_search_params
in_gallery field.
* src/flickcurl.h:
flickcurl_search_params gains in_gallery field added to the API
sometime.
2009-12-12 Dave Beckett <dave@dajobe.org>
* flickcurl-config.in:
Try computing the decimal version another way
* flickcurl-config.in:
Make flickcurl-config be a wrapper around pkg-config flickcurl.
The --prefix=DIR and --libtool-libs options are no longer
supported.
2009-12-11 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bump version to 1.15
* Update authentication docs to use screen shots
* Add screen dumps to dist
* Added App Garden screen dumps for auth flow
2009-11-26 Dave Beckett <dave@dajobe.org>
* appgarden changes
2009-11-20 Dave Beckett <dave@dajobe.org>
* prune wiki suffix for pkgconfig url
2009-11-19 Dave Beckett <dave@dajobe.org>
* Fail configure if pkg-config is missing to prevent cascading
errors for libxml and curl checks.
2009-09-20 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_14 for 1.14 release (GIT
34290b418097bb755dccdeaaf2fa45d125957c45)
2009-09-18 Dave Beckett <dave@dajobe.org>
* src/photo.c: Add 1 to static strings short_uri_alphabet and
short_uri_prefix for NUL. Remove extra const in other static
strings
2009-09-15 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-searching.xml:
words and more words.
explain search params with kitten and spelcheck
* examples/search-photos.c:
do not strdup strings that are saved in a static struct that will
not be freed.
2009-09-14 Dave Beckett <dave@dajobe.org>
* docs/Makefile.am:
adjust dist-hook-local rule
* docs/flickcurl-searching.xml:
shorter compile line; words
* examples/search-photos.c:
just print photo ID
* examples/search-photos.c:
restore errno.h
* examples/search-photos.c:
Even smaller - add usage/-h hard coded
* examples/search-photos.c:
remove conditional headers.
* examples/search-photos.c:
Simplify - remove options, to make a better example program.
* docs/Makefile.am:
Copy search.photos.c to docs
* docs/Makefile.am:
Filter search-photos.c to here and clean up after
* docs/flickcurl-searching.xml:
xml; more docs
* docs/Makefile.am:
Fix CSS in srcdir
* docs/flickcurl-searching.xml:
More searching docs
* configure.ac, docs/Makefile.am:
Fixup absolute positioning in
gtkdoc-mkhtml generated CSS
2009-09-13 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-searching.xml:
xml; more words
* utils/flickcurl.c:
do not emit blank line at end
* docs/flickcurl-searching.xml:
typo in id
* docs/flickcurl-searching.xml:
move text here from generated code
* src/flickcurl.h:
flickcurl_search_params: correct autodocs to note
when 0 is taken as param is not present.
* src/common.c:
(flickcurl_search_params_init): Internal docs why memset to 0 is ok.
* src/photos-api.c:
(flickcurl_photos_search_params): Only set woe_id if >0
* docs/flickcurl-searching.xml:
add xi xmlns
* docs/Makefile.am, docs/flickcurl-docs.xml,
docs/flickcurl-searching.xml:
Added searching tutorial
* NEWS.html:
words
* NEWS.html:
Update is_commons and geo_context search params notes.
* NEWS.html:
Use path_alias description from
http://tech.groups.yahoo.com/group/yws-flickr/message/5053
* src/common.c:
Add path_alias description from
http://tech.groups.yahoo.com/group/yws-flickr/message/5053
2009-09-08 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.14
* examples/Makefile.am, examples/search-photos.c,
utils/Makefile.am, utils/search-photos.c:
Move search-photos.c from
utils to examples dir.
* .gitignore:
do not ignore flickr.conf
* src/win32_flickcurl_config.h:
2009
* utils/flickcurl.c:
typo
* utils/flickcurl.c:
Add newline to msg
* docs/flickcurl-authenticate.xml:
Update flickr website auth sequence
2009-09-07 Dave Beckett <dave@dajobe.org>
* docs/Makefile.am:
Do not erase flickcurl-extras.xml after building it for dist.
* .gitignore: Ignore tarballs
* docs/.gitignore, docs/Makefile.am:
Generate flickcurl-extras.xml via ../utils/flickcurl -m1
* docs/.gitignore: Ignore xml dir here
* docs/Makefile.am, utils/Makefile.am, utils/flickcurl.c:
Adjust flickcurl utility -m maintainer option to generate
extras too The -m option now takes an int arg: 0 for the manpage
fragment and 1 for the docbook extras enumeration fragment - not
currently used. This option remains only built when compiling
for maintainer mode.
* .gitignore, src/common.c:
Switch captured web service response dir to 'captured'
* .gitignore: Do not ignore xml/ in all dirs
* docs/flickcurl-docs.xml: Make this newer legal docbook
2009-09-06 Dave Beckett <dave@dajobe.org>
* src/video.c:
code style
2009-09-06 Huge <mr.huge@seznam.cz>
* src/video.c:
Some small cleanup, but still don't like that goto;)
And consult the conversion in >> v=(flickcurl_video*)calloc(1,
sizeof(flickcurl_video)); << with bottom lines of this:
http://en.wikipedia.org/wiki/Malloc#Usage_example
Signed-off-by: Dave Beckett <dave@dajobe.org>
Original commit was 2009-08-04
2009-09-06 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am:
Remove list-methods rule for maintainer
* utils/search-photos.c:
Make this search API example code. Rename list-photos to
search-photos throughout and adjust user messages. Add more
comments about parameter uses.
* utils/.gitignore, utils/Makefile.am, utils/list-photos.c,
utils/search-photos.c:
Rename list-photos to search-photos
* utils/.gitignore:
Add list-photos to ignore
* docs/tmpl/section-photo.sgml:
Add generated docs for new search param fields
2009-08-18 Dave Beckett <dave@dajobe.org>
* utils/list-photos.c:
usage
2009-08-18 Dave Beckett <dave@dajobe.org>
* utils/list-photos.c:
photos for me (the user) only
2009-08-18 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am, utils/list-photos.c:
Add list-photos
2009-08-17 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bump version to 1.14
2009-08-17 Dave Beckett <dave@dajobe.org>
* src/photos-api.c:
(flickcurl_photos_search_params): Support geo_context and
is_comments search params.
2009-08-17 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h:
flickcurl_search_params gains geo_context and
is_comments search params added to the API at some point
2009-08-17 Dave Beckett <dave@dajobe.org>
* src/common.c:
flickcurl_extras_format_info: add new (undocumented?) API
'extras': path_alias, url_m, url_o, url_s, url_sq, url_t
path_alias is the only one not totally clear; the rest provide
URLs of images.
2009-08-01 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_13 for 1.13 release
2009-07-31 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt, docs/tmpl/section-photo.sgml:
Added flickcurl_source_uri_as_photo_id
* src/photo.c: add #include <ctype.h> for isdigit()
* src/flickcurl.h, src/photo.c, utils/flickcurl.c:
Added utility function flickcurl_source_uri_as_photo_id to get
photo IDs from image URLs
(flickcurl_source_uri_as_photo_id): Added - decoding the raw image
URL format into a photo ID that can be used for other API calls.
Added flickcurl utility command getphotoid to call this.
2009-07-26 Dave Beckett <dave@dajobe.org>
* README.html:
Tidy readme words - do not mention a Flickr API date.
* docs/flickcurl-sections.txt, docs/tmpl/section-core.sgml:
Document flickcurl_get_current_request_wait
* src/common.c, src/flickcurl.h:
Added call to get current web service request delay time.
(flickcurl_get_current_request_wait): Added. Allows applications
to know when the library will delay - sleep - in order to let the
web service rate limiting work. This allows the application to
come back later if it desires rather than have Flickcurl freeze
the entire application.
* src/common.c, src/flickcurl_internal.h:
Use a dynamic buffer size for request URI construction
Flickcurl crashed when dealing with requests e.g photo IDs that
exceeded the "big enough" buffer for a URI. Need to move to a
dynamic model. Bug noticed and reported by Henning Spruth -
thanks!
flickcurl_s structure moves uri to a char* not fixed buffer and
adds a uri_len field to record length of allocated buffer.
(flickcurl_prepare_common): Calculate length needed and create a
new url buffer if current one is too small.
2009-07-09 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_free): Free any allocated user_agent. Resource leak
found by Debarshi Ray - Thanks.
2009-07-09 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac:
Bump version to 1.13
2009-07-04 Dave Beckett <dave@dajobe.org>
* NEWS.html: 1.12
* 1.12
2009-07-01 Dave Beckett <dave@dajobe.org>
* coverage.html:
Updated for recent API additions: now 145 -
flickr.blogs.getServices - flickr.places.getTopPlacesList
2009-07-01 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-blogs.sgml, docs/tmpl/section-place.sgml:
Updated sgml doc templates for recent APIs
2009-07-01 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt:
Added flickcurl_blog_service
2009-07-01 Dave Beckett <dave@dajobe.org>
* src/places-api.c:
(flickcurl_places_getTopPlacesList): autodocs
2009-07-01 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt:
Added flickcurl_places_getTopPlacesList
2009-07-01 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
Allow WOEID args to be "-" to omit them in
several calls. Update places.getTopPlacesList args doc
2009-07-01 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/places-api.c, utils/flickcurl.c:
Implement new Flickr API call flickr.places.getTopPlacesList
(flickcurl_places_getTopPlacesList): Added to implement
flickr.places.getTopPlacesList.
Update utility to allow calling flickr.places.getTopPlacesList.
2009-07-01 Dave Beckett <dave@dajobe.org>
* src/place.c:
Added "continent" to flickcurl_place_type_label Get
place name from <place> element content as well as attribute. In
Flickr API, there is always more than one way to get a field ;)
2009-06-30 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-blogs.sgml, docs/tmpl/section-photo.sgml:
Updated sgml templates for API additions
2009-06-30 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt, src/blog.c, src/blogs-api.c,
src/flickcurl.h, src/flickcurl_internal.h, utils/flickcurl.c:
Added support for new flickr.blogs.getServices API call Added
flickcurl_blog_service structure for describing a blog service.
(flickcurl_blogs_getServices): Added to implement
flickr.blogs.getServices API call.
(flickcurl_free_blog_services): Added to free blog services
array.
Updated utility to allow calling flickr.blogs.getServices.
2009-06-30 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt, src/flickcurl.h, src/photo.c,
utils/flickcurl.c:
Added functions for generating flic.kr short URIs
(flickcurl_photo_as_short_uri, flickcurl_photo_id_as_short_uri):
Added to make an http://flic.kr short URI from a photo object or
photo ID string. Added shorturi command to utility to call this.
2009-06-28 Dave Beckett <dave@dajobe.org>
* autogen.sh:
Note automake 1.11 requirements
2009-06-28 Dave Beckett <dave@dajobe.org>
* configure.ac:
note can use automake 1.11 for shave-like
functionality at some point.
2009-06-28 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt, docs/tmpl/flickcurl-unused.sgml,
docs/tmpl/section-collections.sgml,
docs/tmpl/section-machinetags.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml, src/flickcurl.h:
Update autodocs
2009-06-28 Dave Beckett <dave@dajobe.org>
* build/shave.in, build/shave.m4:
Update SHAVE from master
2134bb1207e06d1650918a56f6b142e9a840219d
2009-06-26 Dave Beckett <dave@dajobe.org>
* .gitignore:
Ignore config.cache
2009-06-24 Dave Beckett <dave@dajobe.org>
* coverage.html:
Update to 143 API calls Prefer _params() version of
functions
2009-06-23 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/photos-comments-api.c, utils/flickcurl.c:
Implement new API flickr.photos.comments.getRecentForContacts
(flickcurl_photos_comments_getRecentForContacts_params): Added to
implement flickr.photos.comments.getRecentForContacts Updated
flickcurl utility to add photos.comments.getRecentForContacts
command with all optional parameters.
2009-06-21 Dave Beckett <dave@dajobe.org>
* README.md:
more markdown
2009-06-21 Dave Beckett <dave@dajobe.org>
* README.md:
Add markdown README for github browsers
2009-06-13 Dave Beckett <dave@dajobe.org>
* src/common.c:
(flickcurl_invoke_common): Always set/reset HTTP headers list. This
allows requests that set/don't set headers to work in sequence when
called with the same flickcurl context. The symptom of this was in
long sequences with mixed reads and writes, crashes or mysterious
failures happened. Bug reported/found by Henning Spruth - thanks!
2009-06-10 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_print_photo): Print less and indent fields. Update calls
to above to reduce duplication and newlines.
2009-06-10 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_print_collection): Print nicer optional description
2009-06-10 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_collections_getTree): Print photos inside
2009-06-10 Dave Beckett <dave@dajobe.org>
* src/collection.c:
collection_fields_table - match iconphotos / photo elements
2009-06-10 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_print_collection): Do not flickcurl_free_photos
2009-06-10 Dave Beckett <dave@dajobe.org>
* src/collection.c:
(flickcurl_build_collections): Build icon photos using
flickcurl_build_photos
2009-06-05 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/machinetags-api.c, utils/flickcurl.c: Added
machinetags.getRecentValues support
(flickcurl_machinetags_getRecentValues): Added based on
flickcurl_machinetags_getValues processing.
2009-06-05 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: Replace flickcurl_set with existing
flickcurl_photoset
2009-06-04 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt,
docs/tmpl/section-collections.sgml, docs/tmpl/section-photo.sgml:
Added collections to docs
2009-06-04 Dave Beckett <dave@dajobe.org>
* docs/.gitignore: Ignore more tmp files
2009-06-04 Dave Beckett <dave@dajobe.org>
* .gitignore, docs/.gitignore, docs/tmpl/.gitignore: Ignore more
dev files
2009-06-04 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: Fix flickcurl_set use of flickcurl_photo_s
forward reference
2009-06-02 Dave Beckett <dave@dajobe.org>
* .gitignore, src/Makefile.am, src/collection.c,
src/collections-api.c, src/flickcurl.h, src/flickcurl_internal.h,
src/person.c, src/photo.c, src/serializer.c, utils/flickcurl.c:
Added flickr collections API - not yet complete.
Added new types: flickcurl_set and flickcurl_collection
(flickcurl_free_collection, flickcurl_free_collections): Added
destructors. Added new API calls flickr.collections.getInfo and
flickr.collections.getTree
(flickcurl_build_collections): Added to build collection structure
into an array. Does not handle icon photos, sub-sets or
sub-collections.
(flickcurl_build_collection): Added to use above to get just 1
collection.
(flickcurl_collections_getInfo): Added, using above to get
individual collection details.
(flickcurl_collections_getTree): Added, using above to get tree.
Not working at this point since the XML is slightly different.
2009-06-02 Dave Beckett <dave@dajobe.org>
* utils/.gitignore: Ignore more
2009-06-02 Dave Beckett <dave@dajobe.org>
* .gitignore, README.html, build/.gitignore, docs/.gitignore,
examples/.gitignore, src/.gitignore, utils/.gitignore: Switched from
Subversion to GIT source control hosted by GitHub.
2009-05-27 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.12
2009-05-26 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_11 for 1.11 release (SVN 1020)
This corresponds to GIT Commit bee9a12977670cabc0e65e43890a26f844c33302
2009-05-24 Dave Beckett <dave@dajobe.org>
* Makefile.am, flickcurl.conf.example: Added
flickcurl.conf.example example ~/.flickcurl.conf file
* flickcurl.spec.in: use PACKAGE
* src/flickcurl.h, src/photo.c: Rename _url to _uri
* src/flickcurl.h, src/photo.c: Added PHOTO_FIELD_original_width,
PHOTO_FIELD_original_height, PHOTO_FIELD_views for more photo
extras
* src/flickcurl.h, src/photo.c:
(flickcurl_user_icon_uri): Added to get a user buddy icon url.
(flickcurl_photo_as_user_icon_uri): Added to get the user buddy
icon url from a user's photo
* src/flickcurl.h, src/photo.c: Added PHOTO_FIELD_owner_iconserver
and PHOTO_FIELD_owner_iconfarm fields
* src/photo.c: Support more fields returned as attributes from
'extras' in search: owner, place_id, woeid, accuracy, latitude,
longitude
* src/serializer.c: Added internal VALUE_TYPE_TAG_STRING to switch
* src/flickcurl.h, src/photo.c:
(flickcurl_photo_as_page_uri): Added
2009-05-23 Dave Beckett <dave@dajobe.org>
* src/person.c:
(flickcurl_build_persons): Handle/ignore new VALUE_TYPE_TAG_STRING
* src/common.c:
flickcurl_field_value_type_label: Added internal types
* src/common.c:
(flickcurl_invoke_common): Added more attempts to reset curl
context between calls - GET/POST.
* src/flickcurl.h: Added internal VALUE_TYPE_TAG_STRING
* src/photo.c:
(flickcurl_build_photos): Use flickcurl_build_tags_from_string to
handle photos/@tags as special field type VALUE_TYPE_TAG_STRING
* src/flickcurl_internal.h:
(flickcurl_build_tags_from_string): Added
* src/tags.c:
(flickcurl_build_tags_from_string): Added
* src/flickcurl.h: flickcurl_search_params - document new
'extras': o_dims, views, media
2009-05-22 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Add support for search woeid param
* src/flickcurl.h, src/photos-api.c: Add woe_id field to search
params
* configure.ac: CFLAGS
* flickcurl.pc.in: Always use Requires: - for libcurl and libxml
* configure.ac: Switch to pkg-config for libxml and libcurl
configuration
2009-05-12 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: formatting
* utils/flickcurl.c:
(command_print_shape): Added and handle is/has donut holes as well
as shapedata inline XML
(command_print_place, command_places_getShapeHistory): Use above
* src/shape.c: shape_field_type gains SHAPE_HAS_DONUTHOLE
shape_fields_table gains ./@has_donuthole XPATH
(flickcurl_build_shapes): Handle has_donutfield.
* src/flickcurl.h: flickcurl_shapedata gains has_donuthole field
* utils/flickcurl.c:
(command_print_place): Print location timezone
* src/place.c: place_field_type gains PLACE_TIMEZONE
(flickcurl_free_place, flickcurl_build_places): Add place timezone
field support
* src/flickcurl.h: flickcurl_place gains timezone field
* utils/flickcurl.c:
(command_places_getShapeHistory): Print is_donuthole flag
* src/shape.c: shape_field_type gains SHAPE_IS_DONUTHOLE
shape_fields_table gains ./@is_donuthole XPATH
(flickcurl_build_shapes): Handle is_donutfield.
* src/flickcurl.h: flickcurl_shapedata gains is_donuthole field
* src/places-api.c:
(flickcurl_places_getShapeHistory): Handle API response returning
/rsp/shapes/shape instead of /rsp/shapes/shapedata wot it used to.
2009-05-09 Dave Beckett <dave@dajobe.org>
* configure.ac, flickcurl.spec.in: Export libcurl
@LIBCURL_MIN_VERSION@ and libxml2-devel @LIBXML_MIN_VERSION@
* flickcurl.spec.in: Use @RAPTOR_MIN_VERSION@
* configure.ac: Set raptor libs and cflags correctly
* configure.ac: Add raptor libs and cflags to LIBS and CPPFLAGS
* configure.ac: Separate raptor autodetection, version checking
and enabling
* configure.ac, flickcurl.pc.in: Find raptor via pkg-config and
update flickcurl.pc to reflect it
* configure.ac: Update shave comments
* Makefile.am, autogen.sh, configure.ac: Disable shave by default,
enable it for maintainers and make autogen.sh do that
* build, build/shave-libtool.in, build/shave.in, build/shave.m4,
configure.ac: Added SHAVE support "make autotools output sane" -
enabled by default http://git.lespiau.name/cgit/shave/
git clone git://git.lespiau.name/shave
* autogen.sh: libtool V2 needed
Add -Wall to automake args
Reorder args to remove dups
Find config_aux_dir and config_macro_dir and use them for copying in
config.{sub,guess} and adjusting aclocal args respectively.
* NEWS.html, configure.ac: Bump version to 1.11
2009-04-29 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_10 for 1.10 release (SVN 962)
* docs/flickcurl-sections.txt: Add
flickcurl_set_replace_service_uri and
flickcurl_set_upload_service_uri
* src/common.c, src/flickcurl.h, src/flickcurl_internal.h,
src/upload-api.c: Make uploading work again - add service URIs for
uploading and replacing services.
flickcurl structure gains upload_service_uri and
replace_service_uri fields.
Added constants: flickcurl_flickr_upload_service_uri and
flickcurl_flickr_replace_service_uri for default Flickr upload and
replace URIs.
(flickcurl_new): Initialise default upload and replace service URIs.
(flickcurl_free): Free service URIs.
(flickcurl_set_upload_service_uri): Added to set upload service URI,
(flickcurl_set_replace_service_uri): Added to set replace service
URI.
(flickcurl_prepare_common): Restore url parameter to use in calls,
do not just use fc->service_uri.
(flickcurl_photos_upload_params): Pass in fc->upload_service_uri
to flickcurl_prepare_upload.
(flickcurl_photos_replace): Pass in fc->replace_service_uri to
flickcurl_prepare_upload.
(flickcurl_prepare_noauth, flickcurl_prepare): Pass in
fc->service_uri to flickcurl_prepare_common.
(flickcurl_prepare_upload): Pass along incoming url to inner
flickcurl_prepare_common.
* src/common.c, src/flickcurl.h, src/institution.c,
src/machinetags-api.c, src/place.c, src/serializer.c, src/shape.c,
src/tags-api.c, utils/flickcurl.c, utils/flickrdf.c:
Casts for compiling and using from C++. Main change is to rename
variables and arguments called 'namespace' to 'nspace'
2009-04-05 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.10
* Snapshotted flickcurl_1_9 for 1.9 release (SVN 948)
* docs/tmpl/section-core.sgml: sgml docs
* README.html, coverage.html, NEWS.html: Flickcurl 1.9
* src/groups-members-api.c: flickcurl_groups_members_getList
announcement
* src/contacts-api.c, src/contacts.c, src/groups-api.c,
src/photos-api.c, src/photosets-api.c, src/place.c: 2009
* src/common.c: autodocs
* docs/flickcurl-sections.txt, src/common.c, src/flickcurl.h,
src/flickcurl_internal.h:
(flickcurl_set_service_uri): Added to allow using
Flickr-compatible services such as 23hq.com. Fix based on patch
from Thorsten Zitterell
2009-03-18 Dave Beckett <dave@dajobe.org>
* src/photos-api.c:
(flickcurl_photos_setDates): Increase date buffer string size
2009-03-04 Dave Beckett <dave@dajobe.org>
* src/common.c: 2009
2009-03-03 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt,
docs/tmpl/section-panda.sgml, src/panda-api.c:
panda docs
* src/Makefile.am, src/flickcurl.h, src/panda-api.c, utils/flickcurl.c:
Added Panda support
(flickcurl_panda_getList): Added to implement flickr.panda.getList
API added 2009-03-03
(flickcurl_panda_getPhotos): Added to implement
flickr.panda.getPhotos API added 2009-03-03 Updated flickcurl
utility to support the new calls.
2009-03-02 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-group.sgml: templates
* docs/flickcurl-sections.txt:
Add flickcurl_groups_members_getList and members
* src/Makefile.am, src/flickcurl.h, src/flickcurl_internal.h,
src/groups-api.c, src/groups-members-api.c, src/members.c,
utils/flickcurl.c:
flickcurl_member added
(flickcurl_groups_members_getList): Added to implement new
flickr.groups.members.getList API method added sometime between
2009-02-23 and 2009-03-02.
(flickcurl_free_member, flickcurl_free_members): Added to destroy
members.
(flickcurl_build_members): Added.
Added flickr.groups.members.getList to flickcurl utility
2009-02-15 Dave Beckett <dave@dajobe.org>
* src/config.c: (read_ini_config): Handle \r\n, \r and \n newlines
* src/common.c: macro
* src/common.c: Be less noisy when debugging - don't print output
of set auth token, api key and secret
* src/photosets-api.c: (flickcurl_photosets_getList): Fix to match
correct xpath
2009-02-10 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.9
2009-02-09 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_8 for 1.8 release (SVN 920)
* NEWS.html: 1.8
2009-02-08 Dave Beckett <dave@dajobe.org>
* README.html, LICENSE.html, NEWS.html, coverage.html: 2009
* docs/tmpl/section-commons.sgml, docs/tmpl/section-shapes.sgml: tmpls
* src/flickcurl.h: autodocs
* src/places-api.c: more autodocs in docbook sgml
* src/places-api.c: more autodocs in docbook sgml
* src/places-api.c: autodocs in docbook sgml
* docs/tmpl/section-commons.sgml, docs/tmpl/section-contact.sgml,
docs/tmpl/section-photo.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-shapes.sgml, docs/tmpl/section-unused.sgml:
Update tmpls
* coverage.html: added commons
* src/flickcurl.h: autodocs
* src/institution.c: autodocs
* docs/flickcurl-sections.txt: added new functions for 1.8
* utils/flickcurl.c:
(command_print_institution): Rename to ix
* src/Makefile.am, src/commons-api.c, src/flickcurl.h,
src/flickcurl_internal.h, src/institution.c, utils/flickcurl.c:
Added flickr.commons API
(flickcurl_commons_getInstitutions): Added.
Added flickcurl_instutition class.
(flickcurl_free_institution, flickcurl_free_institutions,
flickcurl_get_institution_url_type_label): Added.
(flickcurl_build_institutions, flickcurl_build_institution): Added
internal helpers.
Updated utility to call commons.getInstitutions
* docs/flickcurl-docs.xml: 2009 and commons
2009-02-06 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: fix return
* src/place.c: (flickcurl_free_place): Do not free shape data twice.
* src/shape.c: disable debug message
* coverage.html, src/Makefile.am, src/contacts-api.c,
src/contacts.c, src/flickcurl.h, src/flickcurl_internal.h,
src/place.c, src/places-api.c, src/shape.c, utils/flickcurl.c:
(flickcurl_places_getShapeHistory, flickcurl_places_tagsForPlace,
flickcurl_contacts_getListRecentlyUploaded): Added. Updated
utility for new calls. Added missing contacts.getList command.
Added flickcurl_shapedata structure and deprecated old shape fields
in flickcurl_place (but continue to include them).
(flickcurl_build_shapes, flickcurl_free_shape, flickcurl_free_shapes):
Added to create and free flickcurl_shape structures.
2009-01-12 Dave Beckett <dave@dajobe.org>
* src/places-api.c, utils/flickcurl.c:
Make flickcurl_places_placesForContacts work and fix arg parsing
2009-01-11 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/places-api.c, utils/flickcurl.c:
(flickcurl_places_getChildrenWithPhotosPublic2): Added to
deprecate flickcurl_places_getChildrenWithPhotosPublic with an
integer woe_id argument.
(flickcurl_places_getInfo2): Added to deprecated
flickcurl_places_getInfo with an integer woe_id argument.
(flickcurl_places_placesForContacts): Use integer woe_id and
threshold. Implemented.
Added places.placesForContacts via function
command_places_placesForContacts to flickcurl utility.
2009-01-05 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/places-api.c,
utils/flickcurl.c: (flickcurl_places_placesForBoundingBox): Made
work. Added to flickcurl utility
* src/place.c: (flickcurl_place_type_to_id): Return ID
2008-12-28 Dave Beckett <dave@dajobe.org>
* src/photo.c: Removed duplicate xpaths
"./location/region/@place_id" for region_placeid and
"./location/region/@woeid" for region_woeid
2008-12-27 Dave Beckett <dave@dajobe.org>
* src/place.c:
(flickcurl_build_places): Free strings used for atoi, atof
* src/photo.c: debug typo
* src/photo.c: debug messages
* src/common.c:
(flickcurl_xpath_eval): Use xmlXPathNodeSetIsEmpty
* utils/flickcurl.c:
(command_places_getPlaceTypes): make it compile
* ChangeLog, src/flickcurl.h, src/flickcurl_internal.h,
src/photos-geo-api.c, src/place.c, src/places-api.c,
utils/flickcurl.c: Added flickcurl_place_type_info Added
FLICKCURL_PLACE_CONTINENT
(flickcurl_places_getPlaceTypes): Added.
(flickcurl_places_placesForBoundingBox): Added skeleton.
(flickcurl_places_placesForContacts): Added skeleton.
(flickcurl_places_placesForTags): Added skeleton.
(flickcurl_free_place_type_infos): Added.
(flickcurl_photos_geo_batchCorrectLocation): Added.
(flickcurl_photos_geo_correctLocation): Added skeleton.
(flickcurl_photos_geo_photosForLocation_params): Added.
(flickcurl_photos_geo_photosForLocation): Added.
(flickcurl_photos_geo_setContext): Added.
(flickcurl_build_place_types): Added.
(flickcurl_place_type_to_id): Added.
(flickcurl_place_id_to_type): Added.
flickcurl command: Added places.getPlaceTypes
* src/common.c: (flickcurl_xpath_eval_to_tree_string): Check for
empty nodeset with xmlXPathNodeSetIsEmpty macro.
2008-12-18 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.8
2008-12-15 Dave Beckett <dave@dajobe.org>
* src/machinetags-api.c: more docs
2008-11-30 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_1_7 for 1.7 release (SVN 880)
* src/tags-api.c: docs
* src/place.c: (flickcurl_build_places): Fix shapefile paths
* utils/flickcurl.c: shapefile url print tidying
* src/places-api.c: add places API announce dates
* src/photosets-api.c: (flickcurl_photosets_getList,
flickcurl_photosets_getPhotos_params): Fix photoset photo xpath
now /rsp/photoset/photo
* utils/flickcurl.c: Give usage message when min/max args are wrong
* docs/tmpl/section-machinetags.sgml: Update template for machine tags
* src/flickcurl.h, src/machinetags.c: Rename some args to match docs
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt: Add new
functions to sections
* src/flickcurl.h, src/flickcurl_internal.h,
src/machinetags-api.c, src/machinetags.c, utils/flickcurl.c:
Renamed flickcurl_namespace to flickcurl_tag_namespace and
adjusted all machine tag namespace functions to use that naming
for constructors, destructors, methods:
flickcurl_free_tag_namespace, flickcurl_free_tag_namespaces,
flickcurl_machinetags_getNamespaces.
Added flickcurl_tag_predicate_value structure
(flickcurl_free_tag_predicate_value,
flickcurl_free_tag_predicate_values): Added.
(flickcurl_machinetags_getPairs, flickcurl_machinetags_getPredicates,
flickcurl_machinetags_getValues): Return array of
flickcurl_tag_predicate_value
Adjusted utils/flickcurl to new return
value. (command_print_predicate_values): Added.
2008-11-19 Dave Beckett <dave@dajobe.org>
* src/Makefile.am, src/flickcurl.h, src/flickcurl_internal.h,
src/machinetags-api.c, src/machinetags.c, utils/flickcurl.c: Added
flickcurl_namespace typedef for machine tags.
(flickcurl_free_namespace, flickcurl_free_namespaces): Added.
(flickcurl_machinetags_getNamespaces): Now returns array of
flickcurl_namespace
(flickcurl_build_namespaces, flickcurl_build_namespace): Added.
2008-11-18 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/machinetags-api.c, utils/flickcurl.c:
update machinetags APIs calling conventions
* src/tags-api.c: (flickcurl_tags_getClusterPhotos): Fix error return
* src/Makefile.am, src/machinetags-api.c: Add flickr.machinetags
methods added 2008-11-18
2008-11-06 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: xml quoting
* src/common.c, src/flickcurl.h, src/place.c, src/places-api.c,
utils/flickcurl.c: Added
flickcurl_places_getChildrenWithPhotosPublic() for
flickr.places.getChildrenWithPhotosPublic
2008-11-05 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/places-api.c, utils/flickcurl.c: Added
places.getInfoByUrl
2008-11-03 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c:
(command_print_place): Print shapedata and
shapefile_urls if present
* src/place.c:
(flickcurl_free_place): Free shapefile urls Add
PLACE_SHAPEFILE_URL (not yet generated in API but predicted!)
(flickcurl_build_places): Use flickcurl_xpath_eval_to_tree_string
to fill in place->shapedata as an XML string. Fill in
place->shapefile_urls as an array of URLs - based on predicated
output
* src/flickcurl.h: flickcurl_place gains shapefile_urls and
shapefile_urls_count fields.
* src/common.c, src/flickcurl_internal.h:
(flickcurl_xpath_eval_to_tree_string): Added
* src/flickcurl.h, src/place.c: Add shapedate and shapedata_length
fields to flickcurl_place
* utils/flickcurl.c: Add places.getInfo
* src/flickcurl.h: Added flickcurl_places_getInfo to API
* src/place.c: struct place_fields_table - added place_url
attributes.
(flickcurl_build_places): Add placeholder for <shapedata>
processing.
* src/places-api.c:
(flickcurl_places_getInfo): Added.
2008-09-19 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/tags-api.c:
(flickcurl_tags_getClusterPhotos): Added
2008-09-05 Dave Beckett <dave@dajobe.org>
* src/places-api.c: words
2008-09-04 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: (command_places_placesForUser): Renamed from
command_places_forUser and use flickcurl_places_placesForUser
rather than deprecated flickcurl_places_forUser
* src/flickcurl.h,
src/places-api.c: (flickcurl_places_placesForUser): Added with
correct name, deprecating flickcurl_places_forUser
* NEWS.html, configure.ac: Bump version to 1.7
* Snapshotted flickcurl_1_6 for 1.6 release (SVN 831)
* NEWS.html, docs/flickcurl-sections.txt, src/flickcurl.h,
src/place.c, src/places-api.c, utils/flickcurl.c:
(flickcurl_places_forUser): Added for flickr.places.forUser
announced about 25mins ago
* src/common.c: (flickcurl_invoke_common): Report HTTP code on an
error
* src/common.c: (flickcurl_invoke_common): late night code idiocy,
put {}s around an if in an if.
2008-09-03 Dave Beckett <dave@dajobe.org>
* src/common.c: (flickcurl_curl_header_callback): Ensure capturing
of feed format failure error messages by saving HTTP headers
X-FlickrErrCode/Message
(flickcurl_invoke_common): Set callback for headers using above
and if status code is not 200, fail with error. This might cause
other things to fail that previously were silent about it.
2008-09-02 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: commands: make final NULL sentinal entry have
correct number of fields.
* docs/tmpl/section-photo.sgml: Added flickcurl_search_params_init
* docs/flickcurl-sections.txt: Added flickcurl_search_params_init
* src/flickcurl.h: autodocs
* src/photo.c: (flickcurl_invoke_photos_list): Copy correct format
for regular XML result
* utils/flickcurl.c: (command_photos_search): Use
flickcurl_search_params_init to ensure params structure is not
junk.
* src/common.c, src/flickcurl.h: (flickcurl_search_params_init): Added
* src/context.c: (flickcurl_build_contexts): Do not expect the
number of contexts to be 3 (!!) but allocate it based on the
returned XML. Bug reported by Francis Gastellu.
2008-09-01 Dave Beckett <dave@dajobe.org>
* src/place.c: place_fields_table: Add XPaths for both spellings
of neighbourhood just in case
* src/photo.c: photo_fields_table: Add XPaths for both spellings
of neighbourhood just in case
* docs/tmpl/section-core.sgml, docs/tmpl/section-favorite.sgml,
docs/tmpl/section-group.sgml, docs/tmpl/section-misc.sgml,
docs/tmpl/section-people.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml,
docs/tmpl/section-photoslist.sgml: update tmpls
* docs/flickcurl.1.in: Added -o FILE, -q and -V
* utils/flickcurl.c: Added -o FILE option to set format=feed*
output file.
Added -q option for less verbose
Added more output conditional to if(verbose)
(command_print_photos_list): May fail if fwrite fails, returns
error state to caller.
* src/common.c: (flickcurl_append_photos_list_params): Keep
per_page & page param memory around.
* utils/flickcurl.c: (command_photos_recentlyUpdated): Make
photos.recentlyUpdated take 1-4 params, first one is mandator
min-date in unixtime
* src/common.c: (flickcurl_append_photos_list_params): Fix counting
* docs/flickcurl-sections.txt: Added flickcurl_photos_list_params_init
* examples/print-photo-info.c: compile line
* utils/flickcurl.c: Use flickcurl_photos_list_params_init to
replace photos_list_params_init
* src/common.c,
src/flickcurl.h: (flickcurl_photos_list_params_init): Added.
flickcurl_photos_list_params gains a version field currently set
to 1
* utils/flickcurl.c: (command_photos_setPerms): perm_comment and
perm_addmeta are not booleans.
* utils/flickcurl.c: Added parse_bool_param to parse is_FOO values
and strings false/no, true/yes as well as integers: non-0 is true
* utils/flickcurl.c: Added parse_page_param to parse page/per_page
values and accept '-' for default
* docs/flickcurl-sections.txt: Added
flickcurl_favorites_getList_params,
flickcurl_favorites_getPublicList_params,
flickcurl_groups_pools_getPhotos_params,
flickcurl_interestingness_getList_params,
flickcurl_people_getPublicPhotos_params,
flickcurl_photos_getContactsPhotos_params,
flickcurl_photos_getContactsPublicPhotos_params,
flickcurl_photos_getNotInSet_params,
flickcurl_photos_getRecent_params,
flickcurl_photos_getUntagged_params,
flickcurl_photos_getWithGeoData_params,
flickcurl_photos_getWithoutGeoData_params,
flickcurl_photos_recentlyUpdated_params,
flickcurl_photos_search_params,
flickcurl_photosets_getPhotos_params
* docs/flickcurl-sections.txt: Added flickcurl_get_extras_format_info
* utils/flickcurl.c: Use flickcurl_get_extras_format_info
* utils/flickcurl.c: Add FORMAT to all photos lists results.
(photos_list_params_init): Added.
Explain list params in help message
* src/common.c,
src/flickcurl.h: (flickcurl_get_extras_format_info): Added to
enumerate values of 'extras'
2008-08-30 Dave Beckett <dave@dajobe.org>
* src/favorites-api.c, src/groups-pools-api.c, src/photos-api.c:
Fix 'implements function (vers)' dups for _params calls
* docs/tmpl/flickcurl-unused.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-photoslist.sgml: docs
* docs/flickcurl-sections.txt: section typo
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt: Add
section-photoslist and functions/typedefs
* src/flickcurl.h, src/photosets-api.c:
(flickcurl_photosets_getPhotos_params): Added
(flickcurl_photosets_getPhotos): Use above.
* src/flickcurl.h,
src/photos-api.c: (flickcurl_get_photoslist_params): Renamed from
flickcurl_get_photoslist and takes a list_params.
(flickcurl_photos_getNotInSet_params,
flickcurl_photos_getRecent_params,
flickcurl_photos_getUntagged_params,
flickcurl_photos_getWithGeoData_params,
flickcurl_photos_getWithoutGeoData_params,
flickcurl_photos_recentlyUpdated_params): Added, using
flickcurl_get_photoslist_params instead of
flickcurl_get_photoslist. Rewrote old non-_params functions to
use call _params version.
* src/favorites-api.c, src/groups-pools-api.c,
src/interestingness-api.c, src/people-api.c: Update to use
flickcurl_invoke_photos_list without xpathCtx arg
* src/flickcurl.h, src/photos-api.c:
(flickcurl_photos_getContactsPublicPhotos_params): Added with
list_params and using flickcurl_append_photos_list_params.
(flickcurl_photos_getContactsPublicPhotos): Use
flickcurl_photos_getContactsPublicPhotos_params
* src/flickcurl_internal.h,
src/photo.c: (flickcurl_invoke_photos_list): Remove xpathCtx arg
* src/flickcurl.h, src/photos-api.c:
(flickcurl_photos_getContactsPhotos_params): Added with
list_params and using flickcurl_append_photos_list_params.
(flickcurl_photos_getContactsPhotos): Use
flickcurl_photos_getContactsPhotos_params
* src/flickcurl.h, src/people-api.c:
(flickcurl_people_getPublicPhotos_params): Added with list_params
and using flickcurl_append_photos_list_params.
(flickcurl_people_getPublicPhotos): Use
flickcurl_people_getPublicPhotos_params
* src/flickcurl.h, src/interestingness-api.c:
(flickcurl_interestingness_getList_params): Added with list_params
and using flickcurl_append_photos_list_params.
(flickcurl_interestingness_getlist): Use
flickcurl_interestingness_getList_params
* src/flickcurl.h, src/groups-pools-api.c:
(flickcurl_groups_pools_getPhotos_params): Added with list_params
and using flickcurl_append_photos_list_params.
(flickcurl_groups_pools_getPhotos): Use
flickcurl_groups_pools_getPhotos_params
* src/photos-api.c: (flickcurl_photos_search_params): Use
flickcurl_append_photos_list_params.
* src/favorites-api.c: (flickcurl_favorites_getList_params,
flickcurl_favorites_getPublicList_params): Use
flickcurl_append_photos_list_params.
* src/flickcurl.h: autodocs for extras
2008-08-29 Dave Beckett <dave@dajobe.org>
* src/common.c, src/flickcurl_internal.h:
(flickcurl_append_photos_list_params): Added
2008-08-27 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Use flickcurl_get_feed_format_info to print
feed formats into the generated man page.
* utils/flickcurl.c: Use flickcurl_get_feed_format_info to
enumerate feed FORMATS in help message.
* src/common.c, src/flickcurl.h:
(flickcurl_get_feed_format_info): Added to enumerate possible feed
format parameter values.
* src/favorites-api.c, src/flickcurl.h:
(flickcurl_favorites_getPublicList_params): Added.
(flickcurl_favorites_getPublicList): Refactored to use it
* utils/flickcurl.c:
(command_print_photos_list): Added to print a flickcurl_photos_list
(command_photos_search): Use it.
(command_favorites_getList): Alter to use
flickcurl_favorites_getList_params to return a
flickcurl_photos_list and use flickcurl_photos_list to print the
result.
(main): Add an optional 4th parameter to favorites.getList for
FORMAT
* utils/flickcurl.c:
(command_photos_search): Use flickcurl_photos_search_params for
photos.search command with a flickcurl_photos_list result and
accept the format parameter. If the result is raw content, print
it.
* docs/tmpl/section-photo.sgml, docs/tmpl/section-place.sgml,
src/favorites-api.c, src/flickcurl.h:
(flickcurl_favorites_getList_params): Added.
(flickcurl_favorites_getList): Refactored to use it
* src/photos-api.c:
(flickcurl_photos_search_params): Free photos list with
flickcurl_free_photos_list on error
* src/flickcurl.h:
(typedef flickcurl_photos_list_params): const chars
* src/photos-api.c: autodocs
* src/flickcurl.h, src/photos-api.c:
(flickcurl_photos_search_params): Added with
flickcurl_photos_list_params.
(flickcurl_photos_search): Refactored to use
flickcurl_photos_search_params
* src/flickcurl_internal.h: Added flickcurl_invoke_photos_list
prototype
* src/flickcurl.h, src/photo.c: Added typedef flickcurl_photos_list.
Added flickcurl_photos_list_params for new API calls to pass in
list result parameters.
(flickcurl_invoke_photos_list): Added to construct it.
(flickcurl_free_photos_list): Added to delete it - public
* src/common.c, src/flickcurl_internal.h:
(flickcurl_invoke_get_content): Added to return the raw content of
the web service call as a block of bytes. Added struct
flickcurl_chunk_s to support this. struct flickcurl_s gains extra
content fields and chunks fields.
* src/flickcurl_internal.h:
(FLICKCURL_ASSERT_OBJECT_POINTER_RETURN_VALUE): Define with a test
2008-08-23 Dave Beckett <dave@dajobe.org>
* docs/flickcurl.1.in: words
* docs/flickcurl.1.in: Note -a change and how to make a config file
* utils/flickcurl.c: Print a help message when no config file is
present.
Make -a FROB exit with success after it
2008-08-19 Dave Beckett <dave@dajobe.org>
* src/serializer.c: Fix FOAF NS - no trailing #
2008-08-18 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h, src/photo.c, src/place.c: Support neighbourhood
in location despite expecting it to be spelled neighborhood in
American. As announced 2008-08-19 at
http://geobloggers.com/2008/08/19/correcting-location-data-the-flickr-way/
2008-08-17 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.6
* Snapshotted flickcurl_1_5 for 1.5 release (SVN 720)
* docs/flickcurl-sections.txt, docs/tmpl/section-serializer.sgml:
Add flickcurl_serializer_factory
* utils/flickcurl.c: (command_tags_getClusters): Call
flickcurl_free_tag_clusters to do proper cleanup
* src/tags-api.c: (flickcurl_tags_getClusters): Casts and fix
error return
* src/tags.c: (flickcurl_free_tag_cluster): Remove from public
api, make static
* src/flickcurl.h: Remove flickcurl_free_tag_cluster from public api
2008-08-16 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Added new command tags.getClusters for
flickcurl_tags_getClusters
* src/tags-api.c: (flickcurl_tags_getClusters): Added for new API
call flickr.tags.getClusters
* src/tags.c: (flickcurl_free_tag_cluster,
flickcurl_free_tag_clusters, flickcurl_build_tag_clusters): Added
for tag clusters
* src/flickcurl_internal.h: Added flickcurl_build_tag_clusters for
building clusters of tags for new API call flickr.tags.getClusters
* src/flickcurl.h: Added typedefs flickcurl_tag_cluster,
flickcurl_tag_clusters Added prototypes for
flickcurl_free_tag_cluster and flickcurl_free_tag_clusters
Added flickcurl_tags_getClusters prototype for new API call
flickr.tags.getClusters
* docs/tmpl/section-photo.sgml, src/flickcurl.h, src/photos-api.c,
utils/flickcurl.c: flickcurl_search_params gains contacts field.
(flickcurl_photos_search): Added support for photos.search
contacts parameter.
2008-08-15 Dave Beckett <dave@dajobe.org>
* utils/flickrdf.c: Make flickrdf build without raptor
2008-06-27 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: flickcurl_search_params gains fields: has_geo,
lat, lon, radius, radius_units
* src/photos-api.c: (flickcurl_photos_search): Add has_geo,
lat/lon/radius/radius_units as announced 2008-06-27
http://tech.groups.yahoo.com/group/yws-flickr/message/4146
2008-06-26 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am: Added check-api target for maintainer
2008-06-25 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.5
* Snapshotted flickcurl_1_4 for 1.4 release (SVN 685)
* docs/tmpl/flickcurl-unused.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-unused.sgml: Updates from gtk-doc run
* src/flickcurl.h: code reformat to help gtkdoc-scan
2008-05-24 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: spelling and autodocs
2008-05-15 Dave Beckett <dave@dajobe.org>
* utils/Makefile.am: tab
* utils/Makefile.am: Add rule for building libflickcurl.la
2008-05-10 Dave Beckett <dave@dajobe.org>
* src/serializer.c: Add dc: for old dc namespace, new stuff to
dcterms:
* src/serializer.c: make geo:lat and geo:long into floats
* src/serializer.c: Use flickcurl_sqltimestamp_to_isotime to
convert dc:created from SQL form to XSD.
* src/common.c: (flickcurl_sqltimestamp_to_isotime): Fix end of
string
* src/common.c, src/flickcurl_internal.h: Added
flickcurl_sqltimestamp_to_isotime for convertion sql timestamp to
iso time format
* src/serializer.c: Namespace notes. Update DC to new 2008
http://purl.org/dc/dcterms/ namespace from old
http://purl.org/dc/elements/1.1/
* utils/flickcurl.c: Update sizes
* src/serializer.c: Add photo/video size info to serializing
* src/size.c: (flickcurl_free_size): free media param
(flickcurl_build_sizes): decode media
* src/flickcurl.h: Add media field to flickcurl_size
2008-05-09 Dave Beckett <dave@dajobe.org>
* src/serializer.c: move debug
* src/serializer.c: Declare rdfs for sizes
* src/serializer.c: XSD_NS
* src/serializer.c: namespace sort
* src/serializer.c: RDFS
* src/serializer.c: just 1 buf
* src/serializer.c: Added image sizes to serializatin
2008-05-01 Dave Beckett <dave@dajobe.org>
* src/common.c: (flickcurl_invoke): Use raptor file: URI decoding
when it is available - for -DOFFLINE only
* src/Makefile.am: Use conditional OFFLINE to enable raptor for
library
* configure.ac: Add conditional OFFLINE
2008-04-28 Dave Beckett <dave@dajobe.org>
* src/flickcurl.h: docs
* src/serializer.c: autodocs
* docs/flickcurl-docs.xml, docs/flickcurl-sections.txt,
docs/tmpl/section-photo.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-video.sgml: add serializer to docs
* src/serializer.c: Declare namespaces needed for places triples
2008-04-27 Dave Beckett <dave@dajobe.org>
* src/serializer.c: Added dopplr, flickr, places, geonames
namespaces pointing to machinetags.org
(flickcurl_serialize_photo): Generate triples from places
* utils/Makefile.am: clean up internal programs
* src/activity.c, src/args.c, src/blog.c, src/category.c,
src/comments.c, src/contacts.c, src/context.c, src/exif.c,
src/group.c, src/location.c, src/method.c, src/perms.c,
src/person.c, src/photo.c, src/photoset.c, src/place.c,
src/serializer.c, src/size.c, src/tags.c, src/ticket.c,
src/upload-api.c, src/user_upload_status.c, src/video.c: Use
FLICKCURL_ASSERT_OBJECT_POINTER_RETURN to check and protect NULL
pointers in destructors.
* src/flickcurl_internal.h: Added asset macros
2008-04-15 Dave Beckett <dave@dajobe.org>
* utils/flickrdf.c: code style
* src/serializer.c: gcc warning
* src/flickcurl.h: autodocs
* utils/flickrdf.c: Fix flickcurl_serializer_factory calling convention
2008-04-12 Dave Beckett <dave@dajobe.org>
* src/serializer.c: autodocs
* src/flickcurl.h: autodoc flickcurl_serialzier_factory
2008-04-11 Dave Beckett <dave@dajobe.org>
* src/serializer.c: debug > 1
* src/serializer.c: Do not flickcurl_free_photo inside serializer
* src/serializer.c: one more user data
* src/serializer.c: (flickcurl_serialize_photo): Ignore tags with no ':'
* src/serializer.c: use BLANK not ANONYMOUS
* src/flickcurl.h: flickcurl_term_type
* src/flickcurl.h, src/serializer.c: Pass user data in to
serializer. Remove emit_start unused
* utils/flickrdf.c: error checking
* utils/flickrdf.c: (raptor_serialize_start_to_file_handle): Only
write @base for Turtle
* utils/flickrdf.c: Use new flickcurl_serializer API to generate
triples. Raptor specific code still lives here.
* src/Makefile.am, src/common.c, src/flickcurl.h,
src/flickcurl_internal.h, src/serializer.c: Added serializer API.
(flickcurl_new_serializer, flickcurl_free_serializer,
flickcurl_serialize_photo): Added. Added new object
flickcurl_serializer and new open factory
flickcurl_serializer_factory
* src/serializer.c (from /trunk/utils/flickrdf.c:609): copy rdf
serializer
* utils/flickrdf.c: refactor - introduce a flickcurl_serializer
and flickcurl_serializer_factory
2008-04-10 Dave Beckett <dave@dajobe.org>
* utils/flickrdf.c: N-Triples escape strings when !HAVE_RAPTOR
* utils/flickrdf.c: default ntriples when ! HAVE_RAPTOR
* utils/flickrdf.c: Use fake static raptor when not HAVE_RAPTOR
* src/photo.c: (flickcurl_build_photos): Ensure media_type is set
to default "photo" if nothing was found
2008-04-08 Dave Beckett <dave@dajobe.org>
* src/photo.c: Add labels for usage* fields
* utils/flickcurl.c: (command_print_video): Added.
(command_print_photo): Use command_print_video
(command_photos_search): Add media arg
* src/Makefile.am, src/favorites-api.c, src/flickcurl.h,
src/flickcurl_internal.h, src/groups-pools-api.c,
src/interestingness-api.c, src/people-api.c, src/person.c,
src/photo.c, src/photos-api.c, src/photosets-api.c, src/video.c:
Added video support.
Photos have a media_type and an optional pointer to new
flickcurl_video* object. Search API takes media param.
Added VALUE_TYPE_MEDIA_TYPE (internal).
Added PHOTO_FIELD_usage_candownload, PHOTO_FIELD_usage_canblog,
PHOTO_FIELD_usage_canprint.
Added flickcurl_free_video().
* utils/flickrdf.c: more refactoring
* utils/flickrdf.c: Add flickrdf_context_s to refactor
raptor/non-raptor code
2008-04-07 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-misc.sgml: new doc functions
2008-04-06 Dave Beckett <dave@dajobe.org>
* docs/flickcurl.1.in: date
* docs/flickcurl.1.in: Add -V/--verbose
* src/flickcurl.h: document flickcurl typedef
* docs/Makefile.am: ignore win32_flickcurl_config.h
* docs/flickcurl-sections.txt: Added
flickcurl_get_content_type_label,
flickcurl_get_content_type_from_string,
flickcurl_get_safety_level_label and
flickcurl_get_safety_level_from_string
* utils/flickcurl.c: Add a -V/--verbose flag
(print_upload_status): Add FILE* handle
(yesno): Added earlier
(print_upload_params): Added.
(command_upload): Fix command arg to be a while loop and not be
off-per-1 each loop. Use flickcurl_get_safety_level_from_string
and flickcurl_get_content_type_from_string Print more when verbose
with print_upload_params()
(command_photos_setContentType): Use
flickcurl_get_content_type_from_string and
flickcurl_get_content_type_label.
(command_photos_setSafetyLevel): Use
flickcurl_get_safety_level_from_string and
flickcurl_get_safety_level_label
(command_photos_search, command_interestingness_getList): Fix arg
parsing to be a while loop.
* src/common.c,
src/flickcurl.h: (flickcurl_get_content_type_label,
flickcurl_get_content_type_from_string,
flickcurl_get_safety_level_label,
flickcurl_get_safety_level_from_string): Added
2008-03-24 Dave Beckett <dave@dajobe.org>
* docs/flickcurl-sections.txt, docs/tmpl/section-prefs.sgml: Added
flickcurl_prefs_getGeoPerms
* coverage.html: 1.4 flickcurl_prefs_getGeoPerms
* src/common.c, src/flickcurl.h, src/prefs-api.c,
utils/flickcurl.c: Added flickcurl_prefs_getGeoPerms() for
flickr.prefs.getGeoPerms added 2008-03-24
2008-03-14 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-photo.sgml: docs
2008-03-08 Dave Beckett <dave@dajobe.org>
* ChangeLog: Snapshotted flickcurl_1_3 for 1.3 release (SVN 571)
2008-03-05 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: (command_print_place): Added woe ID printing.
Tidy places help messages
* src/place.c: Added place woe_ids parsing
* src/photo.c: Add photo woeid fields parsing
* src/flickcurl.h: Added WOE ID photo fiels:
PHOTO_FIELD_location_woeid, PHOTO_FIELD_neighborhood_woeid,
PHOTO_FIELD_locality_woeid, PHOTO_FIELD_county_woeid,
PHOTO_FIELD_region_woeid and PHOTO_FIELD_country_woeid
flickcurl_place gains woe_ids array
* utils/Makefile.am, utils/list-methods.c: Added list-methods
example utility
2008-03-04 Dave Beckett <dave@dajobe.org>
* docs/tmpl/section-prefs.sgml, docs/flickcurl-docs.xml: Added
section-prefs.xml
* coverage.html, src/Makefile.am, src/flickcurl.h,
src/prefs-api.c, utils/flickcurl.c: Added flickr.prefs calls
flickcurl_prefs_getContentType, flickcurl_prefs_getHidden,
flickcurl_prefs_getPrivacy and flickcurl_prefs_getSafetyLevel
* src/person.c, src/photo.c: Add cast for time_t to int to prevent
non-gcc compiler warning
2008-03-01 Dave Beckett <dave@dajobe.org>
* src/common.c: Use FOUR_GIGA_NSEC100 as legal macro name
* configure.ac: Search for gettimeofday and nanosleep
* src/win32_flickcurl_config.h: win32_flickcurl_config.h for
windows config
* configure.ac: Test for usleep. Warn, don't fail if no nanosleep
is present, the static version can be used.
* src/common.c: (gettimeofday): Added static version for win32
based on GetSystemTimeAsFileTime()
(nanosleep): Added static version for win32 or other systems based
on Sleep, sleep and/or usleep.
2008-02-29 Dave Beckett <dave@dajobe.org>
* configure.ac: Use AM_PROG_CC_C_O to stop libtool warnings
* docs/tmpl/flickcurl-unused.sgml,
docs/tmpl/section-activity.sgml, docs/tmpl/section-auth.sgml,
docs/tmpl/section-blogs.sgml, docs/tmpl/section-category.sgml,
docs/tmpl/section-comment.sgml, docs/tmpl/section-contact.sgml,
docs/tmpl/section-context.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-exif.sgml, docs/tmpl/section-favorite.sgml,
docs/tmpl/section-general.sgml, docs/tmpl/section-group.sgml,
docs/tmpl/section-misc.sgml, docs/tmpl/section-people.sgml,
docs/tmpl/section-person.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-reflection.sgml, docs/tmpl/section-tag.sgml,
docs/tmpl/section-test.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-upload.sgml, docs/tmpl/section-urls.sgml: gtkdoc
* NOTICE: url
* LICENSE.html: Make it clear it's any newer version
* docs/flickcurl-sections.txt: Add FLICKCURL_API
* examples/Makefile.am: example Makefile.am
* src/activity-api.c, src/activity.c, src/args.c, src/auth-api.c,
src/blog.c, src/blogs-api.c, src/category.c, src/comments.c,
src/common.c, src/config.c, src/contacts-api.c, src/contacts.c,
src/context.c, src/exif.c, src/favorites-api.c, src/group.c,
src/groups-api.c, src/groups-pools-api.c,
src/interestingness-api.c, src/location.c, src/md5.c,
src/method.c, src/people-api.c, src/perms.c, src/person.c,
src/photo.c, src/photos-api.c, src/photos-comments-api.c,
src/photos-geo-api.c, src/photos-licenses-api.c,
src/photos-notes-api.c, src/photos-transform-api.c,
src/photos-upload-api.c, src/photoset.c, src/photosets-api.c,
src/photosets-comments-api.c, src/place.c, src/places-api.c,
src/reflection-api.c, src/size.c, src/tags-api.c, src/tags.c,
src/test-api.c, src/ticket.c, src/upload-api.c, src/urls-api.c,
src/user_upload_status.c, src/vsnprintf.c: Conditionally include
win32_flickcurl_config.h if WIN32 defined
* configure.ac: Add -DFLICKCURL_INTERNAL to CPPFLAGS
* src/flickcurl.h: Add FLICKCURL_API macro for handling win32
declspec dllexport/dllimport
* src/common.c: Add AC_HEADER_TIME standed ifdef headers to get
time structs and prototypes.
* configure.ac: Add AC_HEADER_TIME
* src/common.c: Add time.h if it's present for time prototype
functions.
(flickcurl_sort_args): Cast for qsort array
(flickcurl_unixtime_to_isotime,
flickcurl_unixtime_to_sqltimestamp): Casts for gmtime() return
value.
* src/example.c: move example.c to examples/
* examples, examples/print-photo-info.c: Added new example based
on old src/example.c
* Makefile.am, configure.ac: Added examples dir
* src/Makefile.am: Removed example.c
* src/example.c: Change flickcurl_photo_field field to
flickcurl_photo_field_type field_type;
2008-02-17 Dave Beckett <dave@dajobe.org>
* INSTALL: Remove INSTALL from svn
* autogen.sh: Update autogen.sh to latest
2008-02-11 Dave Beckett <dave@dajobe.org>
* src/photosets-api.c: (flickcurl_photosets_create): Initialise
xpathCtx
* utils/flickcurl.c: photosets.create has 3 args not 4
2008-02-08 Dave Beckett <dave@dajobe.org>
* docs/Makefile.am, docs/flickcurl-authenticate.xml,
docs/flickcurl-docs.xml, docs/tmpl/flickcurl-unused.sgml,
docs/tmpl/section-activity.sgml, docs/tmpl/section-auth.sgml,
docs/tmpl/section-blogs.sgml, docs/tmpl/section-category.sgml,
docs/tmpl/section-comment.sgml, docs/tmpl/section-contact.sgml,
docs/tmpl/section-context.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-exif.sgml, docs/tmpl/section-favorite.sgml,
docs/tmpl/section-general.sgml, docs/tmpl/section-group.sgml,
docs/tmpl/section-misc.sgml, docs/tmpl/section-people.sgml,
docs/tmpl/section-person.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-reflection.sgml, docs/tmpl/section-tag.sgml,
docs/tmpl/section-test.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-upload.sgml, docs/tmpl/section-urls.sgml: Added
flickcurl-authenticate.xml for authenticating howto
2008-01-31 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: (command_print_photo): Print place only if
not NULL
2008-01-29 Dave Beckett <dave@dajobe.org>
* utils/flickcurl.c: Patch from Kumar Appaiah to change USER-ID
references in help messages to use USER-NSID.
* src/common.c: (flickcurl_prepare_common): Patch from Kumar
Appaiah to prevent a crash when a parameter has a NULL value.
2008-01-28 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 1.3
* ChangeLog: Snapshotted flickcurl_1_2 for 1.2 release (SVN 518)
* configure.ac: Look for nanosleep in -lrt and -lposix4 to help solaris.
* docs/Makefile.am: Add flickcurl.1.in to dist. Make build rule
maintainer only
2008-01-26 Dave Beckett <dave@dajobe.org>
* README.html: curl min
* ChangeLog: Snapshotted flickcurl_1_1 for 1.1 release (SVN 507)
* NEWS.html, configure.ac: Bump version to 1.2
* Snapshotted flickcurl_1_1 for 1.1 release (SVN 509)
* NEWS.html: 1.1
2008-01-24 Dave Beckett <dave@dajobe.org>
* NEWS.html: min libcurl and libxml
* configure.ac: Set min curl version to 7.10.0 when curl_free()
was added, but still ancient (Oct 1 2002)
Die if either libxml or libcurl is too old in configure.
2008-01-23 Dave Beckett <dave@dajobe.org>
* README.html: 2008-01-23 places API
* docs/tmpl/section-activity.sgml, docs/tmpl/section-auth.sgml,
docs/tmpl/section-blogs.sgml, docs/tmpl/section-category.sgml,
docs/tmpl/section-comment.sgml, docs/tmpl/section-contact.sgml,
docs/tmpl/section-context.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-exif.sgml, docs/tmpl/section-favorite.sgml,
docs/tmpl/section-general.sgml, docs/tmpl/section-group.sgml,
docs/tmpl/section-misc.sgml, docs/tmpl/section-people.sgml,
docs/tmpl/section-person.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-reflection.sgml, docs/tmpl/section-tag.sgml,
docs/tmpl/section-test.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-upload.sgml, docs/tmpl/section-urls.sgml: long
desc
* docs/flickcurl-sections.txt: Added flickcurl_places_findByLatLon
* src/places-api.c: flickcurl_places_findByLatLon docs
* utils/flickcurl.c: Add -m to help
* utils/flickcurl.c: define GETOPT_STRING_MORE to null when not
maintainer
* utils/flickcurl.c: (command_upload): Handle upload with just
filenme arg crash
* utils/flickcurl.c: sort commands before writing to manpage
* utils/flickcurl.c: docs.
Update man output to do escaping and newlines
* docs/flickcurl.1.in: no seealso
* utils/flickcurl.c: Added -m option to build manpage when
FLICKCURL_MANPAGE is defined
* docs/Makefile.am, docs/flickcurl.1, docs/flickcurl.1.in (from
/trunk/docs/flickcurl.1:479): Build flickcurl.1 using the utility
itself and -m option
* utils/Makefile.am: When bulding flickcurl in maintainer mode,
add -DFLICKCURL_MANPAGE
* coverage.html: flickr.places.findByLatLon
* utils/flickcurl.c: make getopt_long() not permute args
* src/flickcurl.h: typo
* ChangeLog, coverage.html, src/flickcurl.h, src/places-api.c,
utils/flickcurl.c: (flickcurl_places_findByLatLon): Added,
implementing flickr.places.findByLatLon
2008-01-19 Dave Beckett <dave@dajobe.org>
* Makefile.am: Enable gtk doc for make distcheck
* src/flickcurl.h: activity autodocs
* docs/flickcurl-docs.xml: docd
* docs/version.xml.in: add version.xml.in
* docs/flickcurl-sections.txt: Add gtkdoc files
* docs, docs/flickcurl-docs.xml, docs/flickcurl-overrides.txt,
docs/flickcurl.types: Add gtkdoc files
* configure.ac: gtk-doc
* docs/Makefile.am, docs/tmpl, docs/tmpl/flickcurl-unused.sgml,
docs/tmpl/section-activity.sgml, docs/tmpl/section-auth.sgml,
docs/tmpl/section-blogs.sgml, docs/tmpl/section-category.sgml,
docs/tmpl/section-comment.sgml, docs/tmpl/section-contact.sgml,
docs/tmpl/section-context.sgml, docs/tmpl/section-core.sgml,
docs/tmpl/section-exif.sgml, docs/tmpl/section-favorite.sgml,
docs/tmpl/section-general.sgml, docs/tmpl/section-group.sgml,
docs/tmpl/section-misc.sgml, docs/tmpl/section-people.sgml,
docs/tmpl/section-person.sgml, docs/tmpl/section-photo.sgml,
docs/tmpl/section-photoset.sgml, docs/tmpl/section-place.sgml,
docs/tmpl/section-reflection.sgml, docs/tmpl/section-tag.sgml,
docs/tmpl/section-test.sgml, docs/tmpl/section-unused.sgml,
docs/tmpl/section-upload.sgml, docs/tmpl/section-urls.sgml: gtkdoc
from docucomments
* src/activity-api.c, src/activity.c, src/auth-api.c, src/blog.c,
src/category.c, src/comments.c, src/common.c, src/config.c,
src/contacts.c, src/context.c, src/exif.c, src/flickcurl.h,
src/group.c, src/groups-pools-api.c, src/location.c, src/method.c,
src/perms.c, src/person.c, src/photo.c, src/photos-api.c,
src/photos-upload-api.c, src/photoset.c, src/photosets-api.c,
src/place.c, src/size.c, src/tags-api.c, src/tags.c, src/ticket.c,
src/upload-api.c, src/user_upload_status.c: docucomments
* docs/Makefile.am: Fix dist for mans
* Makefile.am, configure.ac, docs, docs/Makefile.am (from
/trunk/Makefile.am:457), docs/flickcurl-config.1 (from
/trunk/flickcurl-config.1:457), docs/flickcurl.1 (from
/trunk/flickcurl.1:457), docs/flickrdf.1 (from
/trunk/flickrdf.1:457), flickcurl-config.1, flickcurl.1,
flickrdf.1: Move man pages to docs/
* Makefile.am, configure.ac, src/Makefile.am, src/codegen.c,
src/flickcurl_getopt.h, src/flickrdf.c, src/getopt.c, src/test.c,
utils/Makefile.am, utils/codegen.c (from
/trunk/src/codegen.c:456), utils/flickcurl_getopt.h (from
/trunk/src/flickcurl_getopt.h:456), utils/flickrdf.c (from
/trunk/src/flickrdf.c:456), utils/getopt.c (from
/trunk/src/getopt.c:456): Updates for source dir reorg.
* activity-api.c, activity.c, args.c, auth-api.c, blog.c,
blogs-api.c, category.c, codegen.c, comments.c, common.c,
config.c, contacts-api.c, contacts.c, context.c, docs, example.c,
exif.c, favorites-api.c, flickcurl.c, flickcurl.h,
flickcurl_getopt.h, flickcurl_internal.h, flickrdf.c, getopt.c,
group.c, groups-api.c, groups-pools-api.c, interestingness-api.c,
location.c, md5.c, method.c, people-api.c, perms.c, person.c,
photo.c, photos-api.c, photos-comments-api.c, photos-geo-api.c,
photos-licenses-api.c, photos-notes-api.c, photos-transform-api.c,
photos-upload-api.c, photoset.c, photosets-api.c,
photosets-comments-api.c, place.c, places-api.c, reflection-api.c,
size.c, src, src/Makefile.am (from /trunk/Makefile.am:455),
src/activity-api.c (from /trunk/activity-api.c:455),
src/activity.c (from /trunk/activity.c:455), src/args.c (from
/trunk/args.c:455), src/auth-api.c (from /trunk/auth-api.c:455),
src/blog.c (from /trunk/blog.c:455), src/blogs-api.c (from
/trunk/blogs-api.c:455), src/category.c (from
/trunk/category.c:455), src/codegen.c (from /trunk/codegen.c:455),
src/comments.c (from /trunk/comments.c:455), src/common.c (from
/trunk/common.c:455), src/config.c (from /trunk/config.c:455),
src/contacts-api.c (from /trunk/contacts-api.c:455),
src/contacts.c (from /trunk/contacts.c:455), src/context.c (from
/trunk/context.c:455), src/example.c (from /trunk/example.c:455),
src/exif.c (from /trunk/exif.c:455), src/favorites-api.c (from
/trunk/favorites-api.c:455), src/flickcurl.h (from
/trunk/flickcurl.h:455), src/flickcurl_getopt.h (from
/trunk/flickcurl_getopt.h:455), src/flickcurl_internal.h (from
/trunk/flickcurl_internal.h:455), src/flickrdf.c (from
/trunk/flickrdf.c:455), src/getopt.c (from /trunk/getopt.c:455),
src/group.c (from /trunk/group.c:455), src/groups-api.c (from
/trunk/groups-api.c:455), src/groups-pools-api.c (from
/trunk/groups-pools-api.c:455), src/interestingness-api.c (from
/trunk/interestingness-api.c:455), src/location.c (from
/trunk/location.c:455), src/md5.c (from /trunk/md5.c:455),
src/method.c (from /trunk/method.c:455), src/people-api.c (from
/trunk/people-api.c:455), src/perms.c (from /trunk/perms.c:455),
src/person.c (from /trunk/person.c:455), src/photo.c (from
/trunk/photo.c:455), src/photos-api.c (from
/trunk/photos-api.c:455), src/photos-comments-api.c (from
/trunk/photos-comments-api.c:455), src/photos-geo-api.c (from
/trunk/photos-geo-api.c:455), src/photos-licenses-api.c (from
/trunk/photos-licenses-api.c:455), src/photos-notes-api.c (from
/trunk/photos-notes-api.c:455), src/photos-transform-api.c (from
/trunk/photos-transform-api.c:455), src/photos-upload-api.c (from
/trunk/photos-upload-api.c:455), src/photoset.c (from
/trunk/photoset.c:455), src/photosets-api.c (from
/trunk/photosets-api.c:455), src/photosets-comments-api.c (from
/trunk/photosets-comments-api.c:455), src/place.c (from
/trunk/place.c:455), src/places-api.c (from
/trunk/places-api.c:455), src/reflection-api.c (from
/trunk/reflection-api.c:455), src/size.c (from /trunk/size.c:455),
src/tags-api.c (from /trunk/tags-api.c:455), src/tags.c (from
/trunk/tags.c:455), src/test-api.c (from /trunk/test-api.c:455),
src/test.c (from /trunk/test.c:455), src/ticket.c (from
/trunk/ticket.c:455), src/upload-api.c (from
/trunk/upload-api.c:455), src/urls-api.c (from
/trunk/urls-api.c:455), src/user_upload_status.c (from
/trunk/user_upload_status.c:455), src/vsnprintf.c (from
/trunk/vsnprintf.c:455), tags-api.c, tags.c, test-api.c, test.c,
ticket.c, upload-api.c, urls-api.c, user_upload_status.c, utils,
utils/Makefile.am (from /trunk/Makefile.am:455),
utils/flickcurl.c (from /trunk/flickcurl.c:455), vsnprintf.c: Move
sources to src/ utils to utils/
* NEWS.html: 1.1 news
* coverage.html: 1.1
* coverage.html, flickcurl.c, flickcurl.h, flickcurl_internal.h,
photo.c, place.c, places-api.c: (flickcurl_places_find): Added to
support flickr.places.find announced 2008-01-18
2008-01-12 Dave Beckett <dave@dajobe.org>
* README.html: word
* NEWS.html, configure.ac: Bump version to 1.1
* Snapshotted flickcurl_1_0 for 1.0 release (SVN 449)
* README.html: place
* flickcurl.c, flickcurl.h, photo.c: Add place field to
flickcurl_photo so place can be got as a structure rather than
just raw fields
* LICENSE.html, Makefile.am, NEWS.html, activity-api.c,
activity.c, args.c, auth-api.c, blog.c, blogs-api.c, category.c,
codegen.c, comments.c, common.c, config.c, configure.ac,
contacts-api.c, contacts.c, context.c, coverage.html, exif.c,
favorites-api.c, flickcurl-config.in, flickcurl.c, flickcurl.h,
flickcurl.rdf.in, flickcurl_internal.h, flickrdf.c, group.c,
groups-api.c, groups-pools-api.c, interestingness-api.c,
location.c, md5.c, method.c, people-api.c, perms.c, person.c,
photo.c, photos-api.c, photos-comments-api.c, photos-geo-api.c,
photos-licenses-api.c, photos-notes-api.c, photos-transform-api.c,
photos-upload-api.c, photoset.c, photosets-api.c,
photosets-comments-api.c, place.c, places-api.c, reflection-api.c,
size.c, tags-api.c, tags.c, test-api.c, test.c, ticket.c,
upload-api.c, urls-api.c, user_upload_status.c, vsnprintf.c: 2008
and url tweak
* README.html: words
* NEWS.html: places 1.0
* flickcurl.h, photo.c: photo fields added for place IDs
* README.html: 100% and update output
* common.c: No PWD
* NEWS.html: 1.0
* NEWS.html, activity-api.c, blogs-api.c, configure.ac,
coverage.html, favorites-api.c, photos-api.c, places-api.c,
test-api.c: 0.14 is now 1.0 since 100% of the API is supported
* Makefile.am, activity-api.c, activity.c, common.c,
coverage.html, flickcurl.c, flickcurl.h, flickcurl_internal.h:
Implement activity API - 100% of API DONE
2008-01-11 Dave Beckett <dave@dajobe.org>
* category.c: categories comment out debug message
* Makefile.am, blog.c, blogs-api.c, coverage.html, flickcurl.c,
flickcurl.h, flickcurl_internal.h: Added Blogs API
* configure.ac: 0.14
* coverage.html, flickcurl.c, flickcurl.h, test-api.c: Completed
flickr.test API
* ChangeLog, Makefile.am, coverage.html, favorites-api.c,
flickcurl.c, flickcurl.h: Added Favorites API
* places-api.c: doc
* coverage.html: 0.14
* place.c: (flickcurl_build_place): Free xpathNodeCtx
* Makefile.am, common.c, flickcurl.c, flickcurl.h,
flickcurl_internal.h, photos-api.c, place.c, places-api.c: Added
Places API
* NEWS.html: 0.14
* codegen.c: 2008
* coverage.html: Added 2 places APIs
2007-12-21 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_0_13 for 0.13 release (SVN 422)
2007-12-18 Dave Beckett <dave@dajobe.org>
* NEWS.html: 0.13
* Makefile.am, coverage.html, flickcurl.c, flickcurl.h,
interestingness-api.c: Added flickr.interestingness.getList
* Makefile.am, coverage.html, flickcurl.c, flickcurl.h,
photos-transform-api.c: Added photos.transform.rotate
* coverage.html: Added people.getUploadStatus
* Makefile.am, coverage.html, flickcurl.c, flickcurl.h,
flickcurl_internal.h, people-api.c, user_upload_status.c: Added
people.getUploadStatus
* coverage.html, flickcurl.c, flickcurl.h, people-api.c: Added
flickr.people.getPublicGroups
* Makefile.am, category.c, flickcurl.c, flickcurl.h,
flickcurl_internal.h, group.c, groups-api.c: Added flickr.group
API
2007-11-03 Dave Beckett <dave@dajobe.org>
* upload-api.c: docs
* flickcurl.c: Added command_photos_upload_checkTickets
* flickcurl_internal.h: Added flickcurl_build_tickets
* flickcurl.h: Added flickcurl_ticket
Added flickcurl_free_ticket, flickcurl_free_tickets and
flickcurl_photos_upload_checkTickets
* photos-upload-api.c, ticket.c: Photos upload api
* Makefile.am: Added photos-upload-api.c
* Makefile.am: Added ticket.c
2007-11-02 Dave Beckett <dave@dajobe.org>
* photos-api.c: flickcurl_photos_getSizes 0.13
* flickcurl.c: Added command_photos_getSizes
* photos-api.c: (flickcurl_photos_getSizes): Added.
* flickcurl_internal.h: Added flickcurl_build_sizes
* Makefile.am: Added size.c
* size.c: Added size
* flickcurl.h: Added flickcurl_size
Added flickcurl_free_size and flickcurl_free_sizes
Added flickcurl_photos_getSizes
* flickcurl.c: Added commands: flickr.photosets.addPhoto,
flickr.photosets.create, flickr.photosets.delete,
flickr.photosets.editMeta, flickr.photosets.editPhotos,
flickr.photosets.orderSets and flickr.photosets.removePhoto
* photosets-api.c: (flickcurl_photosets_editPhotos,
flickcurl_photosets_orderSets) Now take an array of photo
IDs/photoset IDs
* flickcurl.h: flickcurl_photosets_editPhotos,
flickcurl_photosets_orderSets now take an array of photo
IDs/photoset IDs
* flickcurl.c: command_photos_getCounts added
* common.c, flickcurl.h, photos-api.c: (flickcurl_array_join,
flickcurl_array_split, flickcurl_array_free):
Added. (flickcurl_photos_getCounts): Added
2007-10-31 Dave Beckett <dave@dajobe.org>
* flickcurl.c: Added command_print_photoset Added command
flickr.photosets.getInfo, flickr.photosets.getList and
flickr.photosets.getPhotos
2007-10-30 Dave Beckett <dave@dajobe.org>
* flickcurl.h, flickcurl_internal.h: Added flickcurl_photoset
* photosets-api.c: Added rest of flickr.photosets APIs - writeable
ones untested.
* Makefile.am: Added photoset.c
* photoset.c: Flickcurl photoset functions
2007-08-11 Dave Beckett <dave@dajobe.org>
* NEWS.html, configure.ac: Bump version to 0.13
* Snapshotted flickcurl_0_12 for 0.12 release (SVN 368)
* coverage.html, flickcurl.c, flickcurl.h, photos-api.c: Added
flickr.photos.getNotInSet, flickr.photos.getRecent,
flickr.photos.getUntagged, flickr.photos.getWithGeoData,
flickr.photos.getWithoutGeoData, flickr.photos.recentlyUpdated
* coverage.html, flickcurl.c, flickcurl.h, person.c, photos-api.c:
Added flickr.photos.getFavorites
* coverage.html, flickcurl.h, flickcurl_internal.h, person.c:
Added flickcurl_build_persons
* exif.c: -debug
* Makefile.am, exif.c, flickcurl.c, flickcurl.h,
flickcurl_internal.h, photos-api.c: Added flickcurl_photos_getExif
* coverage.html, flickcurl.c, flickcurl.h, photos-api.c: Added
flickcurl_photos_getContactsPublicPhotos
2007-08-10 Dave Beckett <dave@dajobe.org>
* Makefile.am, coverage.html, flickcurl.c, flickcurl.h,
flickcurl_internal.h, group.c, groups-pools-api.c: Added
groups.pools APIs
* coverage.html, flickcurl.c, people-api.c: Added
flickcurl_people_getPublicPhotos
* flickcurl.h: Added flickcurl_people_getPublicPhotos
* flickcurl.c, flickcurl.h, photos-licenses-api.c: Added
photos.licenses.setLicense API
* Makefile.am, coverage.html, flickcurl.c, flickcurl.h,
photos-notes-api.c: Added photos.notes API
* photos-geo-api.c: (flickcurl_photos_geo_setLocation): Handle
optional accuracy
* flickcurl.c, flickcurl.h, location.c, photos-geo-api.c: Added
photos.geo API
* photos-api.c: (flickcurl_photos_delete): Tidy result returning.
* Makefile.am: Add location.c photos-geo-api.c
* flickcurl_internal.h: Add flickcurl_build_location
* perms.c: (flickcurl_build_perms): Add iscontact.
* photos-api.c: (flickcurl_photos_setContentType): No need for
xpathCtx
2007-08-08 Dave Beckett <dave@dajobe.org>
* AUTHORS, contacts-api.c, contacts.c: Added Vanila I. Shu
copyright to AUTHORS and contacts code
2007-08-06 Dave Beckett <dave@dajobe.org>
* flickcurl_internal.h: Remove libxslt headers - patch from
FreeBSD packaging
2007-08-05 Dave Beckett <dave@dajobe.org>
* example.c: title, license header
2007-08-04 Dave Beckett <dave@dajobe.org>
* flickrdf.c: change machinetags.org namespaces
2007-08-03 Dave Beckett <dave@dajobe.org>
* photo.c: (flickcurl_build_photos): Do not overwrite a field if
it's found in the earlier of two XPaths
* flickrdf.c: Properly ignore xmlns in (machine) tags
* NEWS.html: 0.12
* configure.ac: Bumped version to 0.12
2007-08-02 Dave Beckett <dave@dajobe.org>
* configure.ac: Bumped version to 0.12
* Snapshotted flickcurl_0_11 for 0.11 release (SVN 337)
* coverage.html: 50%!!!
2007-08-01 Dave Beckett <dave@dajobe.org>
* flickcurl.c: (command_print_photo): Added.
(command_photos_getInfo): Use above.
(command_photos_getContactsPhotos): Added.
(command_photos_search): Added with huge list of optional fields.
* photos-api.c: (flickcurl_photos_getContactsPhotos): Fix field
types
(flickcurl_photos_search): Fix parameter types and do int/string
conversions and checks.
* flickcurl.h: Fix types of flickcurl_search_params fields
* photo.c: Recognise photo fields as attributes when they appear
in a photos summary result.
2007-07-31 Dave Beckett <dave@dajobe.org>
* flickcurl.h: Added flickcurl_free_photos prototype.
* photos-api.c: (flickcurl_photos_getContactsPhotos): Added.
* photo.c: declare var
* photo.c: (flickcurl_free_photos): Added.
* flickcurl_internal.h: Added flickcurl_build_perms
* flickcurl.c: (command_photos_getPerms) tidied
* flickcurl.c: command_photos_getPerms for flickr.photos.getPerms
added.
* Makefile.am: Added perms.c
* flickcurl.h: flickcurl_perms structure added Added
flickcurl_photos_getPerms and altered flickcurl_photos_setPerms to
use flickcurl_perms
Added flickcurl_free_perms
* photos-api.c: (flickcurl_photos_getPerms): Added, returning
flickcurl_perms
(flickcurl_photos_setPerms): Changed to use flickcurl_perms
* perms.c: flickcurl_perms functions
2007-07-29 Dave Beckett <dave@dajobe.org>
* Makefile.am, contacts-api.c, contacts.c, flickcurl.h,
flickcurl_internal.h: Added contacts APIs
* upload-api.c: (flickcurl_photos_upload_params): Added as
prefered upload API call, deprecating flickcurl_photos_upload
(flickcurl_free_upload_status): Added, replacing deprecated
flickcurl_upload_status_free.
* flickcurl.c: (command_upload): switch to new API
flickcurl_photos_upload_params
(command_photos_setContentType, command_photos_setDates,
command_photos_setMeta, command_photos_setPerms,
command_photos_setSafetyLevel): Added along with commands for the
photos API calls.
* photos-api.c: (flickcurl_photos_search,
flickcurl_photos_setContentType, flickcurl_photos_setDates,
flickcurl_photos_setMeta, flickcurl_photos_setPerms,
flickcurl_photos_setSafetyLevel): Added.
* flickcurl_internal.h: Added flickcurl_unixtime_to_sqltimestamp
and flickcurl_build_photos prototypes
* flickcurl.h: Added FLICKCURL_DEPRECATED macro. Added
flickcurl_upload_params structure for uploading and
flickcurl_search_params for searching. Deprecated
flickcurl_photos_upload for flickcurl_photos_upload_params and
flickcurl_upload_status_free for flickcurl_free_upload_status
* photo.c: photo_fields_table: XPaths are now relative
(flickcurl_build_photos): Added return a list of photos
(flickcurl_build_photo): Altered to wrap flickcurl_build_photos
and return 1 photo.
* common.c: (flickcurl_unixtime_to_sqltimestamp): Added.
2007-05-06 Dave Beckett <dave@dajobe.org>
* flickcurl.c: Title and usage with no args
2007-04-22 Dave Beckett <dave@dajobe.org>
* autogen.sh: Update autogen.sh
2007-04-19 Dave Beckett <dave@dajobe.org>
* flickrdf.c: Declare namespaces from tags if seen too.
* flickrdf.c: debug messages are gone one place to add namespaces
* flickrdf.c: license name if no url
* flickrdf.c: handle license with no url
* flickrdf.c: namespace fun
* flickrdf.c: Add type override for geo:lat, geo:long - keep the
values as string in RDF.
* configure.ac: Bumped version to 0.11
2007-04-16 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_0_10 for 0.10 release (SVN 295)
* photo.c: region is not a float
* photo.c: field twice
* photo.c: debug msg
* photo.c: free photo tags
* common.c: +1
* upload-api.c: errno
* flickcurl.c: (command_upload): Change command parsing. Works.
* flickcurl.c: (print_upload_status): Added.
(command_upload): Added for uploading a photo file with option
handling that does not seem to work.
(command_replace): Added for uploading a replacement photo file.
* common.c: (flickcurl_prepare_common): Properly add api_sig as a
new parameter. Fix debugging output with no method parameter to
go to upload.xml
* upload-api.c: (flickcurl_photos_upload): Return if file is not
readable. Handle optional parameters.
(flickcurl_photos_replace): Return if file is not readable.
* Makefile.am: Added upload-api.c
* upload-api.c: Flickr photo upload API calls
* flickcurl.h: Added flickcurl_upload_status struct Added
flickcurl_photos_upload, flickcurl_photos_replace and
flickcurl_upload_status_free
* common.c: (flickcurl_prepare_common): Handle optional method.
(flickcurl_prepare): Check for required method here.
(flickcurl_prepare_upload): No need for flickcurl_set_write
* flickcurl_internal.h: flickcurl_prepare_upload has no method.
* common.c: Save away fields: param_fields, param_values,
parameter_count, upload_field, upload_value saved from prepare to
invoke.
(flickcurl_free): Free new fields
(flickcurl_prepare_common): Handle params in body not urls by
saving them away and not appending them here. Take in destination
URL base as a parameter. Add upload params, saved away for
invoke.
(flickcurl_prepare): Now a wrapper around flickcurl_prepare_common
with no upload params.
(flickcurl_prepare_upload): Added, calling
flickcurl_prepare_common with most params set.
(flickcurl_invoke): Look for upload field and if present, put
params in form-data body using curl_formadd and curl_easy_setopt
CURLOPT_HTTPPOST.
* flickcurl_internal.h: Added flickcurl_prepare_upload struct
flickcurl_s gains fields: param_fields, param_values,
parameter_count, upload_field, upload_value saved from prepare.
* flickcurl.h: Added flickcurl_photosets_comments_addComment,
flickcurl_photosets_comments_deleteComment,
flickcurl_photosets_comments_editComment and
flickcurl_photosets_comments_getList
* flickcurl.c: Added photosets.comments calls
* Makefile.am: photosets-comments-api.c
* photosets-comments-api.c: Flickr flickr.photosets.comments.* API
calls
* codegen.c: better codegen. no -a/auth. delay init. usage
* Makefile.am: codegen is extra
* common.c: (flickcurl_prepare): Fix URI escaping with curl_escape
to allow sending values with spaces.
* photos-comments-api.c: Use flickcurl_set_data for POST with no
content
* codegen.c: write sets default data to empty
2007-04-15 Dave Beckett <dave@dajobe.org>
* comments.c: now with less core dumps
* comments.c: (flickcurl_free_comments): Added.
* flickcurl.h: Added flickcurl_free_comments
* flickcurl.c: Added photos.comments calls
* comments.c: Flickr comments
* photos-comments-api.c: Flickr flickr.photos.comments.* API calls
* Makefile.am: Added codegen, photos comments API in comments.c
and photos-comments-api.c
* flickcurl_internal.h: Added flickcurl_build_comments
* flickcurl.h: Added flickcurl_comment structure. Added
flickcurl_free_comment, flickcurl_photos_comments_addComment,
flickcurl_photos_comments_deleteComment,
flickcurl_photos_comments_editComment,
flickcurl_photos_comments_getList functions.
* codegen.c: code generator
* flickcurl.c: (command_reflection_getMethodInfo): prints
* flickcurl.c: (command_reflection_getMethods): Added for
flickr.reflection.getMethods
* reflection-api.c: Flickr flickr.reflection.* API calls
* flickcurl.c: (command_reflection_getMethodInfo): Added for
flickr.reflection.getMethodInfo
* Makefile.am: Added args.c method. reflection-api.c
* flickcurl.h: Added flickcurl_arg, flickcurl_method structures
Other docs Added: flickcurl_free_method(flickcurl_method *method)
Added API calls: flickcurl_reflection_getMethods
flickcurl_reflection_getMethodInfo
* method.c: Flickcurl method functions
* flickcurl_internal.h: Add args.c method.c prototypes for
reflection API support: flickcurl_free_arg, flickcurl_build_args,
flickcurl_build_method.
* flickcurl.c: fix error returns
* photo.c: Added location fields neighborhood, locality, region
and country to photo_fields_table.
* flickcurl.h: Added PHOTO_FIELD_location_neighborhood,
PHOTO_FIELD_location_locality, PHOTO_FIELD_location_region,
PHOTO_FIELD_location_country after announcement
http://geobloggers.com/archives/2007/04/12/flickr-two-new-subtle-geo-updates/
which doesn't seem to actually be live right now.
2007-04-14 Dave Beckett <dave@dajobe.org>
* Makefile.am, flickrdf.c: triplr becomes flickrdf
2007-02-25 Dave Beckett <dave@dajobe.org>
* common.c, person.c: Move flickcurl_free_person from common.c to
person.c
* configure.ac: Bumped version to 0.10
* Snapshotted flickcurl_0_9 for 0.9 release (SVN 221)
* tags.c: (flickcurl_build_tags): Handle @score from tags.getHotList
* tags-api.c: (flickcurl_tags_getHotList): Added.
* photos-api.c: (flickcurl_photos_addTags,
flickcurl_photos_delete, flickcurl_photos_removeTag,
flickcurl_photos_setTags): Added
* flickcurl.c: Added commands for flickcurl_photos_addTags,
flickcurl_photos_delete, flickcurl_photos_removeTag,
flickcurl_photos_setTags and flickcurl_tags_getHotList
* flickcurl.h: Added API calls flickcurl_photos_addTags,
flickcurl_photos_delete, flickcurl_photos_removeTag,
flickcurl_photos_setTags and flickcurl_tags_getHotList
* common.c: (flickcurl_invoke): Remove extra curl_set_easyopt
2007-02-24 Dave Beckett <dave@dajobe.org>
* flickcurl_internal.h: flickcurl_call_get_one_string_field const
xpathExpr
* common.c: (flickcurl_call_get_one_string_field): const xpathExpr
* flickcurl.c: Added commands for flickcurl_urls_getGroup,
flickcurl_urls_getUserPhotos, flickcurl_urls_getUserProfile,
flickcurl_urls_lookupGroup and flickcurl_urls_lookupUser
* urls-api.c: (flickcurl_urls_getGroup,
flickcurl_urls_getUserPhotos, flickcurl_urls_getUserProfile,
flickcurl_urls_lookupGroup and flickcurl_urls_lookupUser): Added.
* flickcurl.h: Added flickcurl_urls_getGroup,
flickcurl_urls_getUserPhotos, flickcurl_urls_getUserProfile,
flickcurl_urls_lookupGroup and flickcurl_urls_lookupUser
* flickcurl_internal.h: Add flickcurl_call_get_one_string_field
* people-api.c: Use flickcurl_call_get_one_string_field to replace
flickcurl_get_nsid
* common.c: (flickcurl_call_get_one_string_field): Added based on
flickcurl_get_nsid, removed from people-api.c
* auth-api.c, groups-pools-api.c, people-api.c, photos-api.c,
photos-licenses-api.c, photosets-api.c, tags-api.c, test-api.c,
test.c, urls-api.c: Adjust parameters arrays to allow for up to 5
added params
* flickcurl.c: (main): Check max and min args.
* configure.ac: Define FLICKCURL_VERSION_DECIMAL and substitute it
* flickcurl.c: warning when command failed
* config.c: (read_ini_config): Check for full length of app string
match, not just prefix.
* flickcurl_internal.h, photo.c,
photos-api.c: (flickcurl_build_photo): Created from
flickcurl_photos_getInfo() content which now uses it
* Makefile.am, api.c, common.c, flickcurl_internal.h,
photo.c (from common.c r185), tags.c: Copied photo routines from
common.c to new photo.c and moved remaining api junk from api.c to
common.c. Deleted api.c
* Makefile.am, common.c, context.c, tags.c (from common.c r184):
Pulled tags code out of api.c common.c into new tags.c including
tags destructor and flickcurl_build_tags()
* Makefile.am, api.c, common.c, context.c (from common.c r181),
flickcurl_internal.h: Pulled contexts code out of api.c common.c
into new context.c including flickcurl_build_contexts()
* flickcurl.c: Added command_tags_getRelated for
flickr.tags.getRelated
* tags-api.c: (flickcurl_tags_getListUserRaw): Let
flickcurl_build_tags tidy up the raw/cooked field detail.
* common.c: (flickcurl_build_tags): Handle
<tag clean="cooked"><raw>raw</raw></tag> for
flickr.tags.getListUserRaw and put @clean into the tags->cooked
field and <raw> content into tags->raw field.
* configure.ac: AM_CONFIG_HEADER
* api.c, flickcurl.c, flickcurl.h, photos-api.c, triplr.c: Major
tidy of flickcurl.h with reordering and more comments. Pulled out
photos and contexts fields into new structures named
flickcurl_THING_type, renaming enums to flickcurl_THING_field_type
* Makefile.am, flickcurl_internal.h, people-api.c, person.c (from
api.c r176): Added person.c from api.c and pulled out
flickcurl_build_person from people-api.c
* api.c, auth-api.c, groups-pools-api.c, people-api.c,
photos-api.c, photos-licenses-api.c, photosets-api.c, tags-api.c,
test-api.c, urls-api.c: Header comments
* photosets-api.c: add stubs
* Makefile.am, api.c, test-api.c (from api.c r173): Added
test-api.c from api.c
* Makefile.am, api.c, coverage.html, photosets-api.c (from api.c
r172): Added photosets-api.c from api.c
* Makefile.am, api.c, groups-pools-api.c (from api.c r171): Added
groups-pools-api.c from api.c
* api.c, flickcurl.h, people-api.c: Added
PERSON_FIELD_photos_views in photos
* api.c, auth-api.c, coverage.html, flickcurl.h, people-api.c,
photos-api.c, photos-licenses-api.c, test.c, urls-api.c: Remove
use of setting token field into flickcurl_prepare and remove uses
of flickcurl_set_sig_key
* common.c: (flickcurl_free): No sig_key field
(flickcurl_set_sig_key): Removed
(flickcurl_set_sign): Added.
(flickcurl_prepare): Set auth_token field here and sign either if
it present or otherwise told to sign, if fc->sign is set.
(flickcurl_invoke): Reset fc->sign.
* flickcurl_internal.h: flickcurl* replaced sig_key field with
sign flag.
* tags-api.c: (flickcurl_tags_getRelated): Added.
* flickcurl.c: (command_print_tags): Added Added commands for
flickcurl_tags_getListPhoto, flickcurl_tags_getListUser,
flickcurl_tags_getListUserPopular and
flickcurl_tags_getListUserRaw.
* tags-api.c: (flickcurl_tags_getListPhoto,
flickcurl_tags_getListUser, flickcurl_tags_getListUserPopular and
flickcurl_tags_getListUserRaw): Added.
* flickcurl.h: Added flickcurl_tags_getListPhoto,
flickcurl_tags_getListUser, flickcurl_tags_getListUserPopular and
flickcurl_tags_getListUserRaw
2007-02-23 Dave Beckett <dave@dajobe.org>
* example.c: add tag count
* common.c: (flickcurl_build_tags): Add count
* flickcurl.h: struct flickcurl_tag gains count
* flickcurl.h: Added flickcurl_tags_getListInfo
* flickcurl.c: Added command_tags_getListInfo for tags.getListPhoto
* photos-api.c: (flickcurl_photos_getInfo): Free xpathCtx here
* common.c: (flickcurl_build_tags): Do not free xpathCtx here
* Makefile.am: Added tags-api.c
* tags-api.c: flickr.tags.*
* flickcurl.c: (command_photos_getInfo): Handle NULL authorname
* flickcurl.c: (command_photos_getInfo): Print authorname
* common.c: (flickcurl_free_tag): Free authorname
(flickcurl_build_tags): Add authorname
* example.c: add authorname
* flickcurl.h: struct flickcurl_tag gains authorname
* photos-api.c: (flickcurl_photos_getInfo): Moved tags parsing to
new flickcurl_build_tags()
* flickcurl.h: struct flickcurl_photo replace flickcurl_tag*
tags[20] with flickcurl_tag**
* common.c: (flickcurl_build_tags): Added, pulled out of
flickcurl_photos_getInfo().
* flickcurl_internal.h: Added flickcurl_build_tags
* Makefile.am: remove example
* coverage.html: Link to photo upload API
* common.c: (flickcurl_free): Only free XML data.
* test.c: errno
* common.c: (flickcurl_invoke): Error if capture write fails.
Tidy URI debug message
* test.c: low-level api test
* Makefile.am: example and test are extra
* example.c: tidy
* flickcurl.c: Added new commands and helper functions for
flickcurl_auth_checkToken, flickcurl_auth_getFrob,
flickcurl_auth_getToken and flickcurl_auth_getFullToken Moved
initializing earlier so that '-a' can work again.
2007-02-22 Dave Beckett <dave@dajobe.org>
* common.c: (flickcurl_free): Tidy data, data_length and
data_is_xml fields.
(flickcurl_prepare): Init to read-only, no content data.
(flickcurl_invoke): Add Content-Type: application/xml header when
sending data. Use POST when write flag is set. Handle non XML
responses failing gracefully
(flickcurl_set_write, flickcurl_set_data, flickcurl_set_xml_data):
Added.
* flickcurl_internal.h: Added is_write, data, data_length and
data_is_xml fields to flickcurl*
* auth-api.c: (flickcurl_auth_checkToken, flickcurl_auth_getFrob
and flickcurl_auth_getToken): Added, completing the flickr.auth.*
API calls.
* flickcurl.h: Added flickcurl_set_write, flickcurl_set_data,
flickcurl_set_xml_data Added auth API calls:
flickcurl_auth_checkToken, flickcurl_auth_getFrob and
flickcurl_auth_getToken
* coverage.html: 0.9
2007-02-20 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_0_8 for 0.8 release (SVN 122)
* example.c: Add init, finish
* coverage.html: Now with changes
* NEWS: NEWS now generated
* common.c: (flickcurl_new): 1000ms default delay
2007-02-19 Dave Beckett <dave@dajobe.org>
* triplr.c: (emit_triple): Casts for raptor_free_uri
* flickcurl.c, triplr.c: Use flickcurl_init/flickcurl_finish to
ensure all of curl/libxml is initialised and cleaned up as far as
is possible
* flickcurl.h: Added flickcurl_init
* common.c: (flickcurl_init): Added.
* flickcurl.c: (main): Call flickcurl_finish
* flickcurl.h: Added flickcurl_finish prototype.
* common.c: (flickcurl_finish): Added.
* photos-api.c: (flickcurl_photos_getInfo): return NULL on error
* flickcurl.c: (main): Init fc and ensure it is freed on help/usage.
* photos-licenses-api.c: free attribute strings that are atoi()ed
* photos-api.c: free attribute strings that are atoi()ed
* common.c: free attribute strings that are atoi()ed
* triplr.c: (emit_triple): Free uris properly.
(main): Init fc and ensure it is freed on help/usage.
* triplr.c: help to stdout
* Makefile.am, api.c, photos-licenses-api.c (renamed from
api.c r95): Pull photos.licenses API out of api.c into
photos-licenses-api.c
* api.c, auth-api.c, people-api.c, photos-api.c, urls-api.c: autodocs
* Makefile.am, api.c, photos-api.c (renamed from api.c r90): Pull
photos API out of api.c into photos-api.c
* common.c: common.c
* Makefile.am, common.c (renamed from core.c r90), core.c: Rename
core.c to common.c - files named core* are a bad idea
* flickcurl.c: Rename commands to match API names
Allow old foo-bar commands to work
Allow flickr.COMMAND to work
2007-02-18 Dave Beckett <dave@dajobe.org>
* triplr.c: Extend help when raptor is present
* people-api.c: (flickcurl_get_nsid): Added with common code from
flickcurl_people_findByEmail, flickcurl_people_findByUsername.
(flickcurl_people_findByEmail, flickcurl_people_findByUsername):
Updated to use flickcurl_get_nsid.
* flickcurl.c: Added commands to call flickcurl_people_findByEmail
and flickcurl_people_findByUsername
* people-api.c: (flickcurl_people_findByEmail,
flickcurl_people_findByUsername): Added.
* flickcurl.h: Added
char* flickcurl_people_findByEmail(flickcurl* fc, const char* email);
char* flickcurl_people_findByUsername(flickcurl* fc, const char* username);
* core.c, flickcurl_internal.h: Fix offline/capture defines
* core.c: use errno.h
* configure.ac, core.c, flickcurl_internal.h: Added
--enable-offline and --enable-capture to configure rather than
editing a header file
* api.c, auth-api.c, core.c, flickcurl_internal.h, people-api.c,
urls-api.c: More comprehensive offline and XML capture
* Makefile.am, api.c, urls-api.c (from /trunk/api.c:67): Copy urls
apis from api.c urls-api.c
* people-api.c: Move person_fields_table from api.c
* Makefile.am, api.c, people-api.c (from /trunk/api.c:62): Move
people calls from api.c to people-api.c
* auth-api.c: remove offline define
* Makefile.am, flickcurl.c (from /trunk/main.c:57), main.c: Rename
main.c to flickcurl.c
* Makefile.am, core.c (from /trunk/flickcurl.c:61), flickcurl.c:
Rename flickcurl.c to core.c
* Makefile.am, api.c, auth-api.c (from /trunk/api.c:51),
flickcurl_internal.h: Move auth calls from api.c to auth-api.c
* flickcurl.c: (flickcurl_new): Default to 100ms min delay between
requests.
* configure.ac: Remove -Wmissing-format-attribute
Which is too annoying to fix right now.
* flickcurl.c: ifdef not if
* flickcurl.c: (flickcurl_invoke): Wrap debug messages with ifdefs
* main.c: Added -d/--delay DELAY to set request delay
* triplr.c: Debug is now -D/--delay
-d/--delay DELAY to set request delay
* flickcurl.c: (flickcurl_set_request_delay): Added to set the
inter-request minimum delay.
(flickcurl_invoke): Use gettimeofday and nanosleep to enforce the
minimum delay between requests.
* flickcurl.h: Added flickcurl_set_request_delay
* flickcurl_internal.h: flickcurl gains last_request_time and
request_delay fields
* flickcurl.c: Fix home page url
* configure.ac: Bumped version to 0.8
* Snapshotted flickcurl_0_7 for 0.7 release (SVN 48)
2007-02-17 Dave Beckett <dave@dajobe.org>
* main.c: (command_contexts_print): Added helper
(command_groups_pools_getContext): Added, calling
flickcurl_groups_pools_getContext.
(command_photos_getAllContexts): Added, calling
flickcurl_photos_getAllContexts.
(command_photos_getContext): Added, calling
flickcurl_photos_getContext.
(command_photosets_getContext): Added, calling
flickcurl_photosets_getContext
* api.c: (flickcurl_get_context_type_field_label): Added helper
(flickcurl_groups_pools_getContext,
flickcurl_photos_getAllContexts, flickcurl_photos_getContext,
flickcurl_photosets_getContext): Added API calls.
* flickcurl.c: (flickcurl_free_context, flickcurl_free_contexts,
flickcurl_build_contexts): Added
* flickcurl.h: Added flickcurl_context_type enum,
flickcurl_context typedef Added
flickcurl_get_context_type_field_label,
flickcurl_groups_pools_getContext,
flickcurl_photos_getAllContexts, flickcurl_photos_getContext,
flickcurl_photosets_getContext, API calls. Added
flickcurl_free_context and flickcurl_free_contexts
* flickcurl_internal.h: Added flickcurl_context_type_element,
flickcurl_build_contexts
2007-02-11 Dave Beckett <dave@dajobe.org>
* README.html: dc:rights example
* NEWS, README.html, configure.ac: Bumped to 0.7
* coverage.html: annoate version it appeared
* Makefile.am, README.html, coverage.html: Added coverage doc
* configure.ac: AC_INIT tweak
2007-02-11 Dave Beckett <dave@dajobe.org>
* Snapshotted flickcurl_0_6 for 0.6 release (SVN 31)
* Makefile.am, README.html, coverage.html: Added coverage doc
* configure.ac: AC_INIT tweak
2007-02-05 Dave Beckett <dave@dajobe.org>
* README.html: Added flickcurl_urls_lookupUser
* main.c; Added command_urls_lookupUser and urls-lookupUser command
* flickcurl.h: Added flickcurl_urls_lookupUser
* api.c: (flickcurl_urls_lookupUser): Added
2007-02-04 Dave Beckett <dave@dajobe.org>
* api.c: online
* triplr.c: When a photo license field is found, look up the license
URI with flickcurl_photos_licenses_getInfo_by_id()
* main.c: Added command_people_getInfo,
command_photos_licenses_getInfo and corresponding as
people-getInfo and photos-licenses-getInfo
* flickcurl.c (flickcurl_free): Tidy licenses found.
(flickcurl_free_person): Added.
* api.c: (flickcurl_photos_getInfo): auth_token is optional.
(flickcurl_get_person_field_label, flickcurl_people_getInfo,
flickcurl_photos_licenses_getInfo,
flickcurl_photos_licenses_getInfo_by_id, flickcurl_free_person):
Added
(compare_licenses, flickcurl_read_licenses): Added to implement
flickcurl_photos_licenses_getInfo() and
flickcurl_photos_licenses_getInfo_by_id().
* flickcurl.h: Added VALUE_TYPE_PERSON_ID
Added flickcurl_license, flickcurl_person_field, flickcurl_person
Added:
const char* flickcurl_get_person_field_label(flickcurl_person_field field);
flickcurl_person* flickcurl_people_getInfo(flickcurl* fc, const char* user_id);
flickcurl_license** flickcurl_photos_licenses_getInfo(flickcurl *fc);
flickcurl_license* flickcurl_photos_licenses_getInfo_by_id(flickcurl *fc, int id);
void flickcurl_free_person(flickcurl_person *person);
* flickcurl_internal.h: Added licenses to struct flickcurl_s
* configure.ac: 0.6
* Imported flickcurl 0.1 - 0.5 from tarballs
|