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
|
2006-05-23 Toshio Kuratomi <toshio@tiki-lounge.com> - r216
* ROADMAP: Reorganize in ascending instead of descending order.
* AUTHORS: Change to UTF8.
* src/review.py: Note that passphrase could be returned empty to indicate
the user canceled the passphrase box.
* src/qareviewer.py:
- Make the arrow on the grab bar larger. Otherwise it just looks like
a dot.
- Fix toggle_preview_cb() so invoking it works.
* src/Makefile.am: Remove SRPM.py as we're not using it anymore.
* BUGS: Checked that we're listing all the new fles in Makefile.am
* Makefile.am: Remove PREFERENCES as the rewrite is complete.
2006-04-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r215
* src/properties.py: Change coment to reflect that functions setting
properties has been implemented.
* src/srpmqa.py: Delete this file. The functionality it provided is now
provided by the functions and properties infrastructure and the
fedoraus.py script.
* src/functions.py:
- Attempt to create a __del__ method to remove the temporary directory.
This has issues as the __del__ is not called if the program ends before
the referencecount goes to zero.
- _recursive_rmdir(): change this to use os.walk internally. This is
better and cleans up a potentially nasty bug where we were attempting
to rmdir the parent directory. Luckily, the parent directory is not
empty so the rmdir failed.
- Set the row-spacing in the new checklist item dialog to five so things
are not so squeezed.
* src/propview.py:
- __init__(): Connect to the model's connect signal so we know when a
property changes.
- _update_layout(): New method that is invoked when the model changes.
It sets the text for the changed property to reflect the new value
in the model.
- _create_layout(): Change from two VBox's to a gtk.Table. This makes
the names of properties line up with their values when the widgets
are not the same size (for instance, a multiline label as the value.)
- set_model(): Connect to the new model's changed signal.
* src/SRPM.py: Remove all but __calc_hashes() and __check_hashes().
Everything else has been moved into fedoraus.py.
* src/Makefile.am: Remove srpmqa.py from the distributed files.
* data: Ignore .pyc files.
* data/fedoraus.py:
- header():
+ Change PUBLISH +1 to APPROVED.
+ Print the SRPMMD5sum's as they're now being generated.
- srpm_from_ticket(): Catch the case where the ticket URL is not set.
- srpm_md5(), srpm_internal_md5s(): Set properties['SRPMfile'] directly
so the custom __setitem__ method processes it.
- Add a comment about some tests performed in the old srpm.py file that
are not implemented here.
- _expand_srpm():
+ Use the new version of _recursive_rmdir()
+ Remember to use .value when extracting data from a property.
+ Fix the rpm transaction flags to ignore signatures and the header for
now.
- _hash_directory(): Fix typo of _hash_file().
* data/checklist.dtd: Make documentation of onload and automatic property
types clearer.
2006-04-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r214
* ROADMAP: Add a post-1.0 section. Add a version for Handling property
types.
* BUGS: Test some of the fixes and remove. Add gconf schema and
redirecting output from gpg.
* TODO: General cleanup. Removed a few things that have been done. Added
a better druid section and what's left todo in properties.
* NEWS: Update to version 0.4.90.5.
* PREFERENCES: Removed. Most of this is done. The two things that were
left (further enhancement to the Druid and properties typing) were added
to the TODO.
2006-04-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r213
* src/properties.py: __setitem__(): Clarify hte docstring.
* src/review.py:
- Attempt to import textwrap from optparse before optik.
- No longer save responses from the errorDialogs as we don't use them.
* src/functions.py:
- QAError exception for any exception arising from the QAFunctions.
- __init__(): Get the statedir from gconf and use it to make a temporary
directory to save function temporary files.
- __del__(): Destructor that removes the temporary directory.
- _recursive_rmdir(): Removes all files and directories in a hierarchy.
* src/checklist.py: Split long lines to make pylint happy.
* ChangeLog: Update to r212.
* data/fedoraus.py:
- FileError exception: when a problem occurs accessing the filesystem.
- Bzip2File class: This is a minimal subset of the file object that
can substitute for a GZipFile to decode an rpm payload.
- __BLOCKSIZE: Constant for how much to read at a time.
- __init__(): Constructor to set the temporary srpmDir on creation.
- from_srpm_cb(): Hav it call srpm_md5() and srpm_internal_md5(). This
may go away in the future as it is redundant.
- srpm_from_ticket():
+ Check that a bugzilla URL was given before running.
+ Attempt to pull an srpm from the page.
- srpm_md5(): Implement this (from SRPM.py).
- srpm_internal_md5s(): First cut at an implementation (from SRPM.py).
- _expand_srpm(): Function to extract the files from the srpm into a
temporary directory.
- _hash_directory(): Get the cryptographic hashes of all files in a
directory (from SRPM.py).
- _hash_file(): Get the cryptographic hash of a file (from SRPM.py).
- Expand Id and Rev keywords.
2005-11-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r212
* ROADMAP: Tentative roadmap to 1.0. Does not mention dates, just what
features will go into certain releases.
* src/properties.py:
- Rename the function attribute of a PropEntry to functions. Make this
into a list of functions to invoke when the property is changed instead
of just a single one.
- Remove the args attribute from PropEntry. Functions have access to
all properties so there is no need to specify arguments.
- __init__(): Properties now takes a Function object as an argument when
initializing. This should be BaseQAFunctions or a subclass.
- __setitem__(): When a property is changed, see if a function is listed
to be called. If so call a method of the functions object passed into
the constructor.
* src/optionrenderer.py: Pylint cleanups:
- Split lines that were over 80 characters.
- Add spaces between operators and operands.
- Rename id to prop in functions. ID is a keyword as well.
* src/preferences.py: Pylint cleanups:
- Split lines that were over 80 characters.
* src/review.py: Pylint cleanups:
- Split lines that were over 80 characters/
* src/functions.py: Pylint cleanups:
- footer(): Add a docstring.
- Add spaces between commas.
* src/checklist.py:
- Remove the __Test class. The usage of checklist defined tests has
changed sufficiently that it doesn't make sense anymore.
- __init__(), publish():
+ The functions file definition comes before the properties in the XML
file now. This is due to the new Properties system which needs a
functions object in order to work.
+ function is now a direct subnode of property so use it there, not
from the requires node.
- __xml_to_entry(), __create_entry(): Reduce test information to one
string that defines the test function's name.
* ChangeLog: Update to r211.
* PREFERENCES: Thoughts on properties interdependencies.
* tests/propertiestest.py: Updates to deal with the new expected behaviour
of properties with functions.
* tests/test.py: Add the 'data' directory as a source of python files as
the checklist files will come from there.
* tests/qaconverttest.py: Fix typos in comments.
* configure.ac: Bump release to 0.4.90.5.
* data/fedoraus.py: Add the definition of several functions declared in
fedoraus.xml. These should be filled in before qa-assistant-0.5.
* data/checklist.dtd: Simplifications.
- functions is now defined to come before properties.
- function is now a member of property instead of require.
- No more arg element. Checklist defined functions have access to all
properties.
- test is reduced to a string which is the name of a function to call.
* data/fedoraus.xml: Changes to conform to the new DTD.
2005-09-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r211
* tests/test.py: Add the regression tests for qa-convert.
* tests/Makefile.am:
- Add qaconverttest.py to test the qa-convert script.
- Add qasave-0.1 directory with old qasave-0.1 files to test qa-convert.
* tests/qaconverttest.py: New tests for the qa-convert script.
* tests/qasave-0.1, tests/qasave-0.1/python-docutils.save,
tests/qasave-0.1/ddclient.save, tests/qasave-0.1/pyrex.save,
tests/qasave-0.1/customitems.save: Old qasave-0.1 save files to test the
qa-convert conversion script with.
2005-09-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r210
* src/qa-convert.pyin.in:
- Add the checklist data directory to sys.path so we can load the
CheckList function files.
- RENAMES dict that holds renames of checklists between 0.4 and 0.5.
- Remove the DTD publicID and canonicalURL. These were overriding the
variables provided by the checklist class. They're only used for
writing the file so we need to use the CheckList class definition,
not the older qasave definition.
- When we check if the entry is already defined, make sure we check
on lowercased name, otherwise we throw some false positives.
- Fix a typo: newItem => newEntry.
- Do not pangoize our entries. The new checklist format will pangoize
when it displays, not when it loads it into the buffer.
* Makefile.am: one make clean, remove the *.py[co]s in the data/ subdir.
* TODO: Notes to define a DTD relative to berlios instead of sourceforge
for the 0.5 release and add commandline parsing to the qa-convert script.
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r207
* ChangeLog: Update to (r206).
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r206
* ChangeLog: Update to (r204).
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r205
* BUGS: Note to change configure.ac to detect pygtk as a python module
rather than the C headers for compiling an extension to pygtk.
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r204
* qa-assistant.spec.in: Run the regression tests from a %check section.
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r203
* qa-assistant.spec.in: Update requirements on pygtk to 2.4.0 and
gnome-python to 2.10.0. Update changelog to 0.4.90.4.
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r202
* TODO: Remove modified actiongroup entry. It's done.
* Makefile.am: Reverse the tests and src directories so src is compiled
before the tests are run.
2005-09-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r201
* src/properties.py:
- class Properties(): Convert the base class from dict to gobject with
a UserDict mixin. We needed to make this a gobject so we can inform
the CheckList when the properties change. Unfortunately
gobject.GObject and dict conflict when trying to multiply inherit.
gobject.GObject and UserDict.DictMixin work okay, though.
- Define __gsignals__ with one signal, 'changed' which informs other
objects when the properties are updated.
- __init__(): define self.storage as a dict which holds the classes data.
- Change references to the dict superclass to self.storage.
- __setitem__(): emit the changed signal when the properties are changed.
- __delitem__(): New function that takes care of deleting a key from the
_sortedKeys array and self.storage's dict.
- getitem(), __contains__(), __iter__(), iteritems(), has_key(): map onto
self.storage's functions.
- __repr__(): Map onto self.storage's __repr__() instead of gobject's
__repr__ as it's more informative.
- Register the Properties class as a gobject.
* src/checklist.py: emit our changed signal when we receive the Properties
changed signal.
* src/checkload.py: Fix the error dialogs to use the druid as their parent
rather than the QAReviewer window. Otherwise the druid window would
sometimes be below the main window after an error dialog was displayed.
* ChangeLog: Update to (r200).
2005-09-12 Toshio Kuratomi <toshio@tiki-lounge.com> - r200
* src/checklist.py:
- Create a __gsignal__ dict in CheckList to handle gobject signals. This
change was waiting on pygtk-2.4. Can now also convert to using
__gproperty__ for attributes that make more sense as a gobject
property.
- Add a changed signal. This is emitted whenever the checklist is
changed. Still need to hook up a changed signal to properties and
catch it here for reemission.
- Note that the colorization functions really belong in the checkview,
not here.
* src/qareviewer.py: Enable the modified menus (Just save for now) when the
checklist hasa been modified.
* src/checkload.py: Enable the modified menus when the checklist has been
modified. Now that we can use __gproperties__ without worries, we need
to move this block of functionality from checkload.finish() into
QAReviewer.
* src/ui.py: Move the Save As action from the modified group into the
checklist group as it can make sense to save a new copy of a checklist
even if it hasn't changed.
* TODO: Note to convert from __gobject_init__() to gtk.CLASS.__init__(self)
as this is working in pygtk-2.4.
2005-08-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r199
* src/qareviewer.py: save_cb(), save_as_cb(): Set the 'modified'
actiongroup to insensitive whenever we successfully save a file.
* ChangeLog: Update to (r198).
2005-08-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r198
* src/qaapp.py: Remove this file.
* src/qa-assistant.pyin.in: Create a QAReviewer instance directly instead
of going through qaapp.
* src/Makefile.am: No longer provide qaapp.py.
2005-08-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r197
* src/review.py: publish(): Utilize the checklist functions footer()
function.
* src/functions.py:
- get_ui():
+ Pass the QAReviewer instance into this function so it can be
used as extra data for every callback.
+ Create the gtk.ActionGroup here instead of returning the tuple for
the calling function to create.
- publish_cb(): Utilize the QAReviewer instance passed via the action's
parameters instead of getting it from qaapp.
* src/qareviewer.py:
- __init__(): Change mergedMenus into a dictionary. We can hold both the
mergeId of the ui manager def and the actionGroup in this.
- __load_checklist(): Remove the old menu definitions before adding the
new one.
* src/checkload.py: Remove the old menu definition before adding the new
one.
* BUGS: Note that checkload.py has some code duplication with
qareviewer.py that needs to be fixed. Remove Druid on New as that's
completed.
* TODO: Remve uimanager entry and automatic hashing of data files as those
are done. Add a note to separate error dialogs from widgets and enable
the 'modified' actiongroup via change signal notification.
* data/fedoraus.py: Modify get_ui() to reflect the functions.get_ui()
usage.
* data/fedoraus.xml: Make hash="@@hash@@" again. That way nullhash
works on he in progress copy.
2005-08-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r196
* gen-hash.py: New script to generate hashes of the checklist function
files when creating the distribution tarball.
* src/preferences.py: Fix a typo.
* src/functions.py:
- Remove most references to qaapp. This allows the unittests to run to
completion. Unfortunately there is still a problem with publishing
the review. This is broken in this revision.
- Add a toolbar item for Publishing the Review to a file.
* src/checklist.py: Check for a function file in the same directory as the
checklist if it is not found via gnome.program.locate_file().
* src/qaglobals.py.in: Add lastReviewDir() as a global variable.
* src/qareviewer.py: Rename callbacks from on_menu*activation to *_cb form
when invoking them from other callbacks.
* src/ui.py: Add keyword expansion.
* src/Makefile.am: Remove the install-data-hook that recompiles the python
files. I've switched to an automake version that's been fixed.
* tests/checklisttest.py: Separate tests using minimal-valid.xml and
fedoraus.xml. This allows us to test a minimal checklist as well as an
all bells and whistles one.
* tests/creationtest.py: Use softwarerelease.xml in this set of tests as
we test the checklist in checklisttest.py. This one is just to test
the functioning of checkview.
* TODO: Note a whole slew of finished things.
* Makefile.am: Add gen-hash.py. Use it in a dist hook so the distributed
function files get hashed.
* NEWS: Add qa-convert announcement to the list of 0.5 changes.
2005-08-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r195
* Housecleaning: Move the qa-assistant/trunk directory to the toplevel.
Now have to svn switch my working copy to the new URL. If all goes
as planned this should just be::
svn switch svn+ssh://svn.berlios.de/svnroot/repos/qa-assistant/trunk
2005-08-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r193
* ChangeLog: Update ChangeLog to r192.
2005-08-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r192
* src/review.py: Add a newline to the end of the header.
* src/functions.py:
- Import global variables from qaglobals again. This is a phase out of
the ill-conceived qaapp concept. qaap is problematic because it
pushes gnome knowledge all around the source-code where it's otherwise
not needed. It also leads to some interesting circuar dependencies.
+ Remove references to qaapp.app.ReviewerWindow and make them None
when creating new dialogs. Not sure if this is best or if we'll need
to get a reference to the ReviewerWindow by passing it in.
- BaseQAFunctions::footer(): Use qaglobals values instead of getting them
from qaapp.
- BaseQAFunctions::get_menu(): renamed to get_ui(). Returns a list of
tuples of ui manager definition strings and lists for generating
gtk.ActionGroups. Depending on how this works out in qareviewer.py,
generation of ActionGroups may take place here instead.
- BaseQAFunctionsMenu: Removed this class. We're now using get_ui() to
return the ui string and ActionGroups instead.
* src/qareviewer.py:
- Now utilizing the new ui.UI class to load the uimanager. Move the ui
definition to ui.py.
- Load the menu and toolbar from a uimanager subclass (ui.UI). This
frees us from having to keep a qamenu for the functions as well.
Instead we merge and unmerge the menu from the uimanager. Still need
to unmerge the actionGroups.
- Mass renaming of callbacks from the on_menu_new_activate() form seen
in glade to the simpler new_cb() form. Also changed the parameters
as they're now called through the gtk.Action interface.
- Changed the order of callbacks to reflect the organization within
ActionGroups in ui.UI.
* src/checkload.py:
- __init__(): Set up so properties must be filled in when starting a
new review from within the program as well as on startup.
- finish():
+ Set the checklist ActionGroup active when we load a checklist.
+ Load the QA Menu into the uimanager.
* src/ui.py: New file that sets up the uimanager instance for the program.
class UI subclasses uimanager and provides a specific instance tailored
to our program's menus and toolbars.
* src/Makefile.am: Add ui.py.
* TODO: Notes to add i18n, unmerge actiongroups from uimanager, fill the
checklists with the relevant hashs for their function files, and document
qa-assistant. Remove nullhash note as that's been added.
* data/fedoraus.py:
- Remove comments copied from the old fedoraus.xml checklist.
- Create a get_ui() function that gets the uimanager information from
the BaseQAFunctions and adds the SRPM specific functions to it.
- Placeholder for an SRPM callback.
* data/checklist.dtd: Add nullhash to the acceptable hashtypes.
* data/fedoraus.xml: Change single quotes to double quotes. This is
an artifact of writing an automated tool to generate the hash/hashtype
for the functions item.
* Makefile.am: Add a gen-hash.py helper script into the dist-hook. This
is run during make dist to hash the values in the functions files and
enter them into the checklist.
* glade/qa-assistant.strings: Updated with the new glade file.
* glade/qa-assistant.glade: Updated to remove the menubar and toolbar.
uimanager now takes care of this instead of glade.
2005-06-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r191
* src/checklist.py:
- Implement a NullHash class that returns a value that will match @@hash@@
in the xml file. We can use this to create and test function files
and then replace it with real hash values before release.
* data/checklist.dtd: Add nullhash to the list of available types.
* data/fedoraus.xml: Change the hash type to nullhash and the value to
@@hash@@.
2005-06-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r190
* src/checklist.py: Revert locate_file() fix in this file as it was
correct before.
2005-06-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r189
* ChangeLog: Update to r1888.
* src/checklist.py, src/checkload.py: Fix calls to locate_file().
2005-06-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r188
* ChangeLog: Update to r186
* src/error.py: New exception UnknownHashType when a checklist specifies
a hash that we don't recognize.
* src/treetips.py: Wrap some long lines in the code.
* src/review.py:
- Docstring for the Review widget.
- Do not save the value returned from a message dialog if we don't use it.
- Use the checklist functions to output the header of the review.
* src/gnomeglade.py: Remove locate_file() as we now use the standard one
provided by gnome-python-2.6.
* src/functions.py:
- __init__(): Take a checklist instead of properties as subfunctions may
need the full data available in the checklist.
- header(): Return the checklist.resolution by default.
- add_item_cb(): The gtk.combo_box does not need to add entries via
append_text() so get rid of that call.
- Switch away from qaapp to self.checklist. qaapp is a bad solution and
I'm trying to phase it back out.
* src/checklist.py:
- Add a __revision__ variable.
- import functions with namespace to match the rest of my local imports.
- Assign the enum-like types showing position in the TreeStore via
a range function to be easier to add more items to.
- __init__(): Rename variable functions to funcs to not conflict with
import functions namespace.
- Convert from using the string join() function to string join() method.
- Wrap lines of code that are over 80 columns.
- _load_functions():
+ Write a docstring to tell how it works.
+ Fix bug where we were constructing a path with a data variable
instead of a 'data' string.
+ Convert to use the gnome.locate_file() function.
+ Fix typo in import of sha module.
+ Output the functionFile instead of the Hash in error messages.
+ import the functionFile instead of attempting to import the
functionHash.
- __no_display_parse_error(): Convert str to strng to not conflict with
str keyword.
* src/qareviewer.py:
- Start to define the Menu and toolbar as a uimanager format.
- Create but don't actually use the uimanager.
- Convert to gnome.program.locate_file().
* src/propview.py: Remove note to create a widget to set properties as it
has been completed.
* src/checkload.py:
- Change a generic exception to a more specific libxml2.treeError check.
- build_properties(), build_end(), properties_create(), finish(),
close_druid(): doctring documentation.
- Wrap lines longer than 80 columns.
* src/gpg.py:
- Migrate from using string functions to string methods.
- Docstring documentation for all functions.
* src/Makefile.am: Add functions.py.
* README, configure.ac: Update dependencies to gnome-python version 2.10.
* TODO:
- Add section on checklist/checklist-function security.
- Remove gnome-python section as it is merged.
* data/fedoraus.py:
- Import functions instead of qaconst.
- Switch to string assignment from list appending as it's faster and
more legible for the small stuff that we're working with.
- Temporarily comment out the code to get MD5Sum information as the data
isn't available for extraction.
* data/fedoraus.xml: New hash value for fedoraus.py. Need to implement a
NULL hash that will always match for testing new checklists and change the
hash at build time.
2005-05-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r186
* src/error.py:
- Make CannotAccessFile subclass IOError.
- InvalidFunctions: New exception to show that functions were not valid.
* src/qaapp.py: New file that holds a reference to the program for global
reference.
* src/qa-assistant.pyin.in: Simplified to use the global qaapp object.
* src/functions.py:
- Use qaapp to get the program reference.
- Start coding a uimanager description of the qa menu. We're switching
to return a uimanager xml format rather than a gtk.Menu.
- BaseQAFunctions: Only take a Properties object to initialize, not the
full checklist.
- get_menu(): new function that returns a gtk.Menu. Will switch to a
uimanager xml string soon.
* src/checklist.py:
- Load and save the new functions xml format instead of the old one.
import functions module for this.
- New variables functionHash, functionHashType, and functionFile to
hold the new function information. functions has been removed.
- _load_functions(): New function to load a function file and verify
it is valid according to the information in the checklist file.
import gnome, os, and sys to support this.
* src/qareviewer.py:
- Removed FIXMEs: additional properties [done], qamenu from functions
[done], checklist header loading [done].
- Load qamenu from the checklist's functions instead of genericqa.
* src/checkload.py:
- Load qamenu fromchecklist.functions.
- Fix propblem when loading a review where all the properties were not
being saved.
* src/Makefile.am:
- Remove genericqa.py and add qaapp.py.
- Create a noinst_PYTHON target for qa-assistant.pyin and
qa-convert.pyin as those are auto-generated.
* ChangeLog: Update to (r185)
* configure.ac: Bump version to 0.4.90.4.
* data/fedoraus.py: Start of the functions file for the fedoraus.py
checklist.
* Makefile.am: Add data/fedoraus.py.
* NEWS: Bump version to 0.4.90.4
2005-04-26 Toshio Kuratomi <toshio@tiki-lounge.com> - r185
* src/properties.py: Remove functionType from PropEntry.
* src/genericqa.py: Moved to functions.py
* src/functions.py: Significant rewrite of genericqa.py. The new
architecture creates functions.BaseQAFunctions which may either be
used as the default functions for a checklist or inherited by function
modules specific to the checklist.
- header(), footer(): Output headers and footers for a review.
- add_item_to_checklist_callback(): renamed add_item_cb().
- publish_callback(): renamed publish_cb().
- Convert resEntry from gtk.OptionMenu to gtk.ComboBox.
- Begin work on implementing the Qa Menu as a separate class.
* src/checklist.py:
- import qaglobals instead of qaconst.
- Remove functionType from the checklist load and save code.
* data/minimal-valid.xml: Remove the functions entry as it's now optional.
* data/checklist.dtd:
- Remove functionType. Only one type is now listed within the checklist.
- Add a HashType for sha1 or md5.
- Make functions an optional element of checklist.
- If a functions element is present, it now has a filename to use to load
checklist functions from. It also contains a cryptographic hash of the
file so we can eventually trace where checklist functions come from.
(Will also have to implement signed checklists.)
* data/fedoraus.xml:
- Remove functionType information.
- Remove the list of functions and replace with a hash of fedoraus.py.
* data/softwarerelease.xml: Remove functions as they only list the generic
ones.
2005-04-26 Toshio Kuratomi <toshio@tiki-lounge.com> - r184
* src/gnomeglade.py:
- Add properties to the Gnome Program via gnome.program_init() rather than
after the fact. This was added to gnome-python in 2.6.x.
- Rename file variable to gladeFile and gladeFile to gladeXML so we don't
rebind the python builtin file object.
* src/qaconst.py.in: Renamed to src/qaglobals.py.in.
* src/preferences.py, src/review.py, src/checkview.py, src/checkload.py:
- import qaglobals instead of qaconst
* src/qareviewer.py:
- Send HUMANPROGRAMNAME to the GnomeApp __init__() to set as part of
gnome.program_init() instead of trying to set it ourselves after the
program is created.
- Do not set lastSRPMDir. This must be done by the srpmqa functions
module.
- import qaglobals instead of qaconst.
* src/qa-assistant.pyin.in: Remove executable permissions.
* src/gpg.py: Remove import of qaconst. This module doesn't use it.
* src/Makefile.am:
- Rename qaconst.py/qaconst.py.in to qaglobals.py/qaglobals.py.in.
- Add qa-assistant.pyin and qa-convert.pyin to the nodist target.
- Add qa-assistant.pyin.in and qa-convert.pyin.in to EXTRA_DIST.
* README: Note we plan to move to gnome-python 2.10 for locate_file()
* configure.ac: Change qaconst.py to qaglobals.py.
2005-04-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r183
* Rename qa-assistant.pyin qa-assistant.pyin.in and qa-convert.pyin to
qa-convert.pyin.in because the files are now processed first by the
configure script.
2005-04-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r182
* qa-assistant.desktop.in: Add a generic name field
* ChangeLog: Update to r181
* src/qa-assistant.pyin: Change to replace the python interpreter from
the configure script.
* src/qa-convert.pyin: Change to replace the python interpreter from the
configure script.
* configure.ac: Add generation of qa-convert.pyin and qa-assistant.pyin.
2005-04-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r181
* src/propview.py: Change the labels for the properties to be red as well
as italic.
* ChangeLog: Update to r180
* BUGS, PREFERENCES: Note the pieces of the Properties infrastructure that
have been completed.
2005-04-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r180
* src/review.py: publish(): Check that required properties are all entered
before printing a review. If they aren't entered, popup a dialog
prompting the user to finish entering the information in
Edit::Properties before continuing.
* src/propview.py:
- PropertiesView: create_layout(): Italicize properties that must be
entered.
- PropertiesDialog: _ok_button_cb(): Check that required properties are
entered, otherwise popup a dialog to finish entering the required
properties.
* src/checkload.py: Check that all required properties have been entered
before leaving the property entry page. If they haven't, keep the user
on that page.
* ChangeLog: Update to (r179)
2005-04-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r179
* src/properties.py:
- Rename __sortedKeys to _sortedKeys.
- Add _requirementsMet that caches whether all required properties have
been entered.
- __setitem__(): When adding a value, check whether it means we don't
have all required properties anymore.
- _requires(): New method to check that all requirements have been met.
- requirementsMet: property linked to _requires() for reading whether
all required properties have been entered.
* src/qa-convert.pyin: Add #! line so it's executable by python.
* src/propview.py: Remove message to check for required properties.
Properties handles this.
* src/checkload.py: Remove PROPERTIES as a page to start the druid from.
* tests/propertiestest.py: Test that we properly return whether a set of
properties has all required values set.
* TODO: Note to revamp the Druid as only Druid on new.
2005-03-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r178
* ChangeLog: Update to (r177)
2005-03-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r177
* qa-assistant.spec.in: Rework scriptlets to handle gconf upgrade case.
2005-03-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r176
* ChangeLog: Update to (r175)
2005-03-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r175
* src/propview.py: Show the label that says we don't have any properties.
* README: Note we'll move to newer pygtk and gnome-python soon.
* PREFERENCES:
- Note what's left for the Druid.
- Note that Properties are essentially done.
* tests/treetipstest.py:
- Check creation of TreeTips.
- Add docstrings for all the TreeTip tests.
- Make checking for checkview functionality optional.
* tests/creationtest.py: Remove treetips creation from here.
* configure.ac: Migrate from AC_OUTPUT to AC_CONFIG_FILES.
* TODO: Create a new heading Functions and move all Action/QA Menu/
Function items in there.
2005-03-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r174
* ChangeLog: Update to (r173)
2005-03-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r173
* src/qareviewer.py: Enable the properties menu entry.
* src/propview.py:
- __init__(): Set spacing for the widget to 7.
- create_layout(): Show all the widgets so we don't have to use
PropertiesDialog.show_all() in order to get the widget to display.
- New class PropertiesDialog that displays a PropertiesView in a window.
* src/checkload.py: Do a show of the PropertiesView instead of show_all.
2005-03-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r172
* README: Update libxml2 version requirement to 2.5.0.
* configure.ac: Add a check for libxml2 2.5.0 or higher.
* TODO: Remove Druid note as it's completed.
* Makefile.am: Add the noinst_DATA files to EXTRA_DIST so they'll be
included in the tarball.
2005-03-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r171
* src/checkload.py:
- Import libxml2.
- __init__(): Only include .xml files in the list of checklists.
- build_selector(): Implement a pretty name::summary for checklist
display that utilizes the libxml2.newTextReader() interface.
2005-03-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r170
* src/checklist.py: Move appending SaveFile to a CheckList name attribute
to when we save the file rather than when we load it. This is slightly
less efficient but prevents us from changing the name too early.
2005-03-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r169
* data/sample-save.xml: Remove sample-save.xml as we don't use the qasave
file type anymore.
2005-03-05 Toshio Kuratomi <toshio@tiki-lounge.com> - r168
* src/treetips.py: __init__(), __compute_tooltip_position(): Changed
docstrings to conform to the docutils convention for inline function
documentation.
* src/checklist.py: publish(): Changed to only output a properties node
if there are property nodes to fill it with. This conforms with the
published DTD.
* src/propview.py:
- Added toplevel documentation.
- __init__(): Changed to always create a layout.
- create_layout():
+ Create a label stating there are no properties to set on a checklist
if this is so.
+ Output a label of <No value> when an auto prop is not set.
+ Call _change_property() to set the new property value when the
entrty is changed.
- _change_property(): Set the model from the entry.
* src/checkload.py: Another place to change PropertiesWidget to
PropertiesView.
* ChangeLog: Update to (r167)
* data/minimal-valid.xml: Add a minimal checklist to test that we don't
fail when we have the minimum specification from the DTD.
* Makefile.am: Add the minimal-valid.xml as a non-install data file.
2005-02-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r167
* src/checkload.py: Rename PropertiesWidget object to PropertiesView.
2005-02-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r166
* src/propview.py: New module that creates a widget PropertiesView that
allows displaying and setting the Properties.
* src/checkload.py:
+ build_properties(): Remove the placeholder and use the PropertiesView
widget instead.
+ properties_create(): Fill the PropertiesView with the Properties from
the current CheckList.
* src/Makefile.am: Add propview.py.
* BUGS: Note that gtk.TreeStore.set() performance may not be possible.
2005-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r165
* tests/propertiestest.py:
+ Add check that keys are correctly returned as FIFO order.
+ Set expansion of svn:keywords Rev, Id, Date.
* configure.ac: Up version to 0.4.90.3.
* Up version to 0.4.90.3 and add note about implementing properties.
2005-02-22 Toshio Kuratomi <toshio@tiki-lounge.com> - r164
* src/properties.py:
+ Add svn:keyword expansion for Rev and Id
+ keys(): Removed unused sorted argument.
* src/review.py: Added import of gobject.
* src/preferences.py: Remove import of os.
* src/checkview.py: Added import of gobject.
* src/checklist.py: Fix value entry. Needs to be set into the propEntry
rather than a local variable.
* src/qareviewer.py:
+ Added import of gtk.glade.
+ Note that on_menu_new_srpm_activate() is totally broken.
* src/checkload.py: Note that we need to replace the file checker with the
new FileSelector.
* src/gpg.py: Add svn:keyword expansion of Rev and Id.
2005-02-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r163
* src/properties.py:
+ PropEntry:
- Add a functionType attribute.
- Initialize all values to None and empty list.
+ Properties: Note that we still want to add type checking and the
ability to invoke functions to set properties.
* src/checklist.py:
+ Remove the private __Properties class. Replaced by PropEntry.
+ __init__():
- self.properties now instantiates a properties.Properties object.
- Rename local var properties to props so it doesns't conflict with
the properties module.
- Fill a PropEntry and add it to self.properties rather than using the
__Properties private class and putting it in a private list.
+ publish(): Retrieve values from the Properties object to set into the
savefile.
* tests/testchecklist.py, tests/checklisttest.py: Renamed testchecklist.py
to checklisttest.py.
* tests/testtreetips.py, tests/treetipstest.py: Renamed testtreetips.py to
treetipstest.py.
* tests/Makefile.am: Change names on all renamed files.
* tests/testcreation.py, tests/creationtest.py: Renamed testcreation.py to
creationtest.py.
* tests/test.py:
+ Change names on all renamed files.
+ Add the propertiestest module to the set of all tests.
2005-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r162
* ChangeLog: Update to (r161).
2005-02-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r161
* src/properties.py:
+ Add a PropEntry class for getting information into and out of the
Properties class.
+ Move PropertiesWidget out to another class.
+ __init__(): Keep the keys in a __sortedKeys variable. This is
structured in terms of what order these were added.
+ __setitem__(): Override Properties[] so we can set values or add new
values through this interface.
+ keys(): Override keys to return __sortedkeys.
+ Remove all thoughts on ordering according to dependency. We will
depend on checklist authors to define the order that properties should
be displayed for filling out instead.
* src/srpmqa.py: Make Properties inherit from object so it's a newstyle
class. This class is soon to be phased out, though.
* src/SRPM.py: Make Properties inherit from object so it's a newstyle
class.
* BUGS: Note that the persistence of directories seems to be brokem right
now.
* PREFERENCES:
- Remove most preferences info as it's now implemented.
- Bunch of Properties and Function notes that may be out of date compared
to the implementation.
* tests/testchecklist.py: Move tearDown() near setUp().
* tests/propertiestest.py: Unittests for the properties object.
* tests/testtreetips.py: Move tearDown() near setUp().
* tests/Makefile.am: Add propertiestest.py.
* TODO: Note to merge paths.py.pyin with qa-assistant.pyin.
2005-02-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r160
* src/properties.py: New properties module that has an object to hold
properties data and an object to display properies data.
2005-02-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r159
* src/qa-assistant.pyin: Add commented out code to debug libxml2 memory.
* src/srpmqa.py: import SRPM so SRPM evaluation works.
* src/checklist.py: __init__(): Be sure to free the checkFile when we
hit error conditions.
* tests/testchecklist.py:
+ New test suite TestCheckListCreation: For testing CheckList creation.
+ Move test0_CheckListCreateSuccess(), test_CheckListInvalidFile(),
and test_CheckListNotAFile() from testcreation.py.
+ New function test_CheckListCreateMemoryTest(): To test that the
CheckList doesn't leak memory through libxml2.
+ suite(): Adapt suite() to use the new creation functions as well.
* tests/testcreation.py: Move the CheckList creation functions into
testchecklist.py. Trying to move all the creation functions into the
unittests for that module.
* TODO: Add some notes on reimplementing uninstalled files.
2005-02-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r158
* src/properties.py: Delete the present properties.py preparatory to adding
a new implementation.
* src/srpmqa.py: Add the code from properties.py here. It may be useful.
This files will be whittled down as we implement properties and functions
and removed by the time we release 0.5.
2005-01-31 Toshio Kuratomi <toshio@tiki-lounge.com> - r157
* src/error.py: Add InvalidResolution when the CheckList resolution is not
listed in resolutionList.
* src/review.py:
+ publish(): Print out a header of PUBLISH +1 or NEEDSWORK for the review.
- Format the output so the category headers have a blank line before and
no blank after.
* src/checklist.py:
+ add_entry(): Make resolution default to the first type in the
resolutionList.
- Check that the resolution is in resList, else raise an exception.
- Check that the resolutions from resList are in outputList, otherwise
enter them as blank entries.
* tests/testchecklist.py:
+ Give each unittest a short docstring explaining what it does.
+ test_0CheckListUnpangoize(): Set to be run before any other functions
as some of the other unittests use unpangoize_output().
+ New functions;
- test_CheckListAddEntry(): Check that we can add entries using
checklist.add_entry().
- test_CheckListAddEntryDefaultValuesOk(): Test that adding entries
using default vaues yields an entry with the default values we think
it should.
- test_CheckListAddEntryExplicit(): Test that adding entries using
explicit values save entries with those explicit values.
- test_CheckListAddEntryInvalidRes(): Test that adding entries with
resolutions not in the resolutionList fails.
- test_CheckListAddEntryDuplicate(): Test that adding entries that
are duplicates of other entries fails.
- test_CheckListAddEntryIncompleteOutputList(): Test that adding
entries with outputlists that do not include all the resolutions in
resList causes the outputlist to grow.
- Note that publish() and set() still have to be tested.
2005-01-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r155
* ChangeLog: Update to (r154).
2005-01-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r154
* src/error.py: Add an exception NotGPGCompatible for when the user
specifies a gpg program that isn't gpg call compatible.
* src/preferences.py: create_gpg_ids_list(): If we have an old list of
identities and the gpg command isn't giving us a new list, keep the
old list.
* src/review.py: Handle the case where the gpg command has been specified
incorrectly.
* src/gpg.py:
- list_secret_keys(), sign_buffer(): Check that the specified file
could possibly be a program before attempting to invoke it.
- list_secret_keys(), sign_buffer(): raise a NotGPGCompatible error
when the program doeosn't respond to our commandline options the way
we expect.
- All GPGError exceptions take a msg argument. Give a message argument
each time we raise one.
2005-01-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r153
* ChangeLog: update to (r152).
2005-01-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r152
* src/preferences.py:
- __init__(), set_gpg_identity(): Fix signing combo to properly set
whether it's changed by typing or selecting from the dropdown menu.
- creat_gpg_ids_list():
+ clear the dropdown menu before creating a new list of ids.
+ Now do a full match of the gpgIds rather than a substring. This
is because several keys could have similar IDs yet be different.
- change_gpg_path(): Prepend "self." to call to create_gpg_ids_list.
- set_gpg_path(), set_state_dir(): properly set the program and state
directory whether the entry is typed in or selcted from the
FileChooser.
* BUGS: Preferences BUGS fixed.
2005-01-05 Toshio Kuratomi <toshio@tiki-lounge.com> - r151
* src/genericqa.py: Add note to convert OptionMenu to ComboBox. Deferring
because genericqa.py is being phased out and it's not yet clear
whether the code will be reused or go away.
* src/review.py: __update_date():
- Create the review key from Summary after checking whether summary is
valid yet.
- If the output string in the checklist is not yet set, set it to the
empty string so the review label is set correctly.
* src/checklist.py: set(): When changing the resolution, automatically
change the output only if an outputlist has been set in the checklist.
This fixes a bug when the user adds custom entries.
* BUGS: Note that there's a bug somewhere in the preferences dialog
with handling gpg_path/gpg_id and other ComboBoxEntry widgets.
2005-01-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r150
* ChangeLog: Update to (r149)
2005-01-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r149
* qa-assistant.spec.in: Update ChangeLog to latest version.
* data/softwarerelease.xml:
- Fix a typo in make distcheck
- Remove duplicate make distcheck entry.
- Add a descriptive entry to the runs fine entry.
2005-01-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r148
* src/Makefile.am: Add preferences.py
2005-01-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r147
* src/Makefile.am: Add gpg.py to the list of files.
2004-12-30 Toshio Kuratomi <toshio@tiki-lounge.com> - r146
* src/error.py: Add exceptions returned by our gpg module.
* src/review.py:
- Import gconf, our gpg and error modules.
- Retrieve gpg information from gconf.
- publish():
+ Change outBuf from a list of lines to a string.
+ Sign the review
* src/gpg.py:
- get_passphrase(): function to popup a dialog that takes a passphrase
from the user.
- sign_buffer(): Fix the gpg invokation to process the output correctly.
* README:
- Update requirements to python 2.3 and pygtk 2.4.
* PREFERENCES: Update preferences to done once tested.
* configure.ac:
- Update python requirement to 2.3
- Update version to 0.4.90.2
- Update pygtk requirement to 2.4
* TODO: Move Preferences to need testing.
* NEWS:
- Up version to 4.90.2
- Added preferences and druid to new features.
2004-11-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r145
* src/preferences.py:
- If help button is pressed, print a message that there is no help.
- When Ok button is pressed, close and destroy the dialog.
* src/qareviewer.py:
- Set icons for Preferences Dialog and Druid.
- Delete the about dialog when we're done with it.
* BUGS: Remove note to set icons.
* glade/qa-assistant.glade: Rename preferences window help button and ok
button so we can access them from code.
2004-11-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r144
* ChangeLog: Update to (r143)
2004-11-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r143
* src/error.py: Note that we need to add exceptions for gpg errors.
* src/preferences.py:
- Watch the /apps/qa-assistant gconf dir for changes.
- Use default values from gconf schema when the preference is not set to
a correct value.
- Set Tooltip decriptions options insensitive when we disable them.
- Set gpg options insensitive when we disable GPG signing.
- Able to set the gpg options and file options now. (Should cover
all the current preference options.)
- New function create_gpg_ids_list(): Create a list of gpg ids we can sign
with. This is used to populate the GPG signing ID ComboBoxEntry.
- New function change_gpg_path(): updates the gpg_ids_list when the path
to gpg changes. In case the new program uses a different keyring.
- New function toggle_desc_optionsi(): Toggles description/tooltip options
sensitivity depending on whether or not we have elected to use the
Description tooltips.
- New function toggle_gpg_options(): Toggles gpg option sensitivity
depending on whether or not we have enabled signing of reviews.
- New function set_use_gpg(): Sets and unsets use-gpg in GConf depending
on what the user has selected in the dialog.
- New function set_gpg_path(): Sets the path to the gpg program in gconf.
- New function set_gpg_identity(): Sets the user's chosen gpg identity in
gconf.
- New function set_state_dir(): Sets the user's chosen state-dir in gconf.
* src/checkview.py: Handle getting invalid values in gconf by getting the
default gconf values when the normal settings are invalid.
* src/checklist.py: Handle getting invalid values in gconf by getting the
default gconf values when the normal settings are invalid.
* src/qareviewer.py: Properly show the preferences dialog.
* src/gpg.py: New file withh functions to handle getting gpg to do things
for us. Eventually we'll move to using gpgme instead.
- New functions list_secret_keys() and sign_buffer().
* BUGS: Note that we need to get icon/logo properties working for the Druid
and Preferences windows.
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- Properly name some entries so we can refer to them from our code.
- Change the layout of the Misc tab to group Path to GPG selection with
the other gpg options.
2004-11-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r142
* glade/qa-assistant.glade, glade/qa-assistant.strings: Add entry to give
the path to gpg.
* qa-assistant.schemas: Add an entry files/gpg-path to store the path to
gpg.
* BUGS: Remove note that display tooltip wait syncs too much as this is
now fixed.
* src/preferences.py: Connect to the description wait timeout spinbutton's
focus-out-event signal instead of value-changed. The value-changed
method causes us to set the gconf preference several times per change.
focus-out only changes it once.
- Add the Rev and Id keyword expansions.
2004-11-26 Toshio Kuratomi <toshio@tiki-lounge.com> - r141
* src/optionrenderer.py:
- Removed some old commented out code
- Set optionlist and selectedoption gproperties to empty list and string
on init respectively.
- alert_changes(): pass in the oldValue of the row rather than getting it
from the selectedoption property. For some reason selectedoption is
'Needs-Reviewing' when we run through here, leading to too many sets
of the resolution in our checklist.
- display_options(): send the proper value of selectedoption to
alert_changes() from here.
* src/preferences.py: New preferences dialog instantiated from glade.
Callback code and initialization into a dialog widget here.
- Much of the setting of gconf values is done but a little bit remains.
The largest problem is that gpg support has to be added in.
* src/checkview.py:
- Make checklist an optional argument to __init__().
* src/checklist.py:
- Fix noAutoDisplay; it needed parans to make the logic correct.
- Fix getting colors from gconf. Before, we could fail if there wasn't
a string in the gconf value.
- Use default values from the gconf schema if the writable gconf values
are broken.
* src/qareviewer.py:
- Rearrange menu callbacks to match what we see in the menus.
- Enable the on_menu_preferences_activate() callback to popup our new
preferences dialog.
* src/checkload.py: Add a way to get at the properties page of the druid.
Probably going to change this to make a separate, embeddable properties
widget that is a view on the checklist model. Then I can embed it in the
druid or embed it in a dialog window for the properties menu item.
* BUGS:
- Note I have to watch stale gconf keys in my local cache when testing
after development.
- Note to try to fix wait time on tooltip display preference syncing so
it doesn't happen so often.
* PREFERENCES:
- gconf schema completed.
- Coding and pref dialog aspect are nearly ready.
- Note in properties section why we can't implement properties as
gobject properties on the checklist.
* TODO:
- Notes on how the QA Functions menu might be taken care of.
- Note that paths.py.pyin might be used to make testing an uninstalled
installation work.
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- New PreferencesDialog code.
- Removed BugzillaDialog code.
2004-11-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r139
* ChangeLog: Update to (r138)
2004-11-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r138
* Split the svn:ignore list for the toplevel and src directory.
2004-11-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r137
* Move all the source files from the toplevel into a src subdirectory.
* Split the Makefile.am into one for the auxiliary files in the toplevel
and one for the sources in the src directory.
* Get GConf install to work right (copied from metacity)
2004-11-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r136
* qa-assistant.schemas: Change keynames to have a hierarchy within the
apps/qa-assistant space. Currently we have the following sections:
user, display, and file.
* checklist.py: Use the new schema key names.
* BUGS: Save method has been fixed.
* data/softwarerelease.xml: New checklist to see if a software package is
ready for release.
* checkview.py: Use new schema key names.
* TODO: A textwrapping Review widget is now a reality.
* qa-assistant.spec.in: Use gconf.
* Makefile.am: Add the new files checkload.py, softwarerelease.xml,
and BUGS.
2004-11-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r135
* Ignore qaconst.py as it is generated from qaconst.py.in
* optionrenderer.py:
- Remove the string module as it's not used.
- Change setattrs and getattrs that don't use variables to direct
attribute references.
* review.py:
- Remove the gobject module as it's not used.
- Rename sum variable to summary as sum is a python builtin.
* checklist.py:
- Change comparison to False to a not comparison per pychecker suggestion.
- Fix a reference to a node variable that should be propChild.
- Remove logic that sets outputList to itself as it's pretty useless.
- Do not keep a reference to summary XML node as it's never used.
- Do not keep a reference to value XML node as it's never used.
- Fix mistake in publish where we need to use self.filename instead of
the passed in filename so that qareiwer's save (as opposed to save as)
works.
- Moved return statement for __change_color() to the end of the function.
- Do not keep a reference to description XML node as it's never used.
* qareviewer.py:
- Get rid of startLabel.
- Get rid of __check_readiness()
- Popup a warning dialog when we are unable to save a file.
* treetips.py: In __paint_window(), use the passed in window instead of
self.tip_window.
* ChangeLog: Update to (r134).
* gnomeglade.py:
- Rename list variable to widgetList to not override python builtin.
- Rename dir variable to directory to not override python builtin.
* srpmqa.py: Add __check_readiness() from qareviewer.py until we know if
we're going to need the code there or not.
* checkview.py: Spelling correction in docstring.
* checkload.py:
- Set the window title depending on how we're using the druid.
- Dummy properties page so people don't wonder what the empty page
is for.
- Fix the selector page checker to catch when the user did not select a
checklist at all.
- Set keywords Id and Rev.
* TODO: Notes on what needs to change on the pygtk-2.4 update.
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- Remove the new menu as we use the druid to handle selecting a
new checklist and then filling in the new property values instead
of loading the property values directly.
- Remove startLabel as we don't use it anymore.
- Remove the druid as it's all being done programmatically.
2004-11-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r134
* checklist.py:
- Change long lines of strings to not use the '\' character as strings
can simply merge after they've spanned a line.
- Add read and write for summary information.
* qareviewer.py:
- Make sure all instantiations of the druid also show() it.
- Write a new on_menu_new_activate() handler to use the druid to load a
new checklist. Willl have to work on glade files as well.
- Simplify on_menu_open_activate() down to a call to the druid as the
rest of the logic is now part of the druid.
- Point on_toolbar_new_activate() at the menu equivalent instead of
popping up a new1_menu. need to remove that menu from glade as well.
* error.py: Use a call to Exception's __init__() to create the self.args
tuple.
* checkload.py:
- Remove gnomeglade import as its not needed.
- Private constants for the selector's treeview.
- Recode the saving of checklist Filenames in the selector to use full
path information.
- Move the end page creation into its own build_end() function.
- There's now a loader_next() method; set propBackPage there instead of
__init__().
- Get a reference to the selector's gtk.TreeSelection so we can find out
which CheckList file was picked.
- New function: finish() that saves the loaded checklist into the app.
2004-11-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r133
* checklist.py: Comment out do_resolution_changed(). We don't seem to have
any use for it yet.
* qareviewer.py:
- Remove properties as we're nearly done converting to GConf.
- Save a reference to the logo pixbuf.
- Remove all commandline parsing for now.
- Move startlabel initialization into __init__()
- Copious notes on implementing the druid.
- Call to start the druid on program start.
- Remove SRPM_into_properties as this whole thing is getting revamped.
* PREFERENCES:
- Add Druid info.
- Add function info.
- Note other things that get set with checklist specific information.
* configure.ac: Change the version to 0.4.90.1 -- a development release.
* data/checklist.dtd: Add summary tag which briefly describes the purpose
of the checklist.
* data/fedoraus.xml: Add summary tag.
* NEWS: Changed to version 0.4.90.1. Big note that it's a development
release.
* error.py: Gave my base Error class an __init__ to place the msg into a
standard attribute.
* srpmqa.py: Add SRPM_into_properties here. It is just copied verbatim
from qareviewer.py and doesn't do anything useful. But it may have
useful code that we want to hang onto.
* README: Note that 0.5 final will require pygtk-2.4.0 rather than 2.2.0
* checkload.py: New file that instantiates a Druid to get information
from the user for loading new and saved checklists.
2004-10-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r132
* PREFERENCES: Add a section on Functions. Functions and properties remain
to be architected and then implemented.
* tests/test.py: Needed to add the parent directory to the python path to
allow makedistcheck to detect the built python files in the builddir
rather than the ones in the srcdir.
* ChangeLog: Update to (r131)
* gnomeglade.py: Update from using the deprecate gtk.mainloop() to
gtk.main()
* README: Add ReStructuredText markup to list webpages for QA Assistant's
requirements.
2004-10-23 Toshio Kuratomi <toshio@tiki-lounge.com> - r131
* qa-assistant.schemas: Rename key: show-checklist-descriptions ->
disable-checklist-descriptions because gconf returns false when a value
is unset so that makes a better default.
* checklist.py: Use qaconst to import program-wide constants
(specifically GCONFPREFIX).
* qareviewer.py: Use qaconst to import program-wide constants. As part
of this, rename __programName -> PROGRAMNAME, and __programHumanName__ ->
HUMANPROGRAMNAME.
* PREFERENCES: Files and signing preferences are left to do.
* configure.ac: Add qaconst.py to the list of files to generate.
* properties.py: Remove properties that are now generated from gconf.
* genericqa.py: Use app.lastReviewDir instead of properties.lastReviewDir.
* treetips.py: Change the maximum timeout for treetips from one second to
one minute.
* checkview.py:
- Import program-wide constants from qaconst.
- Use gconf to set preferences on displaying the treetip help text.
+ New function: __change_treetip_show() to toggle displaying the help
on and off.
+ New function: __change_treetip_delay() to change how long the mouse
must hover before the tip pops up.
- Remove executable from the checkview. Set Id and Rev keywords.
* qaconst.py.in: New file to hold program wide constants.
* Makefile.am: Add qaconst.py.in to the files.
2004-10-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r130
* review.py:
- Merged the self.*Title variables that held gtk.Labels for the various
resolution categories into a self.reviewTitles dict. This makes
iteration over it match with self.reviewBoxes and lends itself to
implementing customized headings for these labels.
- Rewrote the publish() method to function with the new widget internals.
This is not complete as CheckList still has to export data regarding
what the header should look like but it does publish a savefile that
is somewhat helpful. (As opposed to being miserably broken before.)
* BUGS: Note to try optimizing away CheckList.set() calls.
* PREFERENCES: Note which objects the remaining preferences may be
implemented within.
* NEWS: Add note about the new Review widget.
* genericqa.py: Check the checklist's resolution to decide whether its
ready to publish or not instead of Review.
* ChangeLog: Update to (r129)
2004-10-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r129
* review.py: Minor reformatting to fit in 80 columns.
* qa-assistant.schemas: Rename auto-display-failed key to no-auto-display
so that having it unset or the default value of false triggers the
auto-displaying of negative entries. This is because gconf defaults to
false when a bool is unset.
* checklist.py:
- Remove addPaths as we don't use it anymore.
- New Private var __GCONFPREFIX for the app prefix.
- Comment variables in __init__().
- New self.colors dict to keep track of thecolors we're setting via
gconf.
- Load the colors from gconf.
- Decide whether to autoDisplay on negative reviews from gconf.
- Start moving from using self.set to gtk.TreeStore.set when we can as
self.set is much more expensive than gtk.TreeStore.set.
- Change all OUTPUT strings from None to empty string.
- Put pangoize into self.set(). Remove it from all other calls.
- Pangoize a string when it goes into OUTPUT, not into OUTPUTLIST.
- Get rid of do_resolution_changed's print. We may get rid of this
altogether. I think everything we'd put in here is now being done
in the set() method.
- set() method reworked to assure resolution happens before OUTPUT and
pangoize happens before the set is done. The whole set() method
feels significantly slower than gtk.TreeStore.set(). We need to
use the base class method when possible instead of self.set().
- New function: __change_auto_display() to handle auto display on fail
being changed in gconf.
- New function: __init_colors() to initialize colors from gconf.
- New function: __color_changed() to change colors when changed in
gconf.
- New function: __change_color() to change the colors of displayed
OUTPUT strings when the colors are changed in gconf.
* qareviewer.py: Change references to last*Dir from using a properties
class to storing as a variable in the QAReviewer class. Preparatory
to getting rid of Properties altogether.
* PREFERENCES: Go into more detail abo9ut what needs to be done and check
off the ones that have been finished.
* NEWS: Add gconf note. Move cut 'n paste to 0.4.1.
* genericqa.py: Remove call to pangoize.
* treetips.py: Use tuples in except clauses to correct an uncaught syntax
error.
* ChangeLog: Update to r123.
* README: Note requirement for pygnome-gconf 2.0.0 or higher.
* checkview.py: Change checklist and cl local variables to checkModel in
display_toggle() and output_edited() to not conflict with checklist
module.
* qa-assistant.spec.in: Correct a syntax error in the spec and update the
changelog.
2004-10-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r123
* qa-assistant.schemas: First cut at encoding preferences into a GConf
schema.
* qareviewer.py: Begin moving the file directories (lastSRPMDir,
lastSaveDir, and lastReviewDir into the app instead of the properties.)
* PREFERENCES: Expand upon what we're doing with preferences and GConf
now that I'm writing the code.
* tests/testtreetips.py:
- Create treetips with an actual TreeView and TreeModel.
- Test reading and setting of all properties.
* treetips.py: Slight clarification to the check for a valid view in the
constructor.
* Makefile.am: Add the GConf schema.
* glade/qa-assistant.strings, glade/qa-asistant.glade:
- Begin work on a preferences dialog.
- Begin work on a Druid for starting from a new checklist.
2004-10-13 Toshio Kuratomi <toshio@tiki-lounge.com> - r122
* review.py: Set labels to be selectable so we can use clipboards to copy
from them. In the future we'll have to work out editing as well.
* BUGS: Move checklist load to Needs Testing.
* qareviewer.py, properties.py: Properties is steadily getting eaten away.
Remove the need to store the checklist filename there.
* qareviewer.py: Code to Cut/copy/paste is now in.
* NEWS: Note that cut and paste should now work.
* ChangeLog: Update to r121
* glade/qa-assistant.glade: Remove the Edit::Clear menu item. It's a bit
ambiguous as to what it means. Functionality probably already exists.
2004-10-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r121
* review.py:
- Allow a new Review to be created without specifying a CheckList.
- BugFix: set newly created labels to use pango markup.
- BugFix: attempt to remove the VBox widgets from self.reviewBoxes
instead of their names.
* BUGS: Noticed that save_as works, but save does not.
* qareviewer.py:
- Stop loading checklist on startup. Yay!
- Create CheckView and Review on startup and add them to our window.
- Get rid of the hacks that destroyed and recreated CheckView and Review
widgets when loading a new checklist. We can now do this with a simple
set_model() call.
- Make sure we're show()'ing the checkView when we load a new CheckList.
- Get rid of pygtk 2.0 bug work around.
* ChangeLog: update to (r120)
* checkview.py: Rename a variable from checklist to cl to fix problem
where I was bashing the checklist namespace.
2004-10-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r120
* review.py:
- Note that publish doesn't work.
- Revert CheckList constants back to module level.
- Remove __resolution_check() as it's now implemented in the checklist.
* checklist.py:
- Revert CheckList constants back to module level.
- Add more values to __Property.
- Fixes to load and save the new, complex properties from the XML file.
- Fixes to load and save the more complex functions from the XML file.
- Add code to __init__() to figure out the category and checklist
resolutions on load. A lot of commonality with __check_resolution().
Look into merging.
- Rename check_category_resolution to __check_resolution.
- Simplify logic in __check_resolution to use else instead of elif.
* qareviewer.py:
- Create the CheckView before loading the CheckList.
- Use CheckView.set_model to set to the new CheckList instead of detroying
the CheckView and recreating it.
- Remove self.properties from a call to create a Review().
* ChangeLog: Update to (r119)
* checkview.py: Made resolution_changed a single line.
2004-10-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r119
* checklist.py:
- Create a resolution attribute that holds the CheckList's resolution.
- Note about workarounds because we can't add custom gproperties.
- Create a resolution-changed signal that is emitted when the CheckList
resolution is changed.
- Temporary do_resolution_changed() signal handler. Doesn't do anything
yet. We may not need to do anything with it.
- set() method that overrides the gtk.TreeStore set method. We have to
do this so we can find out if any rows have had their RESOLUTION
changed. If so, we decide if we should update the category and
CheckList resolutions as well.
- check_category_resolution():
+ now works for both categories and the CheckList's resolution.
+ No longer sets any values except the resolution. These other parts
are done in the self.set() method.
+ Check whether the category is already set to Needs-Reviewing so we
don't set it unnecessarily.
* checkview.py: Remove call to check_category_resolution(). This is
managed entirely by the CheckList now.
2004-10-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r118
* review.py: Set line wrapping in the labels showing the review items.
* tests/test.py: Add treetips to the complement of tests.
* tests/testtreetips.py: A set of tests for the treetips module.
* tests/Makefile.am: Add treetips to the complement of tests.
* treetips.py: Fix a syntax error when checking which property we need
to set.
* ChangeLog: Update to (r117).
2004-10-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r117
* review.py:
- Check that we're being passed a CheckList type.
- Use gtk.VBox.__init__ instead of GObject.__init__.
- No longer use gobject.type_register() because we don't define our
own __gproperties__.
* checklist.py:
- A beginning for signal addition.
- Remove set_output_string()
* tests/testcreation.py:
- Add tests for the Review widget.
- Push CheckView creation back to normal precedence. Our reimplemented
TreeTips don't depend on CheckView but CheckView does depend on
TreeTips.
- Create two more success tries as treetips should now take a normal
gtk.TreeView and No arguments whatsoever.
- Push TreeTips precedence up as it is needed for CheckView.
- Failure test now looks for TypeError as we check that the widget
supports our needed signals rather than explicit types.
* treetips.py:
- Remove random numbers. We should be able to get timeout IDs from a
simple counter (self.unique) instead.
- Add many __gproperties__ supported by gtk.Tooltips.
- Add view and column __gproperties__ for the treeview and column that
we draw our data from.
- Make __init__ able to handle the no argument case.
- Remove check for whether we're passed a gtk.TreeView. Instead, we
check if we get an object with the proper __gsignals__.
- Rename some internal variables to use the publicly available
__gproperties__ names instead.
- Add self.enable() and self.disable() methods to mirror Tooltips.
- do_get_property() and do_set_property() methods to work with the
__gproperties__.
- Using the self.enabled gproperty, it should now be possible to turn
treetips off.
- gobject.type_register() as we now define our own __gproperties__.
2004-10-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r115
* ChangeLog: Update to r114
* genericqa.py: Fix one place where we were setting the outputList to
none values instead of empty string.
2004-10-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r114
* Warning: This commit should display the checklist on the screen fine but
will not publish a review to file. It also will not display any header
information associated with SRPM reviews. Anything that was broken
before is likely to still be broken now. On the plus side, this is
probably the most broken the package will get for a while. The major
architectural changes are done for the next version. There is a great
deal to do, but should be mostly rewriting older features to work within
the new design.
* ChangeLog: Update to r113
* review.py: Major rewrite of the Review widget. Display is mostly
finished but publish does not work and some more reworking of the
interaction with the CheckList/checklist file is needed.
- Removed re and string as functions using them are now in CheckList.
- Remove MyRendererText. The new Review widget does not use a ListView
so it doesn't need a custom Cell Renderer.
- Remove listview positional constants.
- __init__ no longer creates self.properties or takes a properties
argument. All operations on the SRPM (which we got from properties)
will now be done in a header creation function in the checklist.
- Remove self.addPaths and __add_data as the functionality has been
merged into __update_data.
- resolution and hashLabel are replaced with a header label which will
be set from a property on the CheckList.
- The four gtk.ListViews have been replaced with a reviewBoxes dict
that holds four gtk.VBoxes.
- Remove update_hash and __update_hash as hashes become the
responsibility of the CheckList.
- set_model() method to set a data model for the Review to view.
- __sync_checklist() method to sync the Review to a new CheckList.
This replaces and extends __generate_data.
- Significant rewrite of __update_data() using the new
self.entries[SUMMARY] = (RESOLUTION, unique number) and
self.displayList[(RESOLUTION, unique number)] = label and
self.reviewBoxes[RESOLUTION] = label
datastructures. This has the side effect of incorporating the logic
for new CheckList entries entirely into this function.
- Remove __filter_good, __filter_work, __filter_minor, __filter_note as
we aren't using Cell Renderers anymore so we don't have to create
arcane callbacks to transform our data before passing to them for
display.
- Note that most of __resolution_check's functionality is going to be
merged into the checklist.
* checklist.py:
- Set values for outputList to the empty string rather than None. This
works with the new Review widget better.
- Note that check_category_resolution is going to undergo a major
overhaul.
* qareviewer.py: Remove calls to Review.update_hash.
* tests: ignore Makefile, Makefile.in and *.pyc files.
* tests/Makefile.am: Add *.pyc and *.pyo files to the CLEANFILES.
2004-09-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r113
* tests/testchecklist.py, tests/testcreation.py:
- Make this a runnable script so we can run the checklist tests as a
subset of the complete suite.
- Now import the local test module to get path information and other
things global to all tests.
- Change naming format from test* to test[0-9]*_*. This allows us to
define priorities for our tests.
- Make suite a toplevel function instead of a method so it's easily
callable by external programs.
- Call our own suite function to create the test suite. Also check the
results to give a proper return code on exit.
- Add Rev, Id, and Date substitution.
* tests/testcreation.py:
- Add tests for TreeTips and CheckView.
- Change detection of classes from a string test on the type to calls
to isinstance().
* tests/test.py:
- Check for the existence of srcdir environment variable before running
the test. If it's available we use it to enable VPATH builds.
Otherwise default to using modules relative to the current directories.
- Use the suite functions of the test* modules to create the test suites.
- Add Rev, Id, and Date substitution.
* tests/Makefile.am: Change from running test.py to invoke all tests to
the two test modules individually. Not sure if this is more desirable or
not. Will try for a while and see.
- Add Rev, Id, and Date substitution.
* autogen.sh: Change from using the auto* tools individually to using
autoreconf as suggestied in the autoconf info pages.
* treetips.py: Check that the treeview argument to the TreeTips is a
gtk.TreeView.
* ChangeLog:
- Update to r112.
- Fix some spelling and formatting errors.
* TODO: Add a note to finish the unittests.
2004-09-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r112
* tests, tests/testchecklist.py, test.py, tests/Makefile.am,
tests/testcreation.py, configure.ac, Makefile.am: The tests directory
holds unittests for QA Assistant. Currently, there are two in-progress
modules: One that tests creation of new objects. A second that tests
the functioning of checklist objects.
2004-09-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r111
* checklist.py: Correct a syntax error in our lowercasing of entries for
duplication checking that our unittesting framework caught. Need to
start working on merging unittests into the program's build.
2004-09-24 Toshio Kuratomi <toshio@tiki-lounge.com> - r110
* Warning: Untested. Probably broken. Basic changes to the data format.
* checklist.py: Bugfix: When checking for duplicate entries, ignore case
as we probably want to consider "Parts Move", "Parts move", and
"parts move" as duplicates of each other.
* BUGS: Move the duplicate entries bug to testing.
* data/checklist.dtd:
- Add file to the allowed PropType's. I was going to rely on file URL
but have decided a file type makes it easier to know when to open a
file selection dialog.
- Add FuntionType that tells where a function is to be used.
- Add RequireType that tells at what point a Property needs to be known.
- Restructure property element to hold a function that can select the
property's value.
* data/fedoraus.xml:
- Use the new function information for properties.
- Add type information to functions.
2004-09-23 Toshio Kuratomi <toshio@tiki-lounge.com> - r109
* AUTHORS, BUGS, PREFERENCES, NEWS, README, TODO: Small formatting fixes
to make the files ReStructuredText compliant. I can now transform them
all with rst2html to make HTML documentation.
* qareviewer.py: Remove 'None' from a conditional.
* ChangeLog: Update to r108
2004-09-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r108
* checklist.py:
- Removed __added_row from handling __row-inserted signals and
__modified_row from row-changed. Migrate functionality into
add_entry().
- add_entry() no longer returns an iter to the new entry as using
the iter is taken care of in add_entry().
- Fix exception name DuplicateItem instead of DuplicateItemError.
- Fix problem in check_category_resolution() where an iter variable
was split into two when it was renamed.
* BUGS:
- Move five bugs into the fixed/testing category.
- Add note to make duplicate item entry case insensitive.
* genericqa.py:
- The CheckList is now responsible for setting the entries dict.
Remove the code from here that did that.
- Fix exception name DuplicateItem.
2004-09-17 Toshio Kuratomi <toshio@tiki-lounge.com> - r107
* Warning: This is another known broken commit.
* Subversion property mergelog updated to reflect merge from the current
0.4 branch.
* qaconvert.py: File renamed qa-convert.pyin.
* checklist.py:
- Copied the gtk.TreeModel constants back out to the module level.
Have to decide if it makes more sense to be at the module or class
level.
- Throw an exception if the user specified checklist isn't an XML file.
- When loading a checklist savefile, change the revision to an integer.
- Note to see what happens if we move the row-inserted and row-changed
signal handler functionality into the add_entry function.
- Move check_category_resolution method into CheckList from qareviewer.
Should be ported, but still needs to be called by the CheckList when
we open a savefile.
* BUGS: List of known bugs. Currently very long. Helps inform of what
is known to be broken in the current checkin.
* qareviewer.py:
- Move CheckList display into CheckView.py.
- Create a CheckView object to take its place.
* configure.ac: Change the checklist DTD path to version 0.3
* data/checklist.dtd: Lowercase the "url" proptype.
* data/fedoraus.xml: Change ticketURL from type string to "url"
* NEWS:
- Note that checklist is no longer tied to SRPM QA.
- Merge note that distuninstallcheck was fixed in 0.4.1 (r106)
* properties.py: Remove bugzillaURL and bugzillaNumber as the code now
uses in XML properties.
* genericqa.py:
- Use the error module to get the exception values.
- Remove the resolution_changed call from here. Need to test whether
it works automatically in CheckList/CheckView interaction or if we'll
need to write some code to handle this.
* qa-convert.pyin: Renamed from qaconvert.py. This is now a toplevel
program that will convert from qasave 0.1 format to checklist 0.3.
* checkview.py: Functionality moved from qareviewer.py to display a
checklist. Reimplemented as a subclass of gtk.TreeView.
* TODO: Save and load buttons for toolbar is done.
* Makefile.am:
- Add the qa-convert script as a build target.
- Add checkview.py and error.py and removed savefile.py from the
qa-assistant files.
- Add qa-convert.pyin to the EXTRA_DIST
- Overrode the default distuninstallcheck_listfiles to not error on
the XML catalogs. From 0.4 branch (r106)
2004-09-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r105
* savefile.py: Rename to qaconvert.py
* qaconvert.py: Conversion to a script that can read in qasave 0.1 files
and output checklist 0.3 files.
- Changes to allow running as a standalone script
- Rename base class from SaveFile to QAConverter
- Now a subclass of CheckList
- load(): The new __init__().
Changes to initialize an 0.3 format checklist, layer the qasave 0.1
on top, and still have a valid 0.3 format checklist in memory.
- Removed pieces related to saving. We're only loading this format.
Saves take place as an 0.3 CheckList.
- Changes to use the CheckList attributes and publish function to output
a correct 0.3 checklist file.
2004-09-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r104
* Note: Saving and loading checklists should now work entirely with the
new code. There are still some known cosmetic bugs but they are
being worked on as part of the next phase of rewriting.
* checklist.py:
- Create __Property class to save property information.
- Bugfix: Save and load property type information.
- Bugfix: Use the saved value for resolution instead of the default
'Needs-Reviewing' when loading a checklist.
- Bugfix: Whether to display a checklist item in the output was being
set backwards. Fixed.
* qareviewer.py: New plan for moving the category resolution code after
we abstract the CheckView code.
2004-09-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r103
* This revision is known to not create valid savefiles.
* genericqa.py: Remove the checklist import as it's not needed here.
* checklist.py:
- Move treeModel constants into the CheckList class instead of the
module level.
- Many conversions of treeModel constants to reference inside the
class instead of at the module level.
- __init__(): Bugfix properties and functions weren't being extracted
from the XML file at all. This gets them loaded in except for one
issue with properties not loading the type attribute.
- publish(): Bugfix revision needs to be converted to a string before
being saved into the XML.
- Change function output to use newTextChild() instead of newChild().
- unpangoize_output(): Bugfix span tag is now removed properly.
- __xml_to_entry(): Bugfix: the script telling users that an automated
test was unable to run needed to specify None for the language
versions.
* review.py:
- Update the checklist treeModel field constants to reference those
saved inside the checklist rather than at the module level.
- Bugfix indentation problem from iter fixups.
* qareviewer.py:
- Import the CheckList class from the checklist instead of the whole
module.
- Convert from SaveFile to CheckList.
- Update the checklist treeModel constants to reference those saved
inside the checklist rather than at the module level.
2004-09-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r102
* treetips.py, optionrenderer.py, review.py, qareviewer.py: Rename all
variables named iter as it's the name of a python builtin and it's
not that descriptive of what's actually being operated on.
* ChangeLog: Update to r101
2004-09-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r101
* NEWS: Really add notes about updated DTD and support for automated tests.
2004-09-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r100
* Warning: This revision is likely to contain bugs. Possibly serious
bugs. The checklist dtd and checklist.py has been updated to a new
checklist format but the code in savefile.py hasn't. savefile.py is
being phased out in development in favour of the new checklist code.
The main app has not yet been ported over to this code so some parts
are using the new checklist and others are using the old savefile.
The design of QA Assistant means the old and new pieces should be
insulated from each other but this isn't guaranteed.
* error.py:
- Add CannotAccessFile exception for when accessing a given filename
doesn't work.
- Remove InvalidSaveFile as the savefile format is going away.
* genericqa.py: Use new checklist pangoize_output() function.
* savefile.py: Use pangoize_output() and unpangoize_output when loading
and saving information to the XML files.
* review.py:
- Set the checklist in the __init__ method. This is in preparation
for making Review into a gtk.TreeView subclass.
- Use unpangoize_output() when printing a review.
* checklist.py:
- Rename _checklistFileVersion_ to formatVersion and move it inside
the checklist class.
- Remove MODIFIED from the TreeStore entries.
- Added TEST to the TreeStore entries.
- Moved Exceptions to the error module.
- More thorough documentation of the CheckList class.
- Define publicID and canonicalURL strings for the checklist.
- Create a __Test private class for information on the automated
tests that might be included in the XML file.
- Create self.functions and self.properties from the XML savefile
nodes of the same name.
- Save the filename too.
- Change exception names to be uppercase word start since exceptions
are classes.
- Remove checklist "type" attribute as the prop is we're moving to
use "functions" instead.
- Code to extract the base element from the checklist.
- Rename all variables named "iter" as that's a python builtin.
- Convert from colorize_output() to pangoize_output().
- New function publish() from the savefile. Writes the modified
checklist out to a file. Many changes over the publish function
in savefile to write a checklist 0.3 format instead of qasave 0.1.
- Rename colorize_output() to pangoize_output().
- New function unpangoize_output() provides the reverse of pangoize.
It removes pango markup and make entity substitution for &, < , >.
- In __xml_to_entry(), extract the test information as well.
- New function __create_entry() from savefile. Heavily modified to
make a checklist 0.3 instead of qasave 0.1 entry.
* qareviewer.py:
- Use error module for checklist exceptions.
- Disable checklist.type checking as that's being replaced by the
checklist.functions functionality.
- Utilize pangoize_output() to make output strings ready for display.
* data/checklist.dtd: Work on version 0.3
- New PUBLIC and SYSTEM IDs.
- Comment everything.
- Remove Checklist type.
- Merge necessary qasasve data such as base and property.
- Add function element to hold information on what additional
abilities the checklist wants added to the QA Actions.
- Add test element to hold information for running automated tests.
* data/fedoraus.xml: Update to checklist.dtd 0.3
* NEWS: Add notes about updated DTD and support for automated tests.
2004-09-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r99
* error.py:
- Make the class names uppercase word since they're classes.
- New exception InvalidSaveFile.
* data/sample-save.xml:
- Combine the various Bugzilla properties into one: TicketURL.
- Make SRPM property a URL.
2004-08-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r98
* error.py: New program wide error module to define exceptions.
2004-08-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r97
* checklist.py:
- Make CheckList be a subclass of gtk.TreeStore.
- Get rid of the tree attribute as its functionality is now
implemented by the class itself.
- Switch to a program wide error module for defining exceptions
instead of in-module.
- Get rid of the props. attribute because properties are only used
to define the output colors and those are moving into GConf.
* qareviewer.py, savefile.py: CheckList is now a subclass of
gtk.TreeStore so invoke the TreeStore methods directly on it instead
of a tree that it holds.
* review.py: Rename variable tree references to treeStore as it's more
appropriate.
* NEWS: Note that the CheckList is now a subclass of gtk.TreeStore.
2004-08-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r96
* configure.ac: Bump version to 0.5
* Merged changes from the 0.4 stable branch.
- lastmerge: Set to 0.4 branch, rev 95
- checklist.py: Fix display of categories as items after loading a
savefile (r95)
- NEWS: Merge 0.4.1 Release notes (r95)
2004-08-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r94
* checklist.py: Instead of saving the path to the customItems category,
save an iter.
* qa-assistant.spec.in: Cleanups after undergoing Fedora.us QA.
* NEWS: Start an 0.5 entry.
2004-08-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r90
* ChangeLog: Update to r89 in preparation for 0.4 release.
2004-08-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r89
* AUTHORS: Reformat into ReStructured Text.
* README:
- Reformat into ReStructured Test.
- Change to be a little more clear.
- Add $Date$ substitution.
* PREFERENCES:
- Reformat into ReStructured Test.
- Add $Date$ substitution.
* TODO:
- Add $Date$ and $Rev$ substitution.
* NEWS:
- Reformat into ReStructured Test.
- Add $Date$ substitution.
2004-08-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r88
* savefile.py: Add a reference to the application so we can
use locate_file().
* qareviewer.py: Move savefile initialization after GnomeApp creation
so we can use it there.
2004-08-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r87
* savefile.py: import gnome because we're using gnome.program_get()
to get the gnome app to use locate_file with.
2004-08-03 Toshio Kuratomi <toshio@tiki-lounge.com> - r86
* properties.py: Remove the saveDTD from properties.
* genericqa.py:
- Create resList and outputList for allowable resolutions.
- Use resList to create the resolutions in the Option Box.
- Use return value from checklist.add_entry() to set Custom Item
resolution.
* savefile.py:
- Remove DTD path as it's all done with catalogs now.
- Unescape <, >, & before saving.
- Change back to GnomeApp.program.locate_file()
* gnomeglade.py: Move locate_file() back into the GnomeApp class.
When locate_file() makes its way into pygtk it's going to be a
method of GnomeProgram.
* checklist.py:
- duplicateItemError: New exception used when attempting to add an
item that is already allocated.
- add_entry(): returns an iter to the new entry. not sure if this
should be a permanent part of the API or just a quick hack to get
resolution changing working.
* qareviewer.py:
- Remove all the DTD handling stuff as it's now done with xml catalogs
instead.
- Change back to GnomeApp.program.locate_file().
- Note that resolution_changed should probably move to the checklist.
- Reset the savefile name to None when we load a new SRPM so we don't
accidentally overwrite a different saved review.
* TODO: Note to look into salvaging uninstalled_file lookups.
* SRPM.py: Catch IOError when opening the SRPM fails. Then we can spit
an error about the file being inaccessible.
* Makefile.am: Remove the dtd's name from rewriteSystem and rewriteURI
as those methods add the dtd filename themselves.
2004-08-02 Toshio Kuratomi <toshio@tiki-lounge.com> - r85
* savefile.py: Change canonical URL to include a dtds directory.
* review.py: Justify the hash output on the left side of the output.
* data/checklist.dtd: Change canonical URL to include a dtds directory.
* data/fedoraus.xml: Change the DOCTYPE to a full PUBLIC ID and
canonical URL.
* data/qasave.dtd: Add a dtds directory to the canonical URL.
2004-08-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r84
* review.py:
- Import the textwrap module.
- self.textwrap: New attribute holding a textwrapper to output reviews.
- publish(): Modified to use self.textwrap to cut lines at 70 columns.
* configure.ac:
- Require Python 2.2 or above.
- If python 2.2, check for an external textwrap module.
* TODO:
- Add note to look into display textwrapping in the review and
treeview widgets.
- Remove save/load as it is complete.
- Remove Review.publish wordwrapping as it's done.
- Remove DTD catalogs as they're done.
* NEWS:
- ReStructuredText reformatting
- Add textwrap to the list of new things.
2004-08-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r83
* configure.ac: Changes to enable installing DTDs
- Add SUBST'd vars for CHECKLIST and QASAVE versions.
- Find out where xmlcatalog is installed.
* TODO: Add note to write proper checks for file existence.
* qa-assistant.spec.in: Updates to get the DTDs properly installed in
the system catalog.
* Makefile.am:
- Move the DTDs to $(datadir)/xml/qa-assistant/checklist or qasave.
- Create an xmlcatalog for the dtds at installtime.
- Add the new catalog to the system supercatalog.
* NEWS: Add note that the DTDs are now installed into the system catalog.
2004-08-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r82
* savefile.py: Create new entries into the checklist when we have Custom
Checklist Items in the savefile.
* genericqa.py: Move code to create Custom Items out of genericqa and
into checklist.py using the new checklist.add_entry() method.
* checklist.py:
- Create customItemsPath attribute holding the gtk.tree path to the
custom items category.
- add_entry(): new method that adds an entry to the Custom Items
Category of the review checklist.
2004-07-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r81
* savefile.py:
- set_checklist(): method to set the checklist whenever it changes.
dirty hack that will go away when we merge with checklist as we'll
then be able to reference `self`.
- __xml_to_entry(): Fix the Output List to be a dict rather than a list.
* qareviewer.py:
- __init__(): Create saveFile before checklist so that __load_checklist
can access the saveFile.
- Remove the TreeModel from the arguments to the output_edited callback
because arguments passed in are set at definition time, not runtime,
leading to stale data.
- on_menu_open_activate(): Make sure we destroy the old checklist
before creating a new one.
- on_menu_open_activate(): Ditto for reviewView
2004-07-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r80
* savefile.py: Add is item property to savefile.
* review.py: Unescape <, >, & when publishing.
* README:
- Reformat to ReStructured Text.
- Note python 2.3 as development platform.
- Note pygtk-2.2.0 is a requirement
* checklist.py: Escape <, >, & in output strings.
* data/qasave.dtd: Add an item attribute to entry.
2004-07-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r79
* Merge the savefile branch back to the mainline.
* properties.py:
- Remove checklistName and checklistRev as these are now set on
checklist load now. (r75)
- Create a set method to set a property if it exists. (r78)
* savefile.py:
- Start using publicID and canonicalURL. (r75)
- Save the whole checklist here instead of just the tree data. (r75)
- Fix external subset reference. (r75)
- Set checklist name and revision in the checklist rather than through
properties. (r75)
- Create entries element around the <entry> list. (r75)
- Call freeDoc() so we don't leak memory. (r75)
- Create a load method. (r75)
- Set SaveFile.filename to None until it's set. (r76)
- Pass the new checklist to __xml_to_entry so it can colorize the
output. Need to remove when we combine with checklist. (r76)
- Whitespace fix. (r77)
- When loading the SRPM property use properties.load_SRPM(). (r78)
- Use the properties.set() interface. (r78)
- Set _qaSaveFileVersion_ to 0.1.
* optionrenderer.py: Cast event.x/y to int() when calling alert_changes
because gtk.get_path_at_pos has deprecated taking floats. (r76)
* treetips.py: Cast event.x/y to int's when calling __treetip_show
because gtk.get_path_at_pos has deprecated taking floats. (r76)
* qareviewer.py:
- Create a save menu callback. (r76)
- Sync the view of the checklist when we load a save file. (r77)
- Move the menu save handler to mirror menu placement. (r77)
- Move creation of the Review widget to __load_checklist(). (r78)
- Revert workaround for gtk.menu.popup time bug as it's fixed in
pygtk-2.2.0. (r78)
- Loading a new review from SRPM now calls __load_checklist(). (r78)
- Create an open menu callback to load a save file. It has copies
of code in __load_checklist to work so cleanup is necessary. (r78)
* configure.ac: Require pygtk >= 2.2.0 because it fixes the
gtk.menu.popup time bug. (r78)
* TODO:
- XML save/checklist merge note. (r77)
- Textwrap in optik note. (r78)
- Treetip display note. (r78)
- Save-load header bug note. (r78)
- Savefiles implemented. Woo-hoo! (r78)
- Reformat to RestructuredText (so we can generate docs with python's
docutils package.) (r78)
* SRPM.py: Bugfix: SRPM.hashes() now returns a copy instead of the
actual hashes. (r78)
* data/fedoraus.xml:
- Change output for Package signature verified. (r77)
- Add Not-Applicable state to Default Password entry. (r77)
* NEWS: Add fact that save format will change to the release notes. (r78)
2004-06-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r73
* gnomeglade.py: Move utility functions __uninstalled_file and
locate_file to the toplevel. Make uninstalled_file public.
* PREFERENCES: Note the difference between a preference and a property.
* qareviewer.py: Switch to toplevel gnomeglade.locate_file() and
gnomeglade.uninstalled_file()
* data/checklist.dtd: Add a public identifier and canonical URL.
* data/sample-save.xml: Move list of <entry> into new toplevel <entries>.
* data/qasave.dtd:
- Add a public identifier and canonical URL.
- Move list of <entry> into a new toplevel <entries> tag.
- Add comments.
* Makefile.am:
- Add savefile.py.
- Fix comment typos.
* autogen.sh: Add --force-missing to automake invokation.
2004-05-12 Toshio Kuratomi <toshio@tiki-lounge.com> - r72
* properties.py:
- Add the save DTD filename.
- Separate things for future preferences from properties.
* genericqa.py:
- Fix the dialogs in the publish callback to have a default response.
- msgDialog to closes gracefully when closed via the window manager.
- Fix remembered directories to point to the ReviewDir, not the SRPMDir.
- Rearrange things with the FileSelectDialog to run as little as possible
under the try:finally: block.
- Setup infrastructure to test if we succeed or fail to write the file.
- Check for a new category resolution when adding entries to the Custom
Checklist Items.
* savefile.py: New object to hold savefile routines. Currently saves but
still needs to load.
* ChangeLog: Update to r71
* review.py: When we update a Category, we still have to check if there
are resolution changes that affect the review as a whole.
* qareviewer.py:
- Add the qasave.dtd file to the properties.
- Fix looking for properties.checklist (filename) instead of
checklistName (symbolic name)
- Remove the publish callback as it's now in genericqa.py
- Create on_menu_save_as_activate modeled on genericqa.py:publish
(review).
- Rearrange things with the FileSelectDialog when loading an SRPM to
run as little as possible under the try:finally: block.
* TODO: Note that libxml2 has some guidelines for good xml definitions
that we need to look at.
* data/qasave.dtd: <checklist> is no longer empty. Instead it contains
the filename of the checklist.
* data/sample-save.xml: <checklist> now contains the filename of the
checklist.
* NEWS: Add saving and loading to the new features.
2004-04-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r71
* genericqa.py: Add Rev and Id keyword expansion.
* treetips.py: Add Rev and Id keyword expansion.
* review.py: Bugfix ListStore.append takes a tuple, not a straight sequence
of values.
* srpmqa.py: Add Rev and Id keyword expansion.
* checklist.py: Beginning of changes to allow Saving of work.
- Add a MODIFIED entry to the tree.
- self.addPaths hash to alert us that an entry is being added.
- __modified_row and __added_row replace broken __add_entry_to_lookup
- __modified_row: new function
+ Sets the MODIFIED flag on the row.
+ Adds new entries to the entries hash for quick lookup of existing
checklist items.
- __added_row: New function
+ Sets MODIFIED flag on a new row so it gets saved.
+ Adds the row path to addPaths so __modified_row can add it when the
SUMMARY information becomes available.
* data/checklist.dtd: Use ENTITY for Enumerated values.
* data/qasave.dtd: New dtd that defines a savefile.
* data/sample-save.xml: A sample savefile.
* Makefile.am: Move comments on the install-data-hook above the definition
to make it more portable.
2004-04-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r70
* genericqa.py:
- Add an attribute to cache the path where we add custom checklist items.
- Use the customItemsPath attribute instead of searching.
- Don't emit the row-inserted signal manually, gtk takes care of it
automatically.
* review.py:
- Add an attribute to cache items being added.
- Stop using self.tree. It was unnecessary to hold a reference to the
tree because it was sent to our functions whenever we needed to use
data from it.
- __update_data(): Now does most of the work when adding entries as well.
- __add_data(): Functionality moved to __update_data because row-inserted
is emitted when the row is created. But it is created empty. So we
have no way to use it at that point. New __add_data() just flags the
treeStore's path as being added so __update_data doesn't have to
guess that an addition is coming.
2004-04-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r69
* paths.py.pyin: Add Id and Rev keyword expansion.
* review.py: Change 'if variable == True:' to 'if variable:' form
* gnomeglade.py: Fix typo: gnome.PARAM_GNOME_SYSCONFIGDIR => SYSCONFDIR
* qareviewer.py: Change 'if variable == True:' to 'if variable:' form
* configure.ac:
- Add a header to describe what the file does.
- Set Id and Rev keyword expansion
- Check for PYGNOME existence as well as pygtk.
* TODO: Reformat.
* qa-assistant.spec.in: Add Requires gnome-python-gconf2 and pygtk2
* Makefile.am: Add a header and Id Rev expansion
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- Change QA Actions Mnemonic
- Change the Start label to reflect the change in menus
- Add others to the AUTHORS section of the about dialog
* NEWS: Started summary of what the changes are for this release
2004-04-27 Toshio Kuratomi <toshio@tiki-lounge.com> - r68
* genericqa.py:
- Change the 'Add Checklist Item' mnemonic
- add_item_to_checklist_callback: Now performs. We are able to add custom
review items using this action.
* treetips.py: Do not pop-up a tooltip if there is no tooltip text.
* review.py: Load new checklist entries into the Review widget when they
are added to the checklist tree.
* srpmqa.py: Some notes on things fedora-startqa does that we might want to
add to the SRPM Actions.
* checklist.py:
- Change function names from __xmlToEntry() form to __xml_to_entry()
- Create a new data struct 'entries' which is a map of Summary => iter.
The immediate need was to have fast lookups of what Summary items
appear in the checklist. Eventually, the Review widget should also use
this to quickly access an iter from a Summary value.
- colorize_output: Move colorization of output to its own function.
- __add_to_entry_lookup: New function to support the entries dict.
* qareviewer.py:
- Rename columns 'pass/fail' and 'Description' to 'Resolution' and
'Summary'.
- Use checklist.colorize_output()
- Set default responses on dialog boxes
* TODO:
- Add note about architectural changes for QA Functions
- Remove add non-checklist items as it's finished
* glade/qa-assistant.glade: Change the Mnemonic on QA Actions menu.
* NEWS: Add ability to add custom checklist items to 0.4 announce.
2004-04-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r66
* Add generated spec file and .pyo's to ignore list
* qa-assistant.desktop.in: Remove leading _ on internationalized entries
because we're not yet sophisticated enough to use i18n
* qareviewer.py: Bump version to 0.4
* configure.ac: Bump version to 0.4
* TODO: Druid on New note
* qa-assistant.spec.in: Make the desktop install conform to Fedora Extras
* Makefile.am: Automake's py_compile script doesn't account for DESTDIR.
Created an install-data-hook that sets compiled in paths properly
* NEWS: Begin the 0.4 notes
2004-04-21 Toshio Kuratomi <toshio@tiki-lounge.com> - r65
* ChangeLog: Update to r64
* README: Add a quick install section. Remove redundant stuff. Note that
subversion server is currently unavailable.
* NEWS: Remove subversion archive from announcement. Rewrite summary.
2004-04-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r64
* treetips.py: FIXME notes
* ChangeLog: Update to rev 61
* qareviewer.py:
- New start label message reflects QA Action menu. Need some
architectural thought here.
- Not Yet Implemented Dialog path bugfix.
2004-04-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r63
* configure.ac: Generate qa-assistant.spec
* TODO: Spec file written
* qa-assistant.spec.in: First cut spec file for qa-assistant. Needs some
touchups to the desktop file handling and check to make sure the URL and
Source0 download link are correct.
* Makefile.am:
- Add genericqa.py and srpmqa.py to the dist scripts.
- Remove qa-assistant from the nodist section. It is already in the
bin_SCRIPTS target. Add qa-assistant manually to CLEANFILES.
- Add the *.spec and *.spec.in to EXTRA_DIST
* NEWS: Spec file and QA Actions menu notes.
2004-04-20 Toshio Kuratomi <toshio@tiki-lounge.com> - r62
* genericqa.py: Not yet implemented dialog for adding checklist items
* srpmqa.py: Bug fix function calls in From SRPM and From Bugzilla
* qareviewer.py: Make SRPM_into_properties a public method
* TODO: QA Menu TODO item is now implemented.
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- Remove Publish and Submit from the File menu.
- Add a default_width of 400 to the Not Yet Implemented Dialog.
2004-04-19 Toshio Kuratomi <toshio@tiki-lounge.com> - r61
* genericqa.py: A new subclass of gtk.Menu. This represents a generic QA
Menu with callbacks for its menu items. Actions that can be performed
on all QA checklists should be added here.
* srpmqa.py: A new subclass of genericqa.py that adds menuitems and
callbacks for actions specific to writing a review of an srpm.
* checklist.py: Comments for each of the TreeModel field enums
* qareviewer.py: Import the proper QA Menu code depending on the type of
checklist we load.
* glade/qa-assistant.glade, glade/qa-assistant.strings: Create the empty
QA Action menu that qareviewer.py fills with a GenericQA or SRPMQA object.
2004-04-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r60
* review.py: Remove the formatting tags before spitting out the review
* checklist.py: Change Needs-Reviewing output back to None as it turns out
it wasn't necessary and broke the Review widget's publish method.
* qareviewer.py:
- Popup a message dialog if the reviewer wants to publish and the review
has a resolution of Incomplete.
- Publish review dialog is now destroyed whether it's successful or not.
- gtk.get_current_event_time, event.time, and menu.popup have an overflow
bug. event.time and menu.popup use 32Bit Python signed ints.
get_current_event_time returns a Python Long type. The C gtk library
uses an Unsigned 32 bit int. Problem should probably be fixed in the
bindings by using Python Long for python code and coerce to C unsigned
int when sending to the library. My temporary work around is to munge
the long type into an int32 that's wrapped into the negatives.
* TODO, NEWS: Check for 'Needs-Reviewing' Resolution done.
2004-04-16 Toshio Kuratomi <toshio@tiki-lounge.com> - r59
* checklist.py, qareviewer.py: Give the whole props array to the new
checklist rather just the colors.
* TODO: Note that textwrap is a python 2.3 method.
2004-04-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r58
* properties.py: Add *Color properties
* review.py: Set the output renderers to use markup instead of text
* checklist.py: Add color information to the output strings. The color
information is stored in the Properties object which is not a part of
the checklist. So the information is given when initializing the
checklist. Not ideal.
* qareviewer.py:
- Set output renderer to use markup instead of text
- Note about __load_checklist bug
- Set colors when editing an output string
* TODO: Remove colorize. Add spec file
* NEWS: Add colorize to the list of new features
2004-04-15 Toshio Kuratomi <toshio@tiki-lounge.com> - r56
* qareviewer.py: Fix a bug where reloading the checklist causes editing of
the entries to stop working.
2004-04-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r50
* ChangeLog: Update to r49
* qareviewer.py: Display the SRPM in the title and status bars
* TODO: Cross things off and file the comments from the code appropriately
* NEWS: Add titlebar note
2004-04-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r49
* Ignore files generated by autoconf/automake
2004-04-14 Toshio Kuratomi <toshio@tiki-lounge.com> - r48
* properties.py: Uncomment bugzilla stuff although it doesn't do anything.
* paths.py.pyin: Python file that has variables which make expands to point
at various parts of the installation path. This gives us access to the
paths the user gives to configure for Gnome functions.
* qa-assistant.desktop.in: First stab at a desktop file to put things in
the menus. It is a .in because intltool messes with it. However, we
aren't yet using that.
* qa-assistant, qa-assistant.pyin: Moved qa-assistant to .pyin because we
need make to append the install directory ($pkgdatadir) to the python
import path.
* gnomeglade.py:
- Set the gnome PARAM_APP_* properties on the GnomeApp object using the
configure values stored in paths.py
- GnomeApp.__uninstalled_file(): looks for the filename in the program's
directory. Useful when testing the program in the build directory.
- GnomeApp.locate_file(): simulate the libgnome function. Look for
files in a specified FileDomain and return a list of possibilities.
- Use __uninstalled_file and locate_file to load the user interface.
* README:
- Changes for sourceforge and the fact that it can now install
- Bump version to 0.3
* checklist.py: Accommodate the checklist now having a type.
* qareviewer.py:
- Separate programName from programHumanName
- Bump version to 0.3
- Set gnome properties on the GnomeApp
- Use locate_file to find the program data/pixmap/glade files.
* configure.ac: Configure script for qa-assistant
* data/checklist.dtd: Bump version to 0.2 and make a type attribute for
checklist so we can load certain menus based on the checklist type.
* data/fedoraus.xml: Version bump and specify type=SRPM
* Makefile.am: Makefile.am for qa-assistant
* autogen.sh: Minimal autogen.sh
* glade/qa-assistant.glade: Remove icon and logo lines. These are now set
programmatically. (Otherwise the path names would have to be munged
in the glade file.)
* NEWS: Begin charting major 0.3 changes
2004-04-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r44
* ChangeLog: updated to r43
* README: List the subversion repository URL
2004-04-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r43
* qareviewer.py: Add callback to open New Menu from toolbar button
* SRPM.py: Bugfix case where a directory with no hashable files is in the
way of expanding a new SRPM
* glade/qa-assistant.strings, glade/qa-assistant.glade:
- Reverse the order of New from SRPM and New from Bugzilla
- Add callbacks for toolbar New, Open, and Save
* NEWS: Note that the toolbar now has working "New" button
2004-04-10 Toshio Kuratomi <toshio@tiki-lounge.com> - r42
* properties.py: Fixup SRPM Exception passing
* qareviewer.py: Document what we want to do eventually with Security
Exceptions from reading in SRPMs. The infrastructure should all be there
now. Just needs detail work.
* SRPM.py:
- Fix up Exception handling. May need more work but I need more code
that utilizes the exceptions to see what to do.
- Detect errors when trying to read a file that isn't an rpm
- Fix __hash_directories crash
* data/qa-assistant.glade: Set the startLabel to sensitive so things
display in a normal state instead of greyed out.
* AUTHORS: New file crediting Stephen Kennedy for gnomeglade.py and
Ville Skytt� for rpm2cpio implementation
* ChangeLog: Sync to r41
* TODO: Check off two items
* NEWS: Complete the version 0.2 list of features
2004-04-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r41
* properties.py:
- Move SRPM loading into Properties class
- Implement persistent directories for FileSelect Dialogs
* review.py:
- Move MD5Sums to the top of the review
- Note to connect to properties signals when implemented
- hash label creation moved to function __update_hash
- update_hash function created as stopgap until properties has gsignals
* qareviewer.py:
- Move SRPM loading to properties.py
- translate_option_mode() => __translate_option_mode()
- Reorder __init__(): commandline parsing at the bottom
- Get rid of ReviewWindow.show_all(). Per widget show method instead.
- __load_checklist() loads the checklist from the data file
- __SRPM_into_properties() loads a new SRPM file into the properties
structure
- __check_readiness() figures out whether we've got an SRPM and are ready
to load a checklist or need to display a label that says we aren't
ready to do anything yet.
- Implement persistent directories for FileSelect Dialogs
- Implement New From SRPM menu item
* TODO: Move notes from qa-assistant into the TODO
* qa-assistant: Move TODO comments into the TODO
* glade/qa-assistant.glade: Create startLabel which displays a message when
we don't have an SRPM targeted (So the user won't start filling in a
checklist by mistake.)
2004-04-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r40
* treetips.py: Fix timeoutID to keep from popping up tooltips when we
aren't hovering over a tooltip item.
* checklist.py: Remove extraneous whitespace from the xml content nodes.
May revisit this in the future.
* TODO: Note that python textwrap may be able to solve the wordwrapping in
Review issue.
2004-04-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r39
* properties.py: Remove #! line and version as this isn't the main script.
* treetips.py: Class to do tooltips on a treeview row.
* optionrenderer.py: Remove on_start_editing as we're not going to support
that.
* review.py:
- Change '-' bullets to '*' (Better for gpg)
- Move MD5Sums to beginning of review to be more like fedora-startqa
* README: Start of an introduction to QA Assistant
* qareviewer.py:
- Increment the version to 0.2
- Set up the TreeTips on our TreeView
* TODO: Tooltips are taken care of
* NEWS: Start keeping a NEWS file for 0.2
2004-04-06 Toshio Kuratomi <toshio@tiki-lounge.com> - r38
* properties.py, review.py, qareviewer.py, SRPM.py: Fix $$Rev instead of
$$Revision for keyword expansion
* optionrender.py:
- Fix the $$Rev instead of $$Revision keyword
- Cache the cell's height and width in an internal variable
- __compute_menu_position now used to display the menu as if it came from
the dropdown box.
* ChangeLog: updated to Rev 37
* TODO: Add menu for checklist actions note
* data/fedoraus.xml: Changed the name of MD5Sum verified to upstream source
verified
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r37
* data/fedoraus.xml: Add Non-Blocker status to Buildroot.
* ChangeLog: Update
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r36
Add Id and Rev keyword expansion to source code
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r35
* fedora-md5, fedora-qatemplate: Removed files that have no part in this
program (except as ideas.)
* TODO: Add note to work on scripts to install and distribute the program
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r34
* Copy fedora-rpmdevtools over to the new project. Will delete extraneous
files shortly.
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r33
* ChangeLog: Create a ChangeLog with the current svn changes
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r31
* qareviewer.py: Fix argument handling to really only take one argument
* data/fedoraus.xml: Set SRPM GPG signed entry to display by default
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r30
* TODO: Add note about fedora-startqa script
* data/fedoraus.xml: Finish inputting the fedoraus checklist
2004-04-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r29
* qareviewer.py:
- Only load an SRPM if one is given on the commandline. Print a usage
message otherwise.
- Catch exceptions from loading the SRPM -- but don't do anything
useful with them yet.
- Fix the Auto-display of non-Pass items to display non-blockers as well.
* TODO: update SRPM.py entry
* SRPM.py:
- Added some simple exceptions. May need more refinement as we progress.
- Check if the SRPM file exists and is readable instead of just if the
file has the potential to be readable.
- Some cleanups to how we use python file objects.
- Reordered the functions to be somewhat more logical. Still some work
to be done there.
- Check for previous unarchival of rpm. Still needs a few problem cases
resolved nicely.
- Fix up the internal rpm2cpio code. It now works with gzip compressed
payloads. BZ2 stuff needs python-2.3 and someone to take a look at the
different interface.
2004-03-30 Toshio Kuratomi <toshio@tiki-lounge.com> - r28
* checklist.py: Change the Display tag to an attribute of entry
* data/checklist.dtd: Ditto
* data/fedoraus.xml: Ditto
- Also take out display altogether when it's the default value of false.
2004-03-30 Toshio Kuratomi <toshio@tiki-lounge.com> - r27
* review.py: Fix logic in deciding the overall review resolution
* checklist.py:
- Removed INPUT from the checklist file. Needs some rethinking before we
add something like it back in.
- Validate the checklist file with the checklist.dtd
- Fixed the Exception names.
- Removed 'output' tag from checklist. Output is now the content of the
state tag rather than having its own tag.
* qareviewer.py: Catch exceptions from libxml2.treeError as well as
libxml2.parserError
* TODO: Logo item and needing something to "force" the user to edit output
items when they could add useful information that the program can't
guess.
* data/checklist.dtd:
- Remove input
- Set false as the default display state
- Remove output: information is now directly in the state tag
* data/fedoraus.xml:
- Add DOCTYPE line to associate with checklist.dtd
- Add many more entries from the Fedora Checklist
- Changes to output and input for new dtd.
2004-03-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r26
* qareviewer.py:
- Reorder menu callbacks in depth first order they appear in the menu
bar.
- publish_activate: Prompt user for a filename to save the review to.
* TODO: Remove items that have been completed and notes to enhance others.
* glade/qa-assistant.strings, glade/qa-assistant.glade: Remove the
FileSelection dialog from the glade definition. It's very easy to add
fileSelectionDialogs programmatically so that's how I'm going to do it.
2004-03-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r25
* review.py: publish(filename) method implemented. Call the publish method
on a review object to print out the review. Note: further work could be
done for word wrapping and WYSIWYG-ness.
* qareviewer.py: connect publish menu item to review.publish()
2004-03-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r24
* review.py: Finish the display methods. Implemented as a listStore that
connects to the QAReviewer.checklist.tree row-changed signal and mirrors
the data there.
* checklist.py: Change resolution state from 'Needs Reviewing' to
'Needs-Reviewing' because of limitations of DTD (Wish libxml2 did
XML Schemas...)
* qareviewer.py:
- Allow editing the OUTPUT Field
- Change resolution state names because of DTD
- Change the reviewPane toggle to use hide/show rather than
remove/insert
* TODO: Minor reorganizations
* checklist.dtd: Initial DTD for our checklist data files. Preparatory
for adding validation to the checklist.py script.
* fedoraus.xml: Changes to naming due to DTD limitations
* glade/qa-assistant.glade: Add a ViewPort into the ScrolledWindow.
Renamed ViewPort to reviewPane and ScrolledWindow as reviewScroll
2004-03-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r23
* glade/fedora-qareviewer.glade, glade/fedora-qareviewer.strings:
Renamed to qa-assistant.glade and qa-assistant.strings
2004-03-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r22
* glade/fedora-qareviewer.strings, glade/fedora-qareviewer.glade,
TODO, qareviewer.py: Change reference to editorPane to reviewPane
* fedora-qareviewer: Rename to qa-assistant.
- Remove constants from here that are going into qareviewer.py instead
* qareviewer.py: Change fedora-* file names to qa-assistant* files
* glade/fedora-qareviewer.glade, glade/fedora-qareviewer.gladep,
glade/fedora-qareviewer.strings: Changed text inside the files to match
the new name.
* Renamed glade/fedora-qareviewer.gladep to qa-assistant.gladep
2004-03-28 Toshio Kuratomi <toshio@tiki-lounge.com> - r21
* pixmaps, pixmaps/qa-icon.xcf, pixmaps/qa-icon.png: icon file for QA
Assistant
* properties.py: Initial work on a properties class to keep properties
for the review
* review.py: Initial, non-working start on the review widget. May
implement as a glade custom widget
* PREFERENCES: split into preferences/properties
* qareviewer.py: add SRPM and Properties code
- Reorganized the method ordering to be more logical
- Added docstrings for all completed methods
- Small reworking of logic in resolution_changed
- Implement Not Yet Implemented dialog for every menu item that's not yet
working
* TODO: Reorganized
* SRPM.py: Initial work at an SRPM class to track the SRPM associated with
the Review. Works just barely. Currently uses a system call to
fedora-unrpm for part of its work and unrpms to a directory without
being able to deal with that directory already existing.
* glade/fedora-qareviewer.strings glade/fedora-qareviewer.glade:
- Added icons to the windows (Note: Probably should be done within the
program instead.)
- Added menu entries for all the features I can think of wanting to add.
2004-03-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r20
* TODO: View Menu and preferences notes
* PREFERENCES: Start a list of preferences to add once we have GConf stuff
* optionrenderer.py: Set 'selectedoption' when we change the resolved state
* qareviewer.py: Change Category resolution when we change the state of the
individual checklist items
2004-03-25 Toshio Kuratomi <toshio@tiki-lounge.com> - r19
* TODO:
* data/fedoraus.xml: Change from all lowercase to mixed case.
* checklist.py, qareviewer.py, optionrenderer.py: Many changes to use my
custom optionrenderer that simulates a combo box.
2004-03-09 Toshio Kuratomi <toshio@tiki-lounge.com> - r18
* Able to switch from review view to in-list view.
2004-03-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r17
* Parsing the checklist is done. Doesn't display well or do anything yet.
2004-03-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r16
* qareviewer.py, fedora-qareviewer: Split QAReviewer Class to its own file.
2004-03-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r15
* fedora-qareviewer, checklist.py: Split checklist class into its own file.
2004-03-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r14
* Start of a TODO list
2004-03-04 Toshio Kuratomi <toshio@tiki-lounge.com> - r13
* Change <help> to <description>
2004-03-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r12
* Set up svn properties on the files.
2004-03-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r11
* Initial import of fedora-qareviewer, a program to aid Quality Assurance
Reviews.
2004-03-01 Toshio Kuratomi <toshio@tiki-lounge.com> - r10
* COPYING: checkin a copy of the GPL version 2
2004-02-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r9
* fedora-qatemplate: Merge sensible things from my version of fedora-md5.
- Update version to 0.2
- Add --checkhdr to check whether the rpm header agrees with the
actual MD5Sums.
- Redo the argument parsing because the old version only worked by
accident.
- Rework hash_file/hash_directory to output a hash rather than writing
to an opened filehandle.
- New functions get_hashes_from_rpm and perform_header_check to verify
the RPM header MD5's against the actual md5s
2004-02-29 Toshio Kuratomi <toshio@tiki-lounge.com> - r8
* fedora.md5: Note that the regex check for directory structure isn't
exact.
2004-02-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r7
* Set keyword expansion on the file.
2004-02-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r6
* Remove some comments that aren't going to be implemented now.
2004-02-08 Toshio Kuratomi <toshio@tiki-lounge.com> - r5
* New Program fedora-md5 that replaces the old shell script of the same
name.
2004-02-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r4
* $ keyword should be $
2004-02-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r3
* Get svn:keywords right
2004-02-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r2
* Expand keywords in the script.
2004-02-07 Toshio Kuratomi <toshio@tiki-lounge.com> - r1
* Checkin my script and a directory layout. The script performs hashing
of source files fine but doesn't do any of the other stuff I have
planned.
|