This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
pootle / ChangeLog.pre-0.8
| 44f715f8 » | davidfraser | 2005-04-20 | 1 | 2005-04-20 11:16 davidfraser | |
| 2 | |||||
| 3 | * README, TODO, __init__.py, adminpages.py, indexpage.py, | ||||
| 4 | pagelayout.py, pootle.prefs, pootle.py, pootlefile.py, potree.py, | ||||
| 5 | projects.py, translatepage.py, users.py, versioncontrol.py, | ||||
| 6 | html/favicon.ico, html/pootle.css, html/robots.txt, | ||||
| 7 | html/doc/howto.html, html/doc/index.html, | ||||
| 8 | html/doc/resources.html, html/images/edit.png, | ||||
| 9 | html/images/file.png, html/images/folder.png, | ||||
| 10 | html/images/gap.png, html/images/goal.png, html/images/logo.png, | ||||
| 11 | html/images/person.png, html/images/pootle-medium.jpg, | ||||
| 12 | html/images/pootle-small.jpg, html/images/pootle.jpg, | ||||
| 13 | html/images/pootle.svg, html/images/top.png, | ||||
| 14 | html/js/autoexpand.js: removed translate/pootle (moving to | ||||
| 15 | Pootle) | ||||
| 16 | |||||
| 17 | 2005-04-19 21:52 davidfraser | ||||
| 18 | |||||
| 19 | * indexpage.py: added UI for adding users to a goal, showing users | ||||
| 20 | in a goal | ||||
| 21 | |||||
| 22 | 2005-04-19 21:23 davidfraser | ||||
| 23 | |||||
| 24 | * indexpage.py, projects.py: added logic to handle multiple goals | ||||
| 25 | although we actually preserve single goals made it possible to | ||||
| 26 | deallocate something by setting no goal don't display useless | ||||
| 27 | information about goals renamed addfiletogoal to setfilegoals as | ||||
| 28 | that's usually what we want to do | ||||
| 29 | |||||
| 30 | 2005-04-19 21:05 davidfraser | ||||
| 31 | |||||
| 32 | * indexpage.py, projects.py: added infrastructure code to support | ||||
| 33 | users in goals (simple copy of file code) renamed set goal to | ||||
| 34 | setgoalfiles only show goals for a file if the file has multiple | ||||
| 35 | goals | ||||
| 36 | |||||
| 37 | 2005-04-19 20:47 davidfraser | ||||
| 38 | |||||
| 39 | * projects.py: simple code cleaning... | ||||
| 40 | |||||
| 41 | 2005-04-19 17:57 davidfraser | ||||
| 42 | |||||
| 43 | * translatepage.py, html/js/autoexpand.js: added grow and shrink | ||||
| 44 | buttons using javascript made other button captions localizable | ||||
| 45 | |||||
| 46 | 2005-04-19 01:14 dwaynebailey | ||||
| 47 | |||||
| 48 | * users.py: Activate a uer from the admin page. Does not do | ||||
| 49 | deactivation. | ||||
| 50 | |||||
| 51 | 2005-04-19 01:02 dwaynebailey | ||||
| 52 | |||||
| 53 | * adminpages.py, potree.py: You can now edit: special characters, | ||||
| 54 | the number of plurals and the plural equation from the language | ||||
| 55 | admin page. | ||||
| 56 | |||||
| 57 | 2005-04-19 00:46 dwaynebailey | ||||
| 58 | |||||
| 59 | * pagelayout.py: Added quick links to "All Projects" and "All | ||||
| 60 | Languages" | ||||
| 61 | |||||
| 62 | 2005-04-19 00:15 dwaynebailey | ||||
| 63 | |||||
| 64 | * indexpage.py, pootle.py: Add a page that lists all languages on | ||||
| 65 | the Pootle server. | ||||
| 66 | |||||
| 67 | 2005-04-14 09:37 davidfraser | ||||
| 68 | |||||
| 69 | * pootlefile.py, projects.py, translatepage.py: allow users with | ||||
| 70 | translate rights to upload existing files, but don't add new | ||||
| 71 | strings... also use username to record who uploaded changes | ||||
| 72 | fixed up call to rejectsuggestion, removed session from assignto | ||||
| 73 | function def | ||||
| 74 | |||||
| 75 | 2005-04-14 09:32 davidfraser | ||||
| 76 | |||||
| 77 | * adminpages.py: added title, link to home page to | ||||
| 78 | TranslationProjectAdminPage | ||||
| 79 | |||||
| 80 | 2005-04-14 09:21 davidfraser | ||||
| 81 | |||||
| 82 | * indexpage.py: added link to administrate the translationproject | ||||
| 83 | if you have the rights redid the layout of baselinks in the | ||||
| 84 | process allow the uploadbox if you have translate rights (this | ||||
| 85 | will deny new files however) | ||||
| 86 | |||||
| 87 | 2005-04-14 08:58 davidfraser | ||||
| 88 | |||||
| 89 | * projects.py, adminpages.py, indexpage.py: added proper rights | ||||
| 90 | controls for uploading/updating files, converting from templates | ||||
| 91 | and setting goals created InternalAdminSession class which | ||||
| 92 | projects can use when it does changes internally without a | ||||
| 93 | session | ||||
| 94 | |||||
| 95 | 2005-04-11 17:41 davidfraser | ||||
| 96 | |||||
| 97 | * translatepage.py: when actually submitting translations, we | ||||
| 98 | should use pofilename that was supplied in the argdict for the | ||||
| 99 | submission, not self.pofilename | ||||
| 100 | |||||
| 101 | 2005-04-11 16:41 davidfraser | ||||
| 102 | |||||
| 103 | * translatepage.py: suggestions seem to be normal strings | ||||
| 104 | sometimes, this should fix it till we find out why | ||||
| 105 | |||||
| 106 | 2005-04-11 16:26 davidfraser | ||||
| 107 | |||||
| 108 | * translatepage.py: only add links to current folder, stats if | ||||
| 109 | self.pofilename is not None (when a search is finished / returns | ||||
| 110 | no items, self.pofilename is None) | ||||
| 111 | |||||
| 112 | 2005-04-07 16:54 davidfraser | ||||
| 113 | |||||
| 114 | * pootlefile.py, projects.py: reset the encoding when rereading the | ||||
| 115 | pofile (otherwise it won't decode properly!) only freshen the | ||||
| 116 | newpofile on versioncontrol update, it should be read by the | ||||
| 117 | constructor | ||||
| 118 | |||||
| 119 | 2005-04-07 14:53 davidfraser | ||||
| 120 | |||||
| 121 | * indexpage.py: added tooltip to explain lack of link when no | ||||
| 122 | untranslated items are present... | ||||
| 123 | |||||
| 124 | 2005-04-07 14:53 davidfraser | ||||
| 125 | |||||
| 126 | * pootle.py: unified return-after-login logic, made it work with no | ||||
| 127 | returnurl | ||||
| 128 | |||||
| 129 | 2005-04-05 23:16 davidfraser | ||||
| 130 | |||||
| 131 | * indexpage.py, projects.py: tried to fix up subdirectory handling | ||||
| 132 | of goals, needs more work | ||||
| 133 | |||||
| 134 | 2005-04-05 22:47 davidfraser | ||||
| 135 | |||||
| 136 | * indexpage.py: renamed setgoal to editgoal | ||||
| 137 | |||||
| 138 | 2005-04-05 22:45 davidfraser | ||||
| 139 | |||||
| 140 | * indexpage.py, projects.py: added ability to set files / | ||||
| 141 | directories exclusively to goals also fixed bnad syntax (calling | ||||
| 142 | list) note that this is not aware of files being contained inside | ||||
| 143 | directories yet | ||||
| 144 | |||||
| 145 | 2005-04-05 22:36 davidfraser | ||||
| 146 | |||||
| 147 | * projects.py, indexpage.py: changed linksrequired for goal items | ||||
| 148 | renamed methods, restructured so files are only accessed in | ||||
| 149 | getgoalfiles make sure goalfiles are not empty string fixed using | ||||
| 150 | username instead of session | ||||
| 151 | |||||
| 152 | 2005-04-05 22:32 davidfraser | ||||
| 153 | |||||
| 154 | * pagelayout.py, html/images/pootle-medium.jpg, | ||||
| 155 | html/images/pootle-small.jpg, html/images/pootle.jpg: added small | ||||
| 156 | and medium versions of pootle image, and updated them all from | ||||
| 157 | new svg logo | ||||
| 158 | |||||
| 159 | 2005-04-05 22:15 davidfraser | ||||
| 160 | |||||
| 161 | * html/images/pootle.svg: added background, changed page layout to | ||||
| 162 | fit image, and centred image (landscape mode now) | ||||
| 163 | |||||
| 164 | 2005-04-05 22:03 davidfraser | ||||
| 165 | |||||
| 166 | * html/images/pootle.svg: changed color of nose and mouth, aligned | ||||
| 167 | them, removed center of mouth made logo on hat smaller combined | ||||
| 168 | two segments of hat, and added outline made background blue, took | ||||
| 169 | away purple border | ||||
| 170 | |||||
| 171 | 2005-04-05 22:00 davidfraser | ||||
| 172 | |||||
| 173 | * html/images/pootle.svg: added SVG logo for Pootle from Lucas | ||||
| 174 | Veietes | ||||
| 175 | |||||
| 176 | 2005-04-05 19:28 dwaynebailey | ||||
| 177 | |||||
| 178 | * indexpage.py: "Quick Translate" is now always visible but | ||||
| 179 | disabled if there are no items to translate. Should probably be | ||||
| 180 | greyed out instead of just not have a link. | ||||
| 181 | |||||
| 182 | As a policy I think we need to ensure that: 1) You only see | ||||
| 183 | things that you are allowed to see with your rights 2) Things do | ||||
| 184 | not disappear they just get disabled. | ||||
| 185 | |||||
| 186 | 2005-04-05 17:22 davidfraser | ||||
| 187 | |||||
| 188 | * indexpage.py, projects.py: fixed up funny empty items in | ||||
| 189 | goalfiles list added ability to show items in goal by clicking on | ||||
| 190 | goal title | ||||
| 191 | |||||
| 192 | 2005-04-05 17:11 davidfraser | ||||
| 193 | |||||
| 194 | * indexpage.py, pootle.py: changed links for goal to include check, | ||||
| 195 | assign, review and zip implemented zip of goal | ||||
| 196 | |||||
| 197 | 2005-04-05 17:00 davidfraser | ||||
| 198 | |||||
| 199 | * indexpage.py: added ability to show goals as entries, to add new | ||||
| 200 | goals, to place goalless files in goals tried to sanitize link | ||||
| 201 | generation for options etc as well | ||||
| 202 | |||||
| 203 | 2005-04-05 16:57 davidfraser | ||||
| 204 | |||||
| 205 | * potree.py: fixed docstring | ||||
| 206 | |||||
| 207 | 2005-04-05 16:51 davidfraser | ||||
| 208 | |||||
| 209 | * pagelayout.py: added tediously inane GoalItem class | ||||
| 210 | |||||
| 211 | 2005-04-05 16:50 davidfraser | ||||
| 212 | |||||
| 213 | * html/images/goal.png: added images for goals | ||||
| 214 | |||||
| 215 | 2005-04-05 16:49 davidfraser | ||||
| 216 | |||||
| 217 | * html/pootle.css: added goal style | ||||
| 218 | |||||
| 219 | 2005-04-05 16:20 davidfraser | ||||
| 220 | |||||
| 221 | * projects.py: modified getrights to the siteadmin always has admin | ||||
| 222 | rights to all projects more enhancements to the goals | ||||
| 223 | functionality (adding files to a goal, getting a specific goal, | ||||
| 224 | etc) fixed setting the attribute to "goalname" instead of | ||||
| 225 | goalname | ||||
| 226 | |||||
| 227 | 2005-04-05 14:19 davidfraser | ||||
| 228 | |||||
| 229 | * pagelayout.py: was only initializing adminlink if | ||||
| 230 | session.issiteadmin() or not session.isopen, changed to | ||||
| 231 | initialize correctly | ||||
| 232 | |||||
| 233 | 2005-04-05 12:31 davidfraser | ||||
| 234 | |||||
| 235 | * translatepage.py: wrong variable name | ||||
| 236 | |||||
| 237 | 2005-04-04 10:34 dwaynebailey | ||||
| 238 | |||||
| 239 | * indexpage.py: You should only be able to remove assigns if you | ||||
| 240 | actaully have the rights to assign them in the first place. | ||||
| 241 | |||||
| 242 | 2005-04-03 16:06 dwaynebailey | ||||
| 243 | |||||
| 244 | * translatepage.py: Use the quotes Luke | ||||
| 245 | |||||
| 246 | 2005-04-02 12:51 davidfraser | ||||
| 247 | |||||
| 248 | * projects.py: added initial goals interface cleaned out blank | ||||
| 249 | lines | ||||
| 250 | |||||
| 251 | 2005-04-02 12:44 davidfraser | ||||
| 252 | |||||
| 253 | * pootlefile.py: updated doc string | ||||
| 254 | |||||
| 255 | 2005-04-02 12:40 davidfraser | ||||
| 256 | |||||
| 257 | * potree.py: do something with the new translationproject created, | ||||
| 258 | and don't store getpodir result when just using it for a check | ||||
| 259 | |||||
| 260 | 2005-04-02 12:38 davidfraser | ||||
| 261 | |||||
| 262 | * pootle.py, potree.py, projects.py: moved POTree into its own new | ||||
| 263 | module, potree | ||||
| 264 | |||||
| 265 | 2005-04-02 11:57 davidfraser | ||||
| 266 | |||||
| 267 | * indexpage.py, pootlefile.py, projects.py, translatepage.py: moved | ||||
| 268 | pootlefile class into its own new file, and adjusted projects etc | ||||
| 269 | also cleaned up links in indexpage | ||||
| 270 | |||||
| 271 | 2005-04-02 11:35 davidfraser | ||||
| 272 | |||||
| 273 | * adminpages.py, indexpage.py, pootle.py, users.py: moved various | ||||
| 274 | classes from indexpage into new module adminpages, and | ||||
| 275 | UserOptions into users | ||||
| 276 | |||||
| 277 | 2005-04-01 23:12 davidfraser | ||||
| 278 | |||||
| 279 | * indexpage.py: removed extraneous function call | ||||
| 280 | |||||
| 281 | 2005-04-01 17:23 davidfraser | ||||
| 282 | |||||
| 283 | * projects.py, indexpage.py, pootle.py, translatepage.py: removed | ||||
| 284 | the terrible concept known as 'TranslationSession' implement | ||||
| 285 | rights checking in the TranslationProject added "assign" and | ||||
| 286 | "admin" rights | ||||
| 287 | |||||
| 288 | 2005-04-01 16:45 davidfraser | ||||
| 289 | |||||
| 290 | * indexpage.py, projects.py: made a method on the project that gets | ||||
| 291 | the rights and localized names available for that project (moved | ||||
| 292 | from indexpage) | ||||
| 293 | |||||
| 294 | 2005-04-01 16:28 davidfraser | ||||
| 295 | |||||
| 296 | * indexpage.py, pootle.py, projects.py: implented permissions | ||||
| 297 | system, with ability for administrator to change permissions each | ||||
| 298 | translation project now has a prefs file | ||||
| 299 | (pootle-projectcode-languagecode.prefs in the po directory) this | ||||
| 300 | has a rights attribute, which stores default rights, nobody | ||||
| 301 | rights, and rights for individual users the administrator can go | ||||
| 302 | to /language/project/admin.html to edit the rights | ||||
| 303 | |||||
| 304 | 2005-04-01 13:49 davidfraser | ||||
| 305 | |||||
| 306 | * projects.py, translatepage.py: if a entry is accessed in | ||||
| 307 | project.pofiles and it is not there, but the file exists, then | ||||
| 308 | update the index (this can happen if the timecache expires for | ||||
| 309 | example) handle files being added / removed more robustly as well | ||||
| 310 | also improved logic for setting and using pofilename in | ||||
| 311 | translatepage (was fairly inconsistent) - receivetranslations | ||||
| 312 | shouldn't set self.pofilename - also we now pick up pofilename | ||||
| 313 | from dirfilter if explicitly a PO file | ||||
| 314 | |||||
| 315 | 2005-03-31 21:02 dwaynebailey | ||||
| 316 | |||||
| 317 | * pootle.prefs, translatepage.py: If you define "specialchars" in a | ||||
| 318 | language preferences then those characters will be displayed with | ||||
| 319 | the input widget allowing users to copy and paste these | ||||
| 320 | characters into the translation. Usefull if you do not have a | ||||
| 321 | keyboard configured with these characters. | ||||
| 322 | |||||
| 323 | 2005-03-31 20:15 dwaynebailey | ||||
| 324 | |||||
| 325 | * translatepage.py: Make sure that end never points to a negative | ||||
| 326 | item. This happens when the number of items is less than | ||||
| 327 | pagesize. We disable the link in this case but just fixing this | ||||
| 328 | cause we can and it will stop it biting us later. | ||||
| 329 | |||||
| 330 | 2005-03-31 19:02 dwaynebailey | ||||
| 331 | |||||
| 332 | * TODO: More buglets | ||||
| 333 | |||||
| 334 | 2005-03-31 11:54 davidfraser | ||||
| 335 | |||||
| 336 | * indexpage.py, versioncontrol.py: only show update links if the | ||||
| 337 | directory has version control | ||||
| 338 | |||||
| 339 | 2005-03-31 08:56 dwaynebailey | ||||
| 340 | |||||
| 341 | * translatepage.py: In viewmode navifgation widget: - Start and End | ||||
| 342 | are now disabled if you are at the beginning or end of the | ||||
| 343 | file. | ||||
| 344 | |||||
| 345 | 2005-03-31 00:41 dwaynebailey | ||||
| 346 | |||||
| 347 | * translatepage.py: Make the viewmode navigation more intuative and | ||||
| 348 | user friendly: - Added Start and End links - Next 10 and Previous | ||||
| 349 | 10 do not disappear but are disabled if you are at the start or | ||||
| 350 | end of the file (confusing when they disappear) | ||||
| 351 | |||||
| 352 | 2005-03-30 23:04 dwaynebailey | ||||
| 353 | |||||
| 354 | * indexpage.py: Move Zip of folder up to the navbar. Remove the | ||||
| 355 | addnavlink method as we have no more need for this. | ||||
| 356 | |||||
| 357 | 2005-03-30 19:59 dwaynebailey | ||||
| 358 | |||||
| 359 | * TODO: Some interesting new TODO items | ||||
| 360 | |||||
| 361 | 2005-03-30 17:47 davidfraser | ||||
| 362 | |||||
| 363 | * versioncontrol.py: backup the file first and restore or remove it | ||||
| 364 | afterwards for cvs update this avoids having lots of | ||||
| 365 | .#filename.rev files left around | ||||
| 366 | |||||
| 367 | 2005-03-30 17:24 davidfraser | ||||
| 368 | |||||
| 369 | * projects.py: don't use sources to match items as thats a nice | ||||
| 370 | idea for Mozilla/OpenOffice which use IDs as sources but a | ||||
| 371 | horrible idea for everything else | ||||
| 372 | |||||
| 373 | 2005-03-30 17:13 davidfraser | ||||
| 374 | |||||
| 375 | * projects.py, versioncontrol.py: updated CVS/svn update method so | ||||
| 376 | that it now actually checks out the new version from CVS, to | ||||
| 377 | update the record of which version is current. refactored | ||||
| 378 | mergefile and created new matchitems method which mathces up | ||||
| 379 | poitems from two files and returns them use the new matchitems to | ||||
| 380 | extract current changes (equivalent to a cvs diff) and then merge | ||||
| 381 | those with the new file (equivalent to a cvs patch) also moved | ||||
| 382 | local function mergeitem to be a method, made it not try to find | ||||
| 383 | headers check properly for full name and email address when doing | ||||
| 384 | Last_Translator in versioncontrol, created helper shellescape and | ||||
| 385 | added update methods as well as introspecting what version a file | ||||
| 386 | is when getting a clean copy (BASE doesn't work here...) | ||||
| 387 | |||||
| 388 | 2005-03-30 13:47 davidfraser | ||||
| 389 | |||||
| 390 | * TODO, translatepage.py: added a copy button | ||||
| 391 | |||||
| 392 | 2005-03-30 11:48 davidfraser | ||||
| 393 | |||||
| 394 | * indexpage.py, projects.py, versioncontrol.py: added simple | ||||
| 395 | versioncontrol module (CVS method from | ||||
| 396 | http://software.cnx.rice.edu/downloads/python/pycvs/) and added | ||||
| 397 | initial implementation for merging with latest CVS/.svn version - | ||||
| 398 | this runs but what it actually *does* hasn't been tested also a | ||||
| 399 | few cleanups in projects.py | ||||
| 400 | |||||
| 401 | 2005-03-30 00:29 dwaynebailey | ||||
| 402 | |||||
| 403 | * translatepage.py: Make translation column headers translatable | ||||
| 404 | |||||
| 405 | 2005-03-29 22:06 dwaynebailey | ||||
| 406 | |||||
| 407 | * translatepage.py: There are always 7 items on a translatable page | ||||
| 408 | even if you are starting at the beginning. | ||||
| 409 | |||||
| 410 | 2005-03-29 19:51 dwaynebailey | ||||
| 411 | |||||
| 412 | * users.py: Add some value catches for email., password and full | ||||
| 413 | name to ensure that the default example values are not used. | ||||
| 414 | |||||
| 415 | 2005-03-29 18:53 dwaynebailey | ||||
| 416 | |||||
| 417 | * users.py: Correcting some confusing or incorrect wording in user | ||||
| 418 | creation | ||||
| 419 | |||||
| 420 | 2005-03-29 16:35 dwaynebailey | ||||
| 421 | |||||
| 422 | * indexpage.py: Do not display the __dummy__ user Use getattr | ||||
| 423 | function for getting email addresses as it can cope when there is | ||||
| 424 | no value set. | ||||
| 425 | |||||
| 426 | 2005-03-29 16:32 dwaynebailey | ||||
| 427 | |||||
| 428 | * pagelayout.py: Add an "Admin" quicklink if the user is a | ||||
| 429 | siteadmin. | ||||
| 430 | |||||
| 431 | 2005-03-28 15:09 dwaynebailey | ||||
| 432 | |||||
| 433 | * projects.py: The "Last-Translator" header field is now updated | ||||
| 434 | during normal translation. No update is performed for a | ||||
| 435 | suggestion but probably should be done - but who do we credit the | ||||
| 436 | suggestor or the approver? | ||||
| 437 | |||||
| 438 | 2005-03-28 09:56 dwaynebailey | ||||
| 439 | |||||
| 440 | * indexpage.py: Assignments now appear in alphabetical order | ||||
| 441 | |||||
| 442 | 2005-03-27 20:40 dwaynebailey | ||||
| 443 | |||||
| 444 | * indexpage.py: "Show Checks" is not sorted alphabetically. had to | ||||
| 445 | eliminate yield, iteritem and others so that we can sort the | ||||
| 446 | dictionary keys. This should allow us to alternatively sort | ||||
| 447 | these lists by the values also. | ||||
| 448 | |||||
| 449 | 2005-03-27 14:01 dwaynebailey | ||||
| 450 | |||||
| 451 | * indexpage.py, pagelayout.py, pootle.py, translatepage.py: When a | ||||
| 452 | user logs in they will be redirected to the folder that they were | ||||
| 453 | browsing when they decided to login. | ||||
| 454 | |||||
| 455 | TODO currently if they are viewing a file they will be returned | ||||
| 456 | to the folder that they started the view from they will not be | ||||
| 457 | returned to the place were they were viewing. | ||||
| 458 | |||||
| 459 | 2005-03-24 18:03 davidfraser | ||||
| 460 | |||||
| 461 | * translatepage.py: since PO files now handle encodings, all the | ||||
| 462 | strings are unicode when grepping, so the searchtext should be | ||||
| 463 | unicode too... | ||||
| 464 | |||||
| 465 | 2005-03-24 16:50 dwaynebailey | ||||
| 466 | |||||
| 467 | * pagelayout.py: Quick link to users home page | ||||
| 468 | |||||
| 469 | 2005-03-24 15:32 dwaynebailey | ||||
| 470 | |||||
| 471 | * indexpage.py: Remove "project root" from the sidebar and | ||||
| 472 | integrate it into the top navbar | ||||
| 473 | |||||
| 474 | 2005-03-24 14:34 dwaynebailey | ||||
| 475 | |||||
| 476 | * indexpage.py: No need for "current folder" and "parent folder" on | ||||
| 477 | indepage as these are know accesibale throught the top directory | ||||
| 478 | navigation bar. | ||||
| 479 | |||||
| 480 | 2005-03-24 14:25 dwaynebailey | ||||
| 481 | |||||
| 482 | * indexpage.py: Make the title base links browsable so that you can | ||||
| 483 | jump straight back to anywhere in the heirachy. | ||||
| 484 | |||||
| 485 | 2005-03-22 07:29 dwaynebailey | ||||
| 486 | |||||
| 487 | * translatepage.py: Translation input textarea will now resize | ||||
| 488 | depending on the size of the original or the translation. The | ||||
| 489 | maximum is an arbitrary 10 rows. | ||||
| 490 | |||||
| 491 | 2005-03-18 18:48 davidfraser | ||||
| 492 | |||||
| 493 | * TODO: added TODO abuot detecting languages | ||||
| 494 | |||||
| 495 | 2005-03-18 18:40 davidfraser | ||||
| 496 | |||||
| 497 | * users.py: fixed syntax after actually running it :-) | ||||
| 498 | |||||
| 499 | 2005-03-18 18:37 davidfraser | ||||
| 500 | |||||
| 501 | * projects.py: don't allow people to change English, and added TODO | ||||
| 502 | |||||
| 503 | 2005-03-18 18:18 davidfraser | ||||
| 504 | |||||
| 505 | * users.py: don't allow a space in the email address | ||||
| 506 | |||||
| 507 | 2005-03-18 15:06 dwaynebailey | ||||
| 508 | |||||
| 509 | * projects.py: Update PO-Revision-Date with proper timezone info. | ||||
| 510 | Seems that there is a bug in Python where it forgets timezone | ||||
| 511 | info. | ||||
| 512 | http://mail.python.org/pipermail/patches/2003-July/012899.html | ||||
| 513 | |||||
| 514 | 2005-03-18 14:45 davidfraser | ||||
| 515 | |||||
| 516 | * indexpage.py, projects.py: allow updating from templates from | ||||
| 517 | project admin page renamed "create" to "converttemplates" which | ||||
| 518 | is more accurate fixed it so it uses the new uploadpofile removed | ||||
| 519 | debug print statement | ||||
| 520 | |||||
| 521 | 2005-03-18 14:34 davidfraser | ||||
| 522 | |||||
| 523 | * projects.py: merged addnewpofile and mergepofile into | ||||
| 524 | uploadpofile fixed variable name in mergeitems | ||||
| 525 | |||||
| 526 | 2005-03-18 14:27 davidfraser | ||||
| 527 | |||||
| 528 | * indexpage.py, projects.py: added merging ability via mergefile | ||||
| 529 | currently this copies translations if the existing translation is | ||||
| 530 | blank, adds new strings (not in old file), and makes any changed | ||||
| 531 | strings suggestions factored out getuploadpath from addnewpofile, | ||||
| 532 | and added equivalent mergepofile these should probably both be | ||||
| 533 | merged down to uploadpofile also use mergepofile from create, | ||||
| 534 | though this needs development | ||||
| 535 | |||||
| 536 | 2005-03-18 13:24 dwaynebailey | ||||
| 537 | |||||
| 538 | * indexpage.py, pootle.py, projects.py: Only make MO files | ||||
| 539 | available to logged in users. | ||||
| 540 | |||||
| 541 | 2005-03-18 13:08 davidfraser | ||||
| 542 | |||||
| 543 | * TODO: have fixed accepting/rejecting suggestions | ||||
| 544 | |||||
| 545 | 2005-03-18 13:00 davidfraser | ||||
| 546 | |||||
| 547 | * projects.py: remove printout of track messages made | ||||
| 548 | deletesuggestion actually find the relevant suggestion for the | ||||
| 549 | correct item and delete that rather than just using suggitem as | ||||
| 550 | an index into the whole pending file this still needs | ||||
| 551 | improvements, but at least its not always wrong now | ||||
| 552 | |||||
| 553 | 2005-03-18 12:38 davidfraser | ||||
| 554 | |||||
| 555 | * indexpage.py: refactored actions that can take place on IndexPage | ||||
| 556 | into handleactions ensure that actions delete their arguments | ||||
| 557 | from self.argdict, so they aren't placed into other links by | ||||
| 558 | makelinks other argument handling moved to after handleactions | ||||
| 559 | |||||
| 560 | 2005-03-16 12:38 davidfraser | ||||
| 561 | |||||
| 562 | * indexpage.py: added a localizable page title that includes the | ||||
| 563 | projectname and the languagename | ||||
| 564 | |||||
| 565 | 2005-03-16 12:19 davidfraser | ||||
| 566 | |||||
| 567 | * indexpage.py, pootle.py, projects.py: removed unneccessary | ||||
| 568 | construction of translation before we try that construction :-) | ||||
| 569 | added "archive" right which allows people to download zip files, | ||||
| 570 | give it to logged-in users only display link to archive if | ||||
| 571 | allowed to download it | ||||
| 572 | |||||
| 573 | 2005-03-15 16:15 davidfraser | ||||
| 574 | |||||
| 575 | * translatepage.py: handle getting to the end of a translation | ||||
| 576 | (self.item is None) when reviewing, and don't get suggestions | ||||
| 577 | |||||
| 578 | 2005-03-15 16:11 davidfraser | ||||
| 579 | |||||
| 580 | * projects.py: actually create the directory when a new project is | ||||
| 581 | created | ||||
| 582 | |||||
| 583 | 2005-03-15 15:23 davidfraser | ||||
| 584 | |||||
| 585 | * pootle.py: made English the default language | ||||
| 586 | |||||
| 587 | 2005-03-15 15:20 davidfraser | ||||
| 588 | |||||
| 589 | * projects.py: speedup for getlanguagecodes so it doesn't end up | ||||
| 590 | recursing through directories looking for GNU files | ||||
| 591 | |||||
| 592 | 2005-03-15 14:44 davidfraser | ||||
| 593 | |||||
| 594 | * pootle.py: get the correct encoding for PO files and set on the | ||||
| 595 | header | ||||
| 596 | |||||
| 597 | 2005-03-13 20:46 dwaynebailey | ||||
| 598 | |||||
| 599 | * indexpage.py, pootle.py, users.py: Allow users to change their | ||||
| 600 | personal details | ||||
| 601 | |||||
| 602 | 2005-03-13 11:21 dwaynebailey | ||||
| 603 | |||||
| 604 | * users.py: We now capture the users full name at registration. | ||||
| 605 | Reordered the fields into something more logical. | ||||
| 606 | |||||
| 607 | 2005-03-11 17:38 dwaynebailey | ||||
| 608 | |||||
| 609 | * pootle.prefs: Example setup for MO file generation | ||||
| 610 | |||||
| 611 | 2005-03-11 17:32 dwaynebailey | ||||
| 612 | |||||
| 613 | * indexpage.py, pootle.py, projects.py: Allow download of MO files, | ||||
| 614 | compiled on the fly from the PO file. | ||||
| 615 | |||||
| 616 | Admin users can specify if a project creates MO files. Projects | ||||
| 617 | like OpenOffice.org, Mozilla, etc do not need MO file ever. | ||||
| 618 | |||||
| 619 | Correct HTTP content header to indicate correct encoding for CSV | ||||
| 620 | and PO files (NOTE: this might cause a problem if the underlying | ||||
| 621 | PO file is not UTF-8 encoded) | ||||
| 622 | |||||
| 623 | 2005-03-11 17:22 davidfraser | ||||
| 624 | |||||
| 625 | * indexpage.py, projects.py: added ability to handle uploading zip | ||||
| 626 | files (needs refinement) moved checking of upload file existence | ||||
| 627 | from indexpage to projects use cStringIO rather than StringIO | ||||
| 628 | |||||
| 629 | 2005-03-11 16:58 davidfraser | ||||
| 630 | |||||
| 631 | * projects.py: made hasgnufiles recurse subdirectories, and also | ||||
| 632 | handle no languagecode (any language) also now uses directories | ||||
| 633 | to detect non-gnustyle languagematch can also match any language | ||||
| 634 | now if languagecode is None, using languagere | ||||
| 635 | |||||
| 636 | 2005-03-11 16:57 davidfraser | ||||
| 637 | |||||
| 638 | * indexpage.py: slight simplification of | ||||
| 639 | ProjectAdminPage.getlanguageitem | ||||
| 640 | |||||
| 641 | 2005-03-11 16:41 davidfraser | ||||
| 642 | |||||
| 643 | * projects.py: implemented adding new languages to project based on | ||||
| 644 | template .pot files added new method isgnustyle which returns | ||||
| 645 | whether a whole project is gnustyle (needed when adding a new | ||||
| 646 | language) | ||||
| 647 | |||||
| 648 | 2005-03-11 15:49 davidfraser | ||||
| 649 | |||||
| 650 | * indexpage.py, pootle.py, projects.py: added project admin page | ||||
| 651 | added ability to add new languages to a project (not yet | ||||
| 652 | available for GNU-style projects) improved logic of hasproject | ||||
| 653 | |||||
| 654 | 2005-03-11 15:18 davidfraser | ||||
| 655 | |||||
| 656 | * projects.py: handle regions being separated with _ and - | ||||
| 657 | |||||
| 658 | 2005-03-11 15:10 davidfraser | ||||
| 659 | |||||
| 660 | * indexpage.py, projects.py: rather create the new file from within | ||||
| 661 | the TranslationProject (this also allows us to add new checks...) | ||||
| 662 | |||||
| 663 | 2005-03-11 13:57 davidfraser | ||||
| 664 | |||||
| 665 | * indexpage.py, projects.py: implemented PO file uploading also | ||||
| 666 | converted the TranslationProject's initpootlefiles method to a | ||||
| 667 | scanpofiles which will add / remove files that have appeared / | ||||
| 668 | disappeared | ||||
| 669 | |||||
| 670 | 2005-03-10 17:08 davidfraser | ||||
| 671 | |||||
| 672 | * translatepage.py: extract the stopped message directly rather | ||||
| 673 | than using str() as the StopIteration won't handle unicode | ||||
| 674 | properly (note that unicode(stoppedby) seems to call str first, | ||||
| 675 | giving the same problem...) | ||||
| 676 | |||||
| 677 | 2005-03-10 16:37 davidfraser | ||||
| 678 | |||||
| 679 | * pootle.py, translatepage.py: instead of returning to the | ||||
| 680 | indexpage mystically when a search is finished, display a message | ||||
| 681 | on the translatepage to indicate that (and display no | ||||
| 682 | translations) this could be cleaned up but it already should make | ||||
| 683 | things a lot cleaner... | ||||
| 684 | |||||
| 685 | 2005-03-10 16:11 davidfraser | ||||
| 686 | |||||
| 687 | * pootle.py: updated to handle change to jToolkit requiring | ||||
| 688 | webserver object (used for locking, logging etc) this will | ||||
| 689 | require jToolkit source from 20050310 or later... | ||||
| 690 | |||||
| 691 | 2005-03-09 13:33 dwaynebailey | ||||
| 692 | |||||
| 693 | * indexpage.py: Incorrect title for the user selected list of | ||||
| 694 | languages | ||||
| 695 | |||||
| 696 | 2005-03-09 13:26 dwaynebailey | ||||
| 697 | |||||
| 698 | * translatepage.py: Make "current folder" localizable | ||||
| 699 | |||||
| 700 | 2005-03-08 22:27 davidfraser | ||||
| 701 | |||||
| 702 | * TODO, indexpage.py: made arguments to indexpage sticky (will be | ||||
| 703 | remembered when going to other links, where sensible) this is | ||||
| 704 | mostly done through the makelink method which can take keyword | ||||
| 705 | arguments and override parameters, but otherwise includes all the | ||||
| 706 | argdict parameters also added a helper getboolarg method for | ||||
| 707 | reading boolean argument values | ||||
| 708 | |||||
| 709 | 2005-03-08 21:35 davidfraser | ||||
| 710 | |||||
| 711 | * indexpage.py, pootle.py: split admin page up so projects and | ||||
| 712 | languages are in separate pages | ||||
| 713 | |||||
| 714 | 2005-03-08 16:06 davidfraser | ||||
| 715 | |||||
| 716 | * TODO: have done English login as default, and running without | ||||
| 717 | Pootle PO files clarified that the PO files that need to be | ||||
| 718 | generated are the Pootle ones | ||||
| 719 | |||||
| 720 | 2005-03-08 16:01 davidfraser | ||||
| 721 | |||||
| 722 | * TODO: added TODOs from Durban feedback | ||||
| 723 | |||||
| 724 | 2005-03-08 16:01 davidfraser | ||||
| 725 | |||||
| 726 | * projects.py: implemented removing languages / projects from | ||||
| 727 | pootle don't try add a language unless a code is given | ||||
| 728 | |||||
| 729 | 2005-03-07 22:20 dwaynebailey | ||||
| 730 | |||||
| 731 | * users.py, indexpage.py: Add capturing of user full name to the | ||||
| 732 | user admin page | ||||
| 733 | |||||
| 734 | 2005-03-07 21:31 dwaynebailey | ||||
| 735 | |||||
| 736 | * pootle.prefs: dummy needs and email address also | ||||
| 737 | |||||
| 738 | 2005-03-07 21:26 dwaynebailey | ||||
| 739 | |||||
| 740 | * indexpage.py: Add missing new project field descriptors. | ||||
| 741 | |||||
| 742 | 2005-03-07 16:45 davidfraser | ||||
| 743 | |||||
| 744 | * pootle.py: handle missing languages for pootle | ||||
| 745 | |||||
| 746 | 2005-03-07 16:44 davidfraser | ||||
| 747 | |||||
| 748 | * pootle.prefs: fixed the dummy user so it doesn't cause problems | ||||
| 749 | |||||
| 750 | 2005-03-07 16:24 davidfraser | ||||
| 751 | |||||
| 752 | * pootle.py, projects.py: add in more error checks and safeguards | ||||
| 753 | for live translation, don't require it for pootle to run | ||||
| 754 | |||||
| 755 | 2005-03-07 13:42 davidfraser | ||||
| 756 | |||||
| 757 | * users.py: replaced wrong variable name ... | ||||
| 758 | |||||
| 759 | 2005-03-07 12:52 dwaynebailey | ||||
| 760 | |||||
| 761 | * indexpage.py: Correcting a localize problem Added entry fields | ||||
| 762 | for project checker on the admin page | ||||
| 763 | |||||
| 764 | 2005-03-04 17:16 davidfraser | ||||
| 765 | |||||
| 766 | * indexpage.py, projects.py, translatepage.py, html/pootle.css: | ||||
| 767 | added the ability to show tracks of what has been changed... | ||||
| 768 | |||||
| 769 | 2005-03-04 16:17 davidfraser | ||||
| 770 | |||||
| 771 | * TODO, indexpage.py, projects.py: added unassignments and remove | ||||
| 772 | links to remove assignments... | ||||
| 773 | |||||
| 774 | 2005-03-04 15:49 davidfraser | ||||
| 775 | |||||
| 776 | * indexpage.py: added link to user admin page | ||||
| 777 | |||||
| 778 | 2005-03-04 15:42 davidfraser | ||||
| 779 | |||||
| 780 | * TODO: added yet more thigns to do :-) | ||||
| 781 | |||||
| 782 | 2005-03-04 15:34 davidfraser | ||||
| 783 | |||||
| 784 | * indexpage.py, pootle.py, users.py: added user admin page where | ||||
| 785 | you can add pages | ||||
| 786 | |||||
| 787 | 2005-03-03 18:48 davidfraser | ||||
| 788 | |||||
| 789 | * projects.py: don't assume classname is in self.classify (from a | ||||
| 790 | traceback, this happened) | ||||
| 791 | |||||
| 792 | 2005-03-03 18:42 davidfraser | ||||
| 793 | |||||
| 794 | * projects.py: updated gettext with real code from ugettext | ||||
| 795 | |||||
| 796 | 2005-03-03 13:46 davidfraser | ||||
| 797 | |||||
| 798 | * projects.py: make regional directory names return the full path, | ||||
| 799 | not just the name | ||||
| 800 | |||||
| 801 | 2005-03-02 23:52 davidfraser | ||||
| 802 | |||||
| 803 | * projects.py: removed debug print statements for ugettext | ||||
| 804 | |||||
| 805 | 2005-03-02 23:49 davidfraser | ||||
| 806 | |||||
| 807 | * translatepage.py: only show assigns box if showassigns is true | ||||
| 808 | (need a way to set this parameter without adding it to the URL | ||||
| 809 | manually) disabled assignments requirement for now... | ||||
| 810 | |||||
| 811 | 2005-03-02 09:35 davidfraser | ||||
| 812 | |||||
| 813 | * projects.py: readpofile got deleted inadvertently in last commit, | ||||
| 814 | restoring | ||||
| 815 | |||||
| 816 | 2005-03-01 21:57 davidfraser | ||||
| 817 | |||||
| 818 | * pootle.py, projects.py: use the pootle project to translate | ||||
| 819 | itself live, by adding the required methods to the | ||||
| 820 | TranslationProject and hooking them up in the server | ||||
| 821 | |||||
| 822 | 2005-03-01 20:57 davidfraser | ||||
| 823 | |||||
| 824 | * pootle.prefs, projects.py: simplified po directory structure | ||||
| 825 | rather than allowing multiple directories, allow only one, | ||||
| 826 | defined on the instance as podirectory also, don't allow/require | ||||
| 827 | the user to specify the $project and $language components of the | ||||
| 828 | directory directories must be defined as project/language under | ||||
| 829 | the main po directory for GNU-style directories, they must simply | ||||
| 830 | be project under the main po directory | ||||
| 831 | |||||
| 832 | 2005-02-28 17:20 davidfraser | ||||
| 833 | |||||
| 834 | * indexpage.py: only show the assignment box if show assigns is | ||||
| 835 | selected | ||||
| 836 | |||||
| 837 | 2005-02-26 00:42 davidfraser | ||||
| 838 | |||||
| 839 | * translatepage.py: added assign box for site admin on translate | ||||
| 840 | page also set default search to only search assignments... this | ||||
| 841 | needs to be fixed up properly! | ||||
| 842 | |||||
| 843 | 2005-02-26 00:13 davidfraser | ||||
| 844 | |||||
| 845 | * indexpage.py, projects.py: added basic interface to let site | ||||
| 846 | admin assign things to users | ||||
| 847 | |||||
| 848 | 2005-02-25 23:37 davidfraser | ||||
| 849 | |||||
| 850 | * indexpage.py, projects.py: added interface to show assignments | ||||
| 851 | |||||
| 852 | 2005-02-16 16:54 davidfraser | ||||
| 853 | |||||
| 854 | * html/doc/resources.html: added a link to the wiki | ||||
| 855 | |||||
| 856 | 2005-02-16 12:19 davidfraser | ||||
| 857 | |||||
| 858 | * html/doc/: index.html, resources.html: added explanation, link to | ||||
| 859 | resources, and took out leftover "up" link | ||||
| 860 | |||||
| 861 | 2005-02-16 12:09 davidfraser | ||||
| 862 | |||||
| 863 | * pagelayout.py: added link to documentation | ||||
| 864 | |||||
| 865 | 2005-02-16 12:09 davidfraser | ||||
| 866 | |||||
| 867 | * html/doc/index.html: added simple doc index | ||||
| 868 | |||||
| 869 | 2005-02-16 12:03 davidfraser | ||||
| 870 | |||||
| 871 | * html/doc/howto.html: fixed links that pointed to html dir | ||||
| 872 | |||||
| 873 | 2005-02-14 16:55 davidfraser | ||||
| 874 | |||||
| 875 | * projects.py: simplified the code for checking language / region | ||||
| 876 | codes using sre | ||||
| 877 | |||||
| 878 | 2005-02-14 16:46 davidfraser | ||||
| 879 | |||||
| 880 | * projects.py: added a function to make filenames with language and | ||||
| 881 | region code match for gnu-style projects note that this implies | ||||
| 882 | that if there is more than one region for a language, all the | ||||
| 883 | regions will match | ||||
| 884 | |||||
| 885 | 2005-02-14 14:03 davidfraser | ||||
| 886 | |||||
| 887 | * projects.py: fixed alphanum -> alnum and allow underscores in | ||||
| 888 | project names | ||||
| 889 | |||||
| 890 | 2005-02-11 14:36 dwaynebailey | ||||
| 891 | |||||
| 892 | * html/doc/howto.html: HOWTO use Pootle by Kamber Dotan | ||||
| 893 | <kamberd@yahoo.com> | ||||
| 894 | |||||
| 895 | 2005-02-10 17:45 davidfraser | ||||
| 896 | |||||
| 897 | * projects.py: added some simple PyLucene-based indexing (only will | ||||
| 898 | run if PyLucene is installed) this needs to be redone to handle | ||||
| 899 | individual items, but already speeds up text search a lot by | ||||
| 900 | skipping over files that don't have the given text | ||||
| 901 | |||||
| 902 | 2005-02-04 09:01 davidfraser | ||||
| 903 | |||||
| 904 | * projects.py: if we don't have a new project code, then ignore the | ||||
| 905 | blank value... | ||||
| 906 | |||||
| 907 | 2005-02-04 08:58 davidfraser | ||||
| 908 | |||||
| 909 | * projects.py: added better check for projectcode (could contain | ||||
| 910 | numbers too) | ||||
| 911 | |||||
| 912 | 2005-02-04 08:54 davidfraser | ||||
| 913 | |||||
| 914 | * indexpage.py: added title for checker style, and actually | ||||
| 915 | retrieve it TODO: get rid of these getter methods, do it sensibly | ||||
| 916 | :-) | ||||
| 917 | |||||
| 918 | 2005-02-04 08:49 davidfraser | ||||
| 919 | |||||
| 920 | * projects.py: fixed pychecker errors (session -> self.session, | ||||
| 921 | unneccessary import, variable misname, unused variable) | ||||
| 922 | |||||
| 923 | 2005-01-30 18:34 dwaynebailey | ||||
| 924 | |||||
| 925 | * indexpage.py, pootle.prefs, projects.py: You can now set the | ||||
| 926 | checker style for the project. Might be good to later make this | ||||
| 927 | more fine grained so yo can make custom syles. | ||||
| 928 | |||||
| 929 | 2005-01-28 18:41 davidfraser | ||||
| 930 | |||||
| 931 | * indexpage.py: if the user doesn't have any quicklinks, explain | ||||
| 932 | why... | ||||
| 933 | |||||
| 934 | 2005-01-28 18:40 davidfraser | ||||
| 935 | |||||
| 936 | * TODO: now have an admin page :-) | ||||
| 937 | |||||
| 938 | 2005-01-28 18:33 davidfraser | ||||
| 939 | |||||
| 940 | * indexpage.py, pootle.py: added general options section to admin | ||||
| 941 | page, code to change options to PootleServer added default values | ||||
| 942 | for title and description, set them if missing in PootleServer | ||||
| 943 | |||||
| 944 | 2005-01-28 18:14 davidfraser | ||||
| 945 | |||||
| 946 | * indexpage.py, projects.py: ability to add new languages and | ||||
| 947 | projects via the admin page | ||||
| 948 | |||||
| 949 | 2005-01-28 18:04 davidfraser | ||||
| 950 | |||||
| 951 | * indexpage.py: added titles to admin page tables, made sure Remove | ||||
| 952 | %s is localized | ||||
| 953 | |||||
| 954 | 2005-01-28 17:58 davidfraser | ||||
| 955 | |||||
| 956 | * indexpage.py, pootle.py, projects.py: added projects editing to | ||||
| 957 | language page, similar to language editing | ||||
| 958 | |||||
| 959 | 2005-01-28 17:50 davidfraser | ||||
| 960 | |||||
| 961 | * indexpage.py, pootle.py, projects.py: added admin page which | ||||
| 962 | should let the site admin add/remove/change languages/projects | ||||
| 963 | etc underlying changes are done through the potree which can now | ||||
| 964 | save the prefs file | ||||
| 965 | |||||
| 966 | 2005-01-28 17:26 davidfraser | ||||
| 967 | |||||
| 968 | * users.py: a cleaner way of validating the projects and languages | ||||
| 969 | in a user's prefs... | ||||
| 970 | |||||
| 971 | 2005-01-28 17:14 davidfraser | ||||
| 972 | |||||
| 973 | * users.py: make sure that if there are no projects or languages | ||||
| 974 | defined we don't return a "" code... | ||||
| 975 | |||||
| 976 | 2005-01-28 17:01 davidfraser | ||||
| 977 | |||||
| 978 | * indexpage.py, pootle.py: split up the user options into a | ||||
| 979 | separate page took out verbose admin page description | ||||
| 980 | |||||
| 981 | 2005-01-28 16:54 davidfraser | ||||
| 982 | |||||
| 983 | * indexpage.py: replaced all the strange ways of setting up titles | ||||
| 984 | with a simple pagelayout.Title in so doing corrected a h2 ... h3 | ||||
| 985 | that caused layout problems | ||||
| 986 | |||||
| 987 | 2005-01-28 16:37 davidfraser | ||||
| 988 | |||||
| 989 | * indexpage.py, pagelayout.py: added pagelayout.Title class to | ||||
| 990 | prevent repitition (only one entry changed) added a link to a | ||||
| 991 | (not yet existing) site admin page if the user is a siteadmin | ||||
| 992 | |||||
| 993 | 2005-01-28 16:34 davidfraser | ||||
| 994 | |||||
| 995 | * users.py: make sure that the session's prefs get updated when the | ||||
| 996 | session is opened or closed add a method to check if the current | ||||
| 997 | user has site admin rights | ||||
| 998 | |||||
| 999 | 2005-01-28 16:09 davidfraser | ||||
| 1000 | |||||
| 1001 | * pagelayout.py: removed some stuff from the Sidebar (shrinking it | ||||
| 1002 | to move it to the top) | ||||
| 1003 | |||||
| 1004 | 2005-01-28 16:07 davidfraser | ||||
| 1005 | |||||
| 1006 | * indexpage.py, pootle.py: added about page, with more details | ||||
| 1007 | about the pootle project etc (moved some of that off the home | ||||
| 1008 | page) | ||||
| 1009 | |||||
| 1010 | 2005-01-28 15:29 davidfraser | ||||
| 1011 | |||||
| 1012 | * pootle.py, users.py: changed my/ home directory to home/ (after | ||||
| 1013 | all, my/ is Burmese :-)) simplified PootleSession code by adding | ||||
| 1014 | .prefs attribute started adding rights code | ||||
| 1015 | |||||
| 1016 | 2005-01-28 15:07 davidfraser | ||||
| 1017 | |||||
| 1018 | * pootle.py: go to user page after login | ||||
| 1019 | |||||
| 1020 | 2005-01-25 07:32 davidfraser | ||||
| 1021 | |||||
| 1022 | * indexpage.py: added language titles to user quicklinks | ||||
| 1023 | |||||
| 1024 | 2005-01-25 07:23 davidfraser | ||||
| 1025 | |||||
| 1026 | * indexpage.py: only show projects that exist in user quicklinks | ||||
| 1027 | |||||
| 1028 | 2005-01-25 07:21 davidfraser | ||||
| 1029 | |||||
| 1030 | * indexpage.py: added quick links to project-language combinations | ||||
| 1031 | for user fixed up docstrings | ||||
| 1032 | |||||
| 1033 | 2005-01-25 07:02 davidfraser | ||||
| 1034 | |||||
| 1035 | * users.py, indexpage.py, pootle.py: movied saveuserprefs onto the | ||||
| 1036 | session object added ability to set user languages in my page | ||||
| 1037 | save prefs when user changes options | ||||
| 1038 | |||||
| 1039 | 2005-01-24 21:52 davidfraser | ||||
| 1040 | |||||
| 1041 | * pootle.py, indexpage.py, users.py: added functions to help store | ||||
| 1042 | user prefs added initial /my page where the user can choose | ||||
| 1043 | projects | ||||
| 1044 | |||||
| 1045 | 2005-01-24 17:50 davidfraser | ||||
| 1046 | |||||
| 1047 | * TODO: added TODO about plurals | ||||
| 1048 | |||||
| 1049 | 2005-01-24 17:36 davidfraser | ||||
| 1050 | |||||
| 1051 | * pootle.py, users.py: moved some more registration / activation | ||||
| 1052 | code into the users module where it belongs | ||||
| 1053 | |||||
| 1054 | 2005-01-24 17:14 davidfraser | ||||
| 1055 | |||||
| 1056 | * projects.py: return the first string for plural msgstr (and added | ||||
| 1057 | a TODO to handle this properly) | ||||
| 1058 | |||||
| 1059 | 2005-01-24 16:08 davidfraser | ||||
| 1060 | |||||
| 1061 | * users.py: fixed an old session.localize that should have been | ||||
| 1062 | self, and was misspelt! | ||||
| 1063 | |||||
| 1064 | 2005-01-20 12:27 davidfraser | ||||
| 1065 | |||||
| 1066 | * translatepage.py: reduce needs an initial value in case diffcodes | ||||
| 1067 | is empty (no difference) | ||||
| 1068 | |||||
| 1069 | 2005-01-20 10:50 davidfraser | ||||
| 1070 | |||||
| 1071 | * html/pootle.css: added border for diff styles so that the | ||||
| 1072 | insertion / removal place can be seen in the other string even | ||||
| 1073 | though it contains no text | ||||
| 1074 | |||||
| 1075 | 2005-01-20 10:43 davidfraser | ||||
| 1076 | |||||
| 1077 | * translatepage.py, html/pootle.css: use tags to represent | ||||
| 1078 | different kinds of changes when displaying diffs this gives us | ||||
| 1079 | red background for removed text, green for added, yellow for | ||||
| 1080 | modified | ||||
| 1081 | |||||
| 1082 | 2005-01-19 22:48 davidfraser | ||||
| 1083 | |||||
| 1084 | * indexpage.py: added a link to an archive of the current folder's | ||||
| 1085 | po files don't actually need to import projects as we use | ||||
| 1086 | everything via the potree object | ||||
| 1087 | |||||
| 1088 | 2005-01-19 22:47 davidfraser | ||||
| 1089 | |||||
| 1090 | * pootle.py, projects.py: added ability to make archives of zip | ||||
| 1091 | files, either using the zip command line tool or python's zipfile | ||||
| 1092 | module (which is slower) | ||||
| 1093 | |||||
| 1094 | 2005-01-19 20:54 davidfraser | ||||
| 1095 | |||||
| 1096 | * pootle.py: set localedomains so it's not required in the prefs | ||||
| 1097 | file | ||||
| 1098 | |||||
| 1099 | 2005-01-19 20:15 davidfraser | ||||
| 1100 | |||||
| 1101 | * TODO: fixed escaping and quoting problems | ||||
| 1102 | |||||
| 1103 | 2005-01-19 20:12 davidfraser | ||||
| 1104 | |||||
| 1105 | * projects.py: added methods "unquotefrompo" and "quoteforpo" to | ||||
| 1106 | mirror the functions in translate.storage.po, but allow us to | ||||
| 1107 | tweak them as desired the only current required tweak is to | ||||
| 1108 | ignore the \r before \n sent with submitted text strings | ||||
| 1109 | |||||
| 1110 | 2005-01-19 16:24 davidfraser | ||||
| 1111 | |||||
| 1112 | * projects.py: we shouldn't include escapes in unquoted strings... | ||||
| 1113 | |||||
| 1114 | 2005-01-19 14:01 dwaynebailey | ||||
| 1115 | |||||
| 1116 | * TODO: Some pointers for compilation | ||||
| 1117 | |||||
| 1118 | 2005-01-19 13:39 davidfraser | ||||
| 1119 | |||||
| 1120 | * translatepage.py: try to space out the original text better using | ||||
| 1121 | the line breaks from the po file handle quoting of the pofilename | ||||
| 1122 | properly when its in a URL (other + will get translated to space) | ||||
| 1123 | |||||
| 1124 | 2005-01-19 12:40 davidfraser | ||||
| 1125 | |||||
| 1126 | * projects.py: added a custom filter error handler so errors in | ||||
| 1127 | filters don't prevent work happening, they just record the filter | ||||
| 1128 | as failing | ||||
| 1129 | |||||
| 1130 | 2005-01-19 11:18 davidfraser | ||||
| 1131 | |||||
| 1132 | * translatepage.py: escape orig and trans text properly also escape | ||||
| 1133 | inside suggestions which needs to be done when highlighting the | ||||
| 1134 | diffs to prevent confusion | ||||
| 1135 | |||||
| 1136 | 2005-01-19 10:52 davidfraser | ||||
| 1137 | |||||
| 1138 | * indexpage.py, pagelayout.py: always display the project root, and | ||||
| 1139 | give it some proper text (project and language) and description | ||||
| 1140 | also display it before the current/parent folder add ability to | ||||
| 1141 | have tooltip in folderlinks | ||||
| 1142 | |||||
| 1143 | 2005-01-19 10:51 davidfraser | ||||
| 1144 | |||||
| 1145 | * projects.py: store the projectdescription as an attribute on the | ||||
| 1146 | TranslationProject | ||||
| 1147 | |||||
| 1148 | 2005-01-19 10:35 davidfraser | ||||
| 1149 | |||||
| 1150 | * indexpage.py: added projectdescription in other indexes | ||||
| 1151 | |||||
| 1152 | 2005-01-19 10:32 davidfraser | ||||
| 1153 | |||||
| 1154 | * pootle.py, projects.py: check if project exists at all when | ||||
| 1155 | looking in projects folder (e.g. 'favicon.ico' is not a project | ||||
| 1156 | :-)) ability to check if project exists at all when languagecode | ||||
| 1157 | is none in potree.hasproject | ||||
| 1158 | |||||
| 1159 | 2005-01-19 10:31 davidfraser | ||||
| 1160 | |||||
| 1161 | * html/pootle.css: make table titles bold centered and colored | ||||
| 1162 | |||||
| 1163 | 2005-01-19 10:24 davidfraser | ||||
| 1164 | |||||
| 1165 | * pootle.py: ignoring languagenames if the list is empty has now | ||||
| 1166 | been done in jToolkit | ||||
| 1167 | |||||
| 1168 | 2005-01-14 13:08 dwaynebailey | ||||
| 1169 | |||||
| 1170 | * indexpage.py, pootle.prefs, projects.py: Projects listed on the | ||||
| 1171 | front page now have a tooltip which gives a short description of | ||||
| 1172 | the project. | ||||
| 1173 | |||||
| 1174 | 2005-01-14 13:03 davidfraser | ||||
| 1175 | |||||
| 1176 | * indexpage.py, pagelayout.py, pootle.py, translatepage.py, | ||||
| 1177 | users.py: fixed up localize code - generally use self.localize | ||||
| 1178 | instead of session.localize since that isn't available everywhere | ||||
| 1179 | if no languages are avilable for login, don't show the dropdown | ||||
| 1180 | box | ||||
| 1181 | |||||
| 1182 | 2005-01-14 12:14 davidfraser | ||||
| 1183 | |||||
| 1184 | * pagelayout.py, html/favicon.ico: added favicon support | ||||
| 1185 | |||||
| 1186 | 2005-01-13 15:16 dwaynebailey | ||||
| 1187 | |||||
| 1188 | * TODO: Bug in searching at the PO files level | ||||
| 1189 | |||||
| 1190 | 2005-01-13 15:08 dwaynebailey | ||||
| 1191 | |||||
| 1192 | * TODO: Goto specific message wish | ||||
| 1193 | |||||
| 1194 | 2005-01-12 15:09 dwaynebailey | ||||
| 1195 | |||||
| 1196 | * indexpage.py, pagelayout.py, projects.py, translatepage.py, | ||||
| 1197 | users.py: Add session.localize everywhere so that we can create | ||||
| 1198 | translated versions of Pootle. Still needs language selection | ||||
| 1199 | enabled and checking to see that we have everything and haven't | ||||
| 1200 | broken anything. Then translation can begin. Only about 250 | ||||
| 1201 | words of translation required. | ||||
| 1202 | |||||
| 1203 | 2005-01-12 14:31 davidfraser | ||||
| 1204 | |||||
| 1205 | * TODO: what's the point of a TODO list if it doesn't keep growing? | ||||
| 1206 | stuff heather wants, and registration is basically working now | ||||
| 1207 | |||||
| 1208 | 2005-01-12 12:52 davidfraser | ||||
| 1209 | |||||
| 1210 | * pootle.py, users.py: started moving user handling code into new | ||||
| 1211 | users.py module | ||||
| 1212 | |||||
| 1213 | 2005-01-12 12:03 davidfraser | ||||
| 1214 | |||||
| 1215 | * pootle.py: improved some mesages | ||||
| 1216 | |||||
| 1217 | 2005-01-12 12:00 davidfraser | ||||
| 1218 | |||||
| 1219 | * pootle.py: remove inadvertent commit | ||||
| 1220 | |||||
| 1221 | 2005-01-12 11:51 davidfraser | ||||
| 1222 | |||||
| 1223 | * pootle.py: don't show session status unless it is! show link when | ||||
| 1224 | redirecting | ||||
| 1225 | |||||
| 1226 | 2005-01-12 11:44 davidfraser | ||||
| 1227 | |||||
| 1228 | * pootle.py: more email cleanup, use mailer support for reply-to so | ||||
| 1229 | it works properly | ||||
| 1230 | |||||
| 1231 | 2005-01-12 11:37 davidfraser | ||||
| 1232 | |||||
| 1233 | * pootle.py: make registration errors have their own class so we | ||||
| 1234 | don't miss underlying errors added support email address improved | ||||
| 1235 | messages do real check for email address, only check password on | ||||
| 1236 | new registration | ||||
| 1237 | |||||
| 1238 | 2005-01-12 11:09 davidfraser | ||||
| 1239 | |||||
| 1240 | * pootle.py: tried to simplify registration / activation process by | ||||
| 1241 | automatically filling in username where possible also try to add | ||||
| 1242 | a direct activate link to the account creation email, and tried | ||||
| 1243 | to improve email error message | ||||
| 1244 | |||||
| 1245 | 2005-01-12 10:49 davidfraser | ||||
| 1246 | |||||
| 1247 | * html/robots.txt: exclude search engines from pootle | ||||
| 1248 | |||||
| 1249 | 2005-01-11 16:37 davidfraser | ||||
| 1250 | |||||
| 1251 | * TODO: we can now detect languages in GNU-style directories by | ||||
| 1252 | checking if there any files for a language | ||||
| 1253 | |||||
| 1254 | 2005-01-11 14:05 davidfraser | ||||
| 1255 | |||||
| 1256 | * projects.py: do a full recount for refreshstats handle mismatch | ||||
| 1257 | of string type between msgid and msgstr | ||||
| 1258 | |||||
| 1259 | 2005-01-11 13:59 davidfraser | ||||
| 1260 | |||||
| 1261 | * projects.py: make sure if a project is gnu-style that we check | ||||
| 1262 | that files actually exist before reporting hasproject = True | ||||
| 1263 | |||||
| 1264 | 2005-01-10 16:48 davidfraser | ||||
| 1265 | |||||
| 1266 | * pootle.py: extracted main into separate function | ||||
| 1267 | |||||
| 1268 | 2005-01-10 16:47 davidfraser | ||||
| 1269 | |||||
| 1270 | * projects.py: added further check on modify time in timecache | ||||
| 1271 | |||||
| 1272 | 2005-01-10 13:06 davidfraser | ||||
| 1273 | |||||
| 1274 | * projects.py: added initial code to try and reduce memory | ||||
| 1275 | requirements by using a timecache for pofiles and expiring them | ||||
| 1276 | (reverting from parsed file to mere stats) after 15 minutes | ||||
| 1277 | |||||
| 1278 | 2005-01-10 12:31 davidfraser | ||||
| 1279 | |||||
| 1280 | * translatepage.py: error when search finished didn't include | ||||
| 1281 | searchtext | ||||
| 1282 | |||||
| 1283 | 2005-01-10 11:36 davidfraser | ||||
| 1284 | |||||
| 1285 | * TODO: have done separate prefs files for users, changed priority | ||||
| 1286 | of upload | ||||
| 1287 | |||||
| 1288 | 2005-01-10 10:46 davidfraser | ||||
| 1289 | |||||
| 1290 | * pootle.py: updated to work with new loginchecker in jToolkit, and | ||||
| 1291 | handle separate userprefs files | ||||
| 1292 | |||||
| 1293 | 2005-01-05 19:41 dwaynebailey | ||||
| 1294 | |||||
| 1295 | * TODO: Some wishes and some bugs | ||||
| 1296 | |||||
| 1297 | 2004-12-31 17:21 dwaynebailey | ||||
| 1298 | |||||
| 1299 | * TODO: Allow custom headers for downloaded PO files so that users | ||||
| 1300 | will not have to configure (or break things) with a po file in | ||||
| 1301 | for instance PO edit. | ||||
| 1302 | |||||
| 1303 | 2004-12-20 12:29 davidfraser | ||||
| 1304 | |||||
| 1305 | * TODO: added TODO about quotes | ||||
| 1306 | |||||
| 1307 | 2004-12-17 12:48 davidfraser | ||||
| 1308 | |||||
| 1309 | * pagelayout.py: added link to Activate since the redirection seems | ||||
| 1310 | broken and people can't find it | ||||
| 1311 | |||||
| 1312 | 2004-12-17 10:53 dwaynebailey | ||||
| 1313 | |||||
| 1314 | * README: Reflow and other layout fixes. Make things read a bit | ||||
| 1315 | better and ... I'm sure add some spelling mistakes. | ||||
| 1316 | |||||
| 1317 | 2004-12-14 16:30 davidfraser | ||||
| 1318 | |||||
| 1319 | * html/images/: edit.png, file.png, folder.png, person.png: added | ||||
| 1320 | new icon images | ||||
| 1321 | |||||
| 1322 | 2004-12-14 15:21 davidfraser | ||||
| 1323 | |||||
| 1324 | * translatepage.py: show the number of strings in the current po | ||||
| 1325 | file in the current position also calculate lastitem correctly if | ||||
| 1326 | its the last item in the file | ||||
| 1327 | |||||
| 1328 | 2004-12-09 17:16 davidfraser | ||||
| 1329 | |||||
| 1330 | * pagelayout.py, translatepage.py, html/pootle.css: added | ||||
| 1331 | background color alternation for translations note that tooltips | ||||
| 1332 | for checks are now gone ... | ||||
| 1333 | |||||
| 1334 | 2004-12-09 16:32 davidfraser | ||||
| 1335 | |||||
| 1336 | * translatepage.py, pagelayout.py, html/pootle.css: put odd and | ||||
| 1337 | even styles into css rather than calculating font colors | ||||
| 1338 | |||||
| 1339 | 2004-12-09 15:30 davidfraser | ||||
| 1340 | |||||
| 1341 | * translatepage.py: stopped automatically limiting to assigned work | ||||
| 1342 | when logged in instead, use URL parameters. Still need to create | ||||
| 1343 | links to these ... | ||||
| 1344 | |||||
| 1345 | 2004-12-09 13:31 davidfraser | ||||
| 1346 | |||||
| 1347 | * translatepage.py: added page links to bottom of form too made | ||||
| 1348 | page link numbers viewable for humans by adding 1 :-) | ||||
| 1349 | |||||
| 1350 | 2004-12-09 13:13 davidfraser | ||||
| 1351 | |||||
| 1352 | * translatepage.py: refactored pagelinks into getpagelinks, added | ||||
| 1353 | description of current items | ||||
| 1354 | |||||
| 1355 | 2004-12-09 12:53 davidfraser | ||||
| 1356 | |||||
| 1357 | * translatepage.py: don't show translated text as a text area if | ||||
| 1358 | you can't change it | ||||
| 1359 | |||||
| 1360 | 2004-12-09 12:52 davidfraser | ||||
| 1361 | |||||
| 1362 | * TODO: added TODOs that have come up through testing | ||||
| 1363 | |||||
| 1364 | 2004-12-09 12:49 davidfraser | ||||
| 1365 | |||||
| 1366 | * indexpage.py, translatepage.py: changed links for quick | ||||
| 1367 | translate, review suggestions so they are present even if user | ||||
| 1368 | has no rights, but have a different name don't switch into view | ||||
| 1369 | mode if user can't translate, as they can only skip through the | ||||
| 1370 | translations anyway | ||||
| 1371 | |||||
| 1372 | 2004-12-09 12:44 davidfraser | ||||
| 1373 | |||||
| 1374 | * translatepage.py: implemented more fine-grained rights control | ||||
| 1375 | over which buttons are shown added some docstrings allow | ||||
| 1376 | reviewmode even if not allowed to review, as only skip buttons | ||||
| 1377 | will be shown | ||||
| 1378 | |||||
| 1379 | 2004-12-09 12:34 davidfraser | ||||
| 1380 | |||||
| 1381 | * pootle.py, projects.py: generate RightsErrors if people try and | ||||
| 1382 | make changes they're not allowed to | ||||
| 1383 | |||||
| 1384 | 2004-12-09 12:28 davidfraser | ||||
| 1385 | |||||
| 1386 | * indexpage.py, projects.py, translatepage.py: added basic rights | ||||
| 1387 | management. currently this limits any changes to logged-in | ||||
| 1388 | users. it only works by disabling links, more work is needed | ||||
| 1389 | |||||
| 1390 | 2004-12-09 12:08 dwaynebailey | ||||
| 1391 | |||||
| 1392 | * TODO: Add wish for download of compiled PO and Qt .ts files | ||||
| 1393 | |||||
| 1394 | 2004-12-08 11:14 davidfraser | ||||
| 1395 | |||||
| 1396 | * indexpage.py: fixed main link which should always point to the | ||||
| 1397 | current folder | ||||
| 1398 | |||||
| 1399 | 2004-12-08 11:10 davidfraser | ||||
| 1400 | |||||
| 1401 | * indexpage.py, pagelayout.py: polarity was done before sort, fixed | ||||
| 1402 | it so its easy to set on the item and do it after the sort | ||||
| 1403 | |||||
| 1404 | 2004-12-07 16:58 davidfraser | ||||
| 1405 | |||||
| 1406 | * html/images/pootle.jpg: hand-drawn cartoon | ||||
| 1407 | |||||
| 1408 | 2004-12-07 16:53 davidfraser | ||||
| 1409 | |||||
| 1410 | * indexpage.py, pagelayout.py, html/pootle.css: added switching | ||||
| 1411 | background color for alternating item rows | ||||
| 1412 | |||||
| 1413 | 2004-12-07 16:38 davidfraser | ||||
| 1414 | |||||
| 1415 | * indexpage.py: made headings always link to item so we don't need | ||||
| 1416 | "Browse/View" added getbrowseurl function to make that easier | ||||
| 1417 | added option to say which links are required from getactionlinks | ||||
| 1418 | leave out checks by default, only show in heading changed checks | ||||
| 1419 | to show/hide checks based on current value fixed showchecks | ||||
| 1420 | detection (work if it comes in as unicode) | ||||
| 1421 | |||||
| 1422 | 2004-12-07 16:21 davidfraser | ||||
| 1423 | |||||
| 1424 | * html/pootle.css: added icon style (floating) | ||||
| 1425 | |||||
| 1426 | 2004-12-07 16:16 davidfraser | ||||
| 1427 | |||||
| 1428 | * indexpage.py, pagelayout.py: added some icons, and sorted | ||||
| 1429 | directories and files added an Icon class | ||||
| 1430 | |||||
| 1431 | 2004-12-06 23:03 davidfraser | ||||
| 1432 | |||||
| 1433 | * projects.py, translatepage.py: record who suggested a suggestion | ||||
| 1434 | in the msgid comment, look it up when displaying it later. fairly | ||||
| 1435 | crude | ||||
| 1436 | |||||
| 1437 | 2004-12-06 22:46 davidfraser | ||||
| 1438 | |||||
| 1439 | * README, projects.py: keep track of our latest pomtime in | ||||
| 1440 | pootlefile so we re-read the file if it changes we use | ||||
| 1441 | self.pomtime to reflect whether we have parsed the file as well | ||||
| 1442 | (note: this needs to be done with care so that it is only set | ||||
| 1443 | after parsing and classification and stats are done) new method | ||||
| 1444 | pofreshen can be used to make sure the file is parsed and up to | ||||
| 1445 | date updated the README to reflect the fact that reindexing is | ||||
| 1446 | now automatic also added a note about how to do assignments | ||||
| 1447 | |||||
| 1448 | 2004-12-06 22:15 davidfraser | ||||
| 1449 | |||||
| 1450 | * translatepage.py: set search.assignedaction based on the current | ||||
| 1451 | mode (search for things the user has been assigned to | ||||
| 1452 | review/suggest) | ||||
| 1453 | |||||
| 1454 | 2004-12-06 22:09 davidfraser | ||||
| 1455 | |||||
| 1456 | * projects.py, translatepage.py: refactored pofilename searching | ||||
| 1457 | into separate method matchessearch for each pofilename added | ||||
| 1458 | assignment searching to pofilename searching replaced | ||||
| 1459 | search.assigncondition with search.assignedto and | ||||
| 1460 | search.assignedaction improved pootlefile.iteritems to handle | ||||
| 1461 | either/both search.assign attributes fixed up docstrings to | ||||
| 1462 | reflect new search parameter updated translatepage to use the new | ||||
| 1463 | Search syntax | ||||
| 1464 | |||||
| 1465 | 2004-12-06 21:33 davidfraser | ||||
| 1466 | |||||
| 1467 | * projects.py, translatepage.py: rearranged all the search | ||||
| 1468 | parameters into a single object to make it easier to pass them | ||||
| 1469 | around | ||||
| 1470 | |||||
| 1471 | 2004-12-06 20:13 davidfraser | ||||
| 1472 | |||||
| 1473 | * translatepage.py: redid editlinks to float at the top right of | ||||
| 1474 | the cell ; in this way they don't appear "out the box" | ||||
| 1475 | |||||
| 1476 | 2004-12-06 11:05 davidfraser | ||||
| 1477 | |||||
| 1478 | * pootle.py: was sending the submitted password to the original | ||||
| 1479 | email address which was nuts we don't have the actual password, | ||||
| 1480 | only the md5sum, but send it anyway :-) | ||||
| 1481 | |||||
| 1482 | 2004-12-06 10:46 davidfraser | ||||
| 1483 | |||||
| 1484 | * projects.py, translatepage.py: added the ability to search within | ||||
| 1485 | a file based on assign conditions (file searches still need this) | ||||
| 1486 | added "suggest" assignment search when logged in | ||||
| 1487 | |||||
| 1488 | 2004-12-05 12:17 davidfraser | ||||
| 1489 | |||||
| 1490 | * projects.py: added code for handling ".assigns" files which store | ||||
| 1491 | who has been assigned what ... | ||||
| 1492 | |||||
| 1493 | 2004-12-05 11:45 davidfraser | ||||
| 1494 | |||||
| 1495 | * projects.py: added caching for pending files (if file is updated | ||||
| 1496 | it will be re-read) store pending file time in stats file, since | ||||
| 1497 | it depends on that too... added method to reclassify all items' | ||||
| 1498 | suggestion status moved project.iterpoitems to pofile.iteritems, | ||||
| 1499 | call getstats to update them if required | ||||
| 1500 | |||||
| 1501 | 2004-12-05 10:55 davidfraser | ||||
| 1502 | |||||
| 1503 | * projects.py: getmodtime needs absolute, not relative filename | ||||
| 1504 | |||||
| 1505 | 2004-12-05 10:53 davidfraser | ||||
| 1506 | |||||
| 1507 | * projects.py: made getmodtime a function that takes a filename so | ||||
| 1508 | it is useful for files other than pofile.filename | ||||
| 1509 | |||||
| 1510 | 2004-12-05 10:43 davidfraser | ||||
| 1511 | |||||
| 1512 | * projects.py, translatepage.py: removed code storing lastitem, | ||||
| 1513 | pofilename on session (since they're stored in the browser state | ||||
| 1514 | anyway) | ||||
| 1515 | |||||
| 1516 | 2004-12-05 10:04 davidfraser | ||||
| 1517 | |||||
| 1518 | * projects.py: cache the mtime of the stats file as well so if it | ||||
| 1519 | is changed it will be re-read automatically this should enable | ||||
| 1520 | updating the stats separately to the web server | ||||
| 1521 | |||||
| 1522 | 2004-12-05 09:50 davidfraser | ||||
| 1523 | |||||
| 1524 | * indexpage.py: mainstats was passing actual directory rather than | ||||
| 1525 | relative one ("") to getitemstats so check links were wrong | ||||
| 1526 | |||||
| 1527 | 2004-12-05 09:42 davidfraser | ||||
| 1528 | |||||
| 1529 | * projects.py: fixed up logic for when to read stats, handling | ||||
| 1530 | missing stats files save stats after reclassifying elements | ||||
| 1531 | removed translationproject's stats cache, renamed initstatscache | ||||
| 1532 | to initpootlefiles | ||||
| 1533 | |||||
| 1534 | 2004-12-05 09:22 davidfraser | ||||
| 1535 | |||||
| 1536 | * indexpage.py: blank dirfilter should be None so the logic works | ||||
| 1537 | right | ||||
| 1538 | |||||
| 1539 | 2004-12-04 22:48 davidfraser | ||||
| 1540 | |||||
| 1541 | * projects.py: major refactor of TranslationProject so most of the | ||||
| 1542 | POfile-specific stuff gets handled in pootlefile, derived from | ||||
| 1543 | pofile bugs remain (it will forget about all your strings) but | ||||
| 1544 | once they're fixed it'll be lekka :-) | ||||
| 1545 | |||||
| 1546 | 2004-12-04 22:34 davidfraser | ||||
| 1547 | |||||
| 1548 | * translatepage.py, html/pootle.css: made the current editable row | ||||
| 1549 | highlighted in light gray (found this in the prototype, looks | ||||
| 1550 | leet) | ||||
| 1551 | |||||
| 1552 | 2004-12-03 23:37 davidfraser | ||||
| 1553 | |||||
| 1554 | * TODO, projects.py: added basic support for GNU-style | ||||
| 1555 | project/languagecode.po this has made the code too complex, | ||||
| 1556 | hopefully can be simplified | ||||
| 1557 | |||||
| 1558 | 2004-12-03 23:17 davidfraser | ||||
| 1559 | |||||
| 1560 | * pootle.py: remember email address fixed emailing (needs message | ||||
| 1561 | to be a proper mail message) | ||||
| 1562 | |||||
| 1563 | 2004-12-03 23:05 davidfraser | ||||
| 1564 | |||||
| 1565 | * pootle.prefs: set baseurl to / which should work in most cases | ||||
| 1566 | added default smtpserver of localhost (for registration emails | ||||
| 1567 | etc) | ||||
| 1568 | |||||
| 1569 | 2004-12-03 23:05 davidfraser | ||||
| 1570 | |||||
| 1571 | * pootle.py: added basic system for registration and activation | ||||
| 1572 | changed to allow user to specify password added minimum password | ||||
| 1573 | length of 6 improved operation in frozen conditions (e.g. py2exe) | ||||
| 1574 | by setting directory names properly | ||||
| 1575 | |||||
| 1576 | 2004-12-03 22:29 dwaynebailey | ||||
| 1577 | |||||
| 1578 | * TODO: More things to do | ||||
| 1579 | |||||
| 1580 | 2004-12-03 21:44 davidfraser | ||||
| 1581 | |||||
| 1582 | * translatepage.py: made suggestion captions start at 1 move skip | ||||
| 1583 | button for suggestions to last suggdiv | ||||
| 1584 | |||||
| 1585 | 2004-12-03 21:40 davidfraser | ||||
| 1586 | |||||
| 1587 | * projects.py: refactored method to get filenames so its actually | ||||
| 1588 | done by potree, not the TranslationProject this should make it | ||||
| 1589 | easier to handle the GNU-style layout fixed docstring for | ||||
| 1590 | getpodir | ||||
| 1591 | |||||
| 1592 | 2004-12-03 21:12 davidfraser | ||||
| 1593 | |||||
| 1594 | * TODO: moved translatathon requirements added requirement for | ||||
| 1595 | GNU-style ar.po filenames | ||||
| 1596 | |||||
| 1597 | 2004-12-03 17:43 davidfraser | ||||
| 1598 | |||||
| 1599 | * indexpage.py: added stats for the main item (if it's not a po | ||||
| 1600 | file, in which case you can see them under the po file) corrected | ||||
| 1601 | links for check names (were missing a &) | ||||
| 1602 | |||||
| 1603 | 2004-12-03 16:26 dwaynebailey | ||||
| 1604 | |||||
| 1605 | * TODO: More TODO items | ||||
| 1606 | |||||
| 1607 | 2004-12-03 12:46 davidfraser | ||||
| 1608 | |||||
| 1609 | * TODO: added more TODOs from dwayne | ||||
| 1610 | |||||
| 1611 | 2004-12-02 22:46 davidfraser | ||||
| 1612 | |||||
| 1613 | * indexpage.py, pagelayout.py, html/pootle.css: made the MainItem | ||||
| 1614 | stand out ... link directory titles to Browse that directory | ||||
| 1615 | handle dirfilter being None intelligently | ||||
| 1616 | |||||
| 1617 | 2004-12-02 22:29 davidfraser | ||||
| 1618 | |||||
| 1619 | * TODO, indexpage.py, html/pootle.css: don't show actionlinks if | ||||
| 1620 | dirfilter is a po file, and put them in a standard Item reordered | ||||
| 1621 | code to make it more logical, put navlinks into separate function | ||||
| 1622 | adjusted stylesheet so margin is below whole item, not only if it | ||||
| 1623 | has statistics | ||||
| 1624 | |||||
| 1625 | 2004-12-02 21:55 davidfraser | ||||
| 1626 | |||||
| 1627 | * indexpage.py: refactored main action links (at top of page) to | ||||
| 1628 | use getactionlinks too factored out new method getchilditems | ||||
| 1629 | rather than having this in the constructor checkslink was never | ||||
| 1630 | included, also handle basename == "" in getactionlinks | ||||
| 1631 | |||||
| 1632 | 2004-12-02 21:45 davidfraser | ||||
| 1633 | |||||
| 1634 | * indexpage.py: refactored ProjectIndex to share more code between | ||||
| 1635 | diritem and fileitem | ||||
| 1636 | |||||
| 1637 | 2004-12-02 21:12 davidfraser | ||||
| 1638 | |||||
| 1639 | * projects.py: use new keyword arguments to pogrepfilter | ||||
| 1640 | |||||
| 1641 | 2004-12-02 16:20 davidfraser | ||||
| 1642 | |||||
| 1643 | * html/pootle.css: removed gratuitous spacing and case-changes | ||||
| 1644 | |||||
| 1645 | 2004-12-02 16:18 davidfraser | ||||
| 1646 | |||||
| 1647 | * TODO: added basic diffing, so it's not TODO anymore :-) | ||||
| 1648 | |||||
| 1649 | 2004-11-29 15:42 davidfraser | ||||
| 1650 | |||||
| 1651 | * translatepage.py: rearranged breaks in review mode, added skip | ||||
| 1652 | button | ||||
| 1653 | |||||
| 1654 | 2004-11-29 15:01 davidfraser | ||||
| 1655 | |||||
| 1656 | * translatepage.py: added basic diffs using difflib (tries to | ||||
| 1657 | highlight in yellow what has changed) (handles multiple | ||||
| 1658 | suggestions in a semi-intelligent way) added breaks between lines | ||||
| 1659 | in review... | ||||
| 1660 | |||||
| 1661 | 2004-11-27 23:05 davidfraser | ||||
| 1662 | |||||
| 1663 | * translatepage.py: added hidden widget for suggestion text so we | ||||
| 1664 | know what it is when processing the form | ||||
| 1665 | |||||
| 1666 | 2004-11-27 22:44 davidfraser | ||||
| 1667 | |||||
| 1668 | * projects.py: sort languages and projects by code... | ||||
| 1669 | |||||
| 1670 | 2004-11-27 19:01 davidfraser | ||||
| 1671 | |||||
| 1672 | * translatepage.py: changed 'original' in review to 'Current | ||||
| 1673 | Translation' | ||||
| 1674 | |||||
| 1675 | 2004-11-27 18:48 davidfraser | ||||
| 1676 | |||||
| 1677 | * translatepage.py: simplify suggestions system so they're not | ||||
| 1678 | editable text boxes... | ||||
| 1679 | |||||
| 1680 | 2004-11-27 18:24 davidfraser | ||||
| 1681 | |||||
| 1682 | * pootle.py, projects.py: added ability to manually refresh all the | ||||
| 1683 | stats from the commandline... | ||||
| 1684 | |||||
| 1685 | 2004-11-27 18:06 davidfraser | ||||
| 1686 | |||||
| 1687 | * TODO: we need to be able to distinguish between (for example) | ||||
| 1688 | pt_BR and pt_PR, and openoffice 1.1.3 and openoffice 2.0 | ||||
| 1689 | |||||
| 1690 | 2004-11-27 18:03 davidfraser | ||||
| 1691 | |||||
| 1692 | * indexpage.py, pootle.py, projects.py: added a project page for | ||||
| 1693 | each project that lists the valid languages added a method to | ||||
| 1694 | potree that lets you get the languagecodes for a specific project | ||||
| 1695 | |||||
| 1696 | 2004-11-27 17:31 davidfraser | ||||
| 1697 | |||||
| 1698 | * indexpage.py, pootle.prefs, projects.py: changed the structure of | ||||
| 1699 | pootle.prefs so instead of having to define every project under | ||||
| 1700 | every language, you define: projects, in its own top-level tree | ||||
| 1701 | languages, in its own top-level tree directories, using | ||||
| 1702 | "$project" and "$language" to denote project (you can either | ||||
| 1703 | just define a directorysearch as a string, or have a node which | ||||
| 1704 | defines the project / language and a directory - see the | ||||
| 1705 | examples) added links to projects as well (still need to define | ||||
| 1706 | index for them...) | ||||
| 1707 | |||||
| 1708 | 2004-11-27 16:53 davidfraser | ||||
| 1709 | |||||
| 1710 | * pagelayout.py: use SeparatedList for linking ActionLinks together | ||||
| 1711 | |||||
| 1712 | 2004-11-27 16:36 davidfraser | ||||
| 1713 | |||||
| 1714 | * TODO, indexpage.py, projects.py: when suggestions are made or | ||||
| 1715 | rejected, delete the stats to invalidate them in indexpage, only | ||||
| 1716 | show "review" links if the item has suggestions | ||||
| 1717 | |||||
| 1718 | 2004-11-27 16:14 davidfraser | ||||
| 1719 | |||||
| 1720 | * translatepage.py: need access to translations to calculate links, | ||||
| 1721 | so making a member of translatepage... | ||||
| 1722 | |||||
| 1723 | 2004-11-26 14:50 davidfraser | ||||
| 1724 | |||||
| 1725 | * TODO: added new requirements from Dwayne | ||||
| 1726 | |||||
| 1727 | 2004-11-25 15:00 davidfraser | ||||
| 1728 | |||||
| 1729 | * TODO: added TODOs, mostly for what would be needed for a | ||||
| 1730 | translatathon | ||||
| 1731 | |||||
| 1732 | 2004-11-25 12:18 davidfraser | ||||
| 1733 | |||||
| 1734 | * README, __init__.py, pootle.prefs, pootle.py, server.py: renamed | ||||
| 1735 | server.py to pootle.py so it's a more sensible thing to run... | ||||
| 1736 | NOTE: this requires change the prefs' import statement (See | ||||
| 1737 | pootle.prefs) | ||||
| 1738 | |||||
| 1739 | 2004-11-23 23:32 davidfraser | ||||
| 1740 | |||||
| 1741 | * html/images/logo.gif: remove gif file (have png) | ||||
| 1742 | |||||
| 1743 | 2004-11-23 23:30 davidfraser | ||||
| 1744 | |||||
| 1745 | * pagelayout.py: replaced gif with png | ||||
| 1746 | |||||
| 1747 | 2004-11-23 23:29 davidfraser | ||||
| 1748 | |||||
| 1749 | * html/images/: gap.png, logo.png, top.png: replaced gif with png | ||||
| 1750 | and added missing files | ||||
| 1751 | |||||
| 1752 | 2004-11-23 23:27 davidfraser | ||||
| 1753 | |||||
| 1754 | * projects.py, translatepage.py: made suggest/submit user | ||||
| 1755 | selectable (will be configured later) - separate button to submit | ||||
| 1756 | suggestion / change got rid of unused (and confusing!) contents | ||||
| 1757 | variable | ||||
| 1758 | |||||
| 1759 | 2004-11-23 23:03 davidfraser | ||||
| 1760 | |||||
| 1761 | * projects.py: fixes to logic so has-suggestion statistics are kept | ||||
| 1762 | correct, and pending files are saved at the right time | ||||
| 1763 | |||||
| 1764 | 2004-11-23 22:48 davidfraser | ||||
| 1765 | |||||
| 1766 | * translatepage.py: remember last item for skips, accepts, rejects, | ||||
| 1767 | not just submits made a tooltip on the original text showing the | ||||
| 1768 | classes it belongs to... | ||||
| 1769 | |||||
| 1770 | 2004-11-23 22:40 davidfraser | ||||
| 1771 | |||||
| 1772 | * projects.py, translatepage.py: require the suggestion item number | ||||
| 1773 | for acceptsuggestion and rejectsuggestion, and remove from the | ||||
| 1774 | pending file this is fairly brutal and no checks are done rename | ||||
| 1775 | TranslatePage.translationsession to .session to save long names | ||||
| 1776 | :-) | ||||
| 1777 | |||||
| 1778 | 2004-11-23 22:36 davidfraser | ||||
| 1779 | |||||
| 1780 | * indexpage.py: added reviewlink to main toolbar fixed up review | ||||
| 1781 | URLs to include the basename properly | ||||
| 1782 | |||||
| 1783 | 2004-11-23 22:34 davidfraser | ||||
| 1784 | |||||
| 1785 | * translatepage.py: refactored receivetranslations so it can handle | ||||
| 1786 | multiple actions - skip, submit, accept, reject this works by | ||||
| 1787 | having an id (item or item.suggid) in each button which will only | ||||
| 1788 | be received if the item is clicked moved call to gettranslations | ||||
| 1789 | to inside maketable this allows us to call getsuggestions from | ||||
| 1790 | there too to handle the review process refactored getorigcell / | ||||
| 1791 | gettranscell to only fetch the div specialized gettrans into | ||||
| 1792 | gettransedit/review/view replaced all row-based ids with absolute | ||||
| 1793 | item-based ids (that actually refer to the item number in the po | ||||
| 1794 | file) | ||||
| 1795 | |||||
| 1796 | 2004-11-23 22:32 davidfraser | ||||
| 1797 | |||||
| 1798 | * projects.py: added stubs to accept / reject suggestions modified | ||||
| 1799 | checks for pofile being a filename to allow unicode too added | ||||
| 1800 | existence check before deleting stats added TODO about caching | ||||
| 1801 | pending file | ||||
| 1802 | |||||
| 1803 | 2004-11-23 21:16 davidfraser | ||||
| 1804 | |||||
| 1805 | * html/pootle.css: make action links invisible by default | ||||
| 1806 | (javascript will show them when needed) | ||||
| 1807 | |||||
| 1808 | 2004-11-23 21:13 davidfraser | ||||
| 1809 | |||||
| 1810 | * translatepage.py: refactored table generation, moved stuff back | ||||
| 1811 | into one method so it can be made more versatile | ||||
| 1812 | |||||
| 1813 | 2004-11-20 17:35 davidfraser | ||||
| 1814 | |||||
| 1815 | * indexpage.py, translatepage.py: added initial review support. | ||||
| 1816 | currently just prints out suggestions to command line | ||||
| 1817 | |||||
| 1818 | 2004-11-20 17:34 davidfraser | ||||
| 1819 | |||||
| 1820 | * projects.py: let getsuggestions receive either a pofile or a | ||||
| 1821 | pofilename | ||||
| 1822 | |||||
| 1823 | 2004-11-20 17:27 davidfraser | ||||
| 1824 | |||||
| 1825 | * projects.py: added getsuggestions method for looking up | ||||
| 1826 | suggestions for a particular item remember a pofile's filename | ||||
| 1827 | (should actually do this anyway) added statistics calculation for | ||||
| 1828 | suggestions provided more error-handling for stats files | ||||
| 1829 | |||||
| 1830 | 2004-11-20 17:05 davidfraser | ||||
| 1831 | |||||
| 1832 | * projects.py: started adding support for suggestions by using | ||||
| 1833 | pending files | ||||
| 1834 | |||||
| 1835 | 2004-11-20 16:24 davidfraser | ||||
| 1836 | |||||
| 1837 | * translatepage.py: don't return blank and check-blank's blank ... | ||||
| 1838 | also sort matchnames so output is consistent... | ||||
| 1839 | |||||
| 1840 | 2004-11-20 15:55 davidfraser | ||||
| 1841 | |||||
| 1842 | * projects.py: added method to get list of classes an item belongs | ||||
| 1843 | to | ||||
| 1844 | |||||
| 1845 | 2004-11-20 15:54 davidfraser | ||||
| 1846 | |||||
| 1847 | * TODO: client ip lookup ability now in jToolkit | ||||
| 1848 | |||||
| 1849 | 2004-11-17 10:42 davidfraser | ||||
| 1850 | |||||
| 1851 | * projects.py: added code so when an item is changed, we only have | ||||
| 1852 | to reclassify that item, not all the elements in the pofile | ||||
| 1853 | |||||
| 1854 | 2004-11-17 10:33 davidfraser | ||||
| 1855 | |||||
| 1856 | * projects.py: refactored classifyelements to use classifyelement | ||||
| 1857 | for each element | ||||
| 1858 | |||||
| 1859 | 2004-11-17 10:16 davidfraser | ||||
| 1860 | |||||
| 1861 | * projects.py: refactored classification code into classifyelements | ||||
| 1862 | method reclassify elements after save... | ||||
| 1863 | |||||
| 1864 | 2004-11-17 08:54 davidfraser | ||||
| 1865 | |||||
| 1866 | * html/pootle.css: float the translation text so it lines up better | ||||
| 1867 | with the action | ||||
| 1868 | |||||
| 1869 | 2004-11-16 23:08 davidfraser | ||||
| 1870 | |||||
| 1871 | * indexpage.py, translatepage.py: fixed up current folder links so | ||||
| 1872 | when you are in a .po file they still point to the current folder | ||||
| 1873 | |||||
| 1874 | 2004-11-16 23:00 davidfraser | ||||
| 1875 | |||||
| 1876 | * indexpage.py: made quick translate only appear if there are | ||||
| 1877 | untranslated (or fuzzy) strings | ||||
| 1878 | |||||
| 1879 | 2004-11-16 22:52 davidfraser | ||||
| 1880 | |||||
| 1881 | * pagelayout.py, translatepage.py, html/pootle.css, | ||||
| 1882 | html/js/autoexpand.js: tried to make edit links floatable this is | ||||
| 1883 | half working but the layout is hard :-) | ||||
| 1884 | |||||
| 1885 | 2004-11-13 17:53 davidfraser | ||||
| 1886 | |||||
| 1887 | * TODO, pootle.prefs, projects.py, server.py: beefened up | ||||
| 1888 | registration a little ... handles errors, requires proper | ||||
| 1889 | username etc | ||||
| 1890 | |||||
| 1891 | 2004-11-13 17:34 davidfraser | ||||
| 1892 | |||||
| 1893 | * pootle.prefs: Added demo prefs file | ||||
| 1894 | |||||
| 1895 | 2004-11-13 17:33 davidfraser | ||||
| 1896 | |||||
| 1897 | * README, server.py: html is actually underneath this directory | ||||
| 1898 | fixed wrong python file name in README added some notes | ||||
| 1899 | |||||
| 1900 | 2004-11-13 17:25 davidfraser | ||||
| 1901 | |||||
| 1902 | * README: added simple README | ||||
| 1903 | |||||
| 1904 | 2004-11-13 17:20 davidfraser | ||||
| 1905 | |||||
| 1906 | * indexpage.py, pagelayout.py, translatepage.py: refactored folder | ||||
| 1907 | links so they're in pagelayout also moved addsearchbox to the | ||||
| 1908 | main PootlePage object | ||||
| 1909 | |||||
| 1910 | 2004-11-13 17:07 davidfraser | ||||
| 1911 | |||||
| 1912 | * TODO, indexpage.py, pagelayout.py, translatepage.py: moved | ||||
| 1913 | searchbox construction into pagelayout added searchbox to index | ||||
| 1914 | pages updated TODO | ||||
| 1915 | |||||
| 1916 | 2004-11-13 16:55 davidfraser | ||||
| 1917 | |||||
| 1918 | * TODO, projects.py, translatepage.py: TranslationSession seems to | ||||
| 1919 | be fading away ... easier to do direct through the project use | ||||
| 1920 | project's searchpoitems rather than getnextitems from session, | ||||
| 1921 | remember pofilename and last item for page added basic search | ||||
| 1922 | using pogrep, to searchpoitems, and added text book to | ||||
| 1923 | translation page for it | ||||
| 1924 | |||||
| 1925 | 2004-11-13 16:30 davidfraser | ||||
| 1926 | |||||
| 1927 | * indexpage.py, pagelayout.py, html/pootle.css: made special class | ||||
| 1928 | for action links so we can separate them out a bit... changed | ||||
| 1929 | CSS so the separators aren't white! | ||||
| 1930 | |||||
| 1931 | 2004-11-13 16:19 davidfraser | ||||
| 1932 | |||||
| 1933 | * TODO, projects.py: made each project use an appropriate checker | ||||
| 1934 | also use special PO checkers that do checks on the whole poel | ||||
| 1935 | |||||
| 1936 | 2004-11-13 16:10 davidfraser | ||||
| 1937 | |||||
| 1938 | * indexpage.py, translatepage.py: refactored links to file, folders | ||||
| 1939 | in translatepage added links to current folder, parent folder, | ||||
| 1940 | project root in indexpage | ||||
| 1941 | |||||
| 1942 | 2004-11-13 15:47 davidfraser | ||||
| 1943 | |||||
| 1944 | * TODO, indexpage.py, projects.py, translatepage.py: did some more | ||||
| 1945 | refactoring, got viewing / browsing working readonably got rid of | ||||
| 1946 | getitemsbefore / getitemsafter, replaced with getitems move | ||||
| 1947 | translationsession.getitem to translationproject where it makes | ||||
| 1948 | more sense separated out the item finding in gettranslations to | ||||
| 1949 | finditem, save it in self.item | ||||
| 1950 | |||||
| 1951 | 2004-11-13 15:32 davidfraser | ||||
| 1952 | |||||
| 1953 | * projects.py, translatepage.py: fixed up page links with the help | ||||
| 1954 | of a getpofilelen method | ||||
| 1955 | |||||
| 1956 | 2004-11-13 15:29 davidfraser | ||||
| 1957 | |||||
| 1958 | * indexpage.py, translatepage.py: refactored translatepage | ||||
| 1959 | gettranslations so the actual html table generation is done by | ||||
| 1960 | maketable added link to "view" translations in which case you can | ||||
| 1961 | browse through 10 at a time with links to previous / next | ||||
| 1962 | |||||
| 1963 | 2004-11-13 15:05 davidfraser | ||||
| 1964 | |||||
| 1965 | * indexpage.py, server.py, translatepage.py: added code to catch | ||||
| 1966 | when a set of search items is finished and display a message The | ||||
| 1967 | message could probably be clearer but at least it works out if no | ||||
| 1968 | items matched at all... | ||||
| 1969 | |||||
| 1970 | 2004-11-13 14:40 davidfraser | ||||
| 1971 | |||||
| 1972 | * projects.py: refactored searching methods to create iterators | ||||
| 1973 | makes it a lot more logical and coherent, and allows us to catch | ||||
| 1974 | StopIteration exceptions elsewhere... | ||||
| 1975 | |||||
| 1976 | 2004-11-13 14:12 davidfraser | ||||
| 1977 | |||||
| 1978 | * projects.py: rename translationproject -> project, getlanguage -> | ||||
| 1979 | getlanguageprefs for clarity | ||||
| 1980 | |||||
| 1981 | 2004-11-13 14:07 davidfraser | ||||
| 1982 | |||||
| 1983 | * indexpage.py, projects.py, server.py, translatepage.py: don't | ||||
| 1984 | make language and project prefs accessible through POTree - | ||||
| 1985 | rather iterate through codes renamed translationproject to | ||||
| 1986 | project in indexpage, server restore showing full names for | ||||
| 1987 | language, project where needed | ||||
| 1988 | |||||
| 1989 | 2004-11-13 13:21 davidfraser | ||||
| 1990 | |||||
| 1991 | * projects.py, translatepage.py: made the TranslationProject use | ||||
| 1992 | the potree to find its podir and other attributes added getpodir | ||||
| 1993 | function to POTree renamed "translationproject" to "project" in | ||||
| 1994 | translatepage.py | ||||
| 1995 | |||||
| 1996 | 2004-11-13 13:17 davidfraser | ||||
| 1997 | |||||
| 1998 | * indexpage.py, projects.py, server.py, translatepage.py: finished | ||||
| 1999 | up making sure we don't use the language and project prefnodes | ||||
| 2000 | anywhere these are basically only used to get full names for | ||||
| 2001 | languages/projects so provided functions to get those | ||||
| 2002 | |||||
| 2003 | 2004-11-13 13:00 davidfraser | ||||
| 2004 | |||||
| 2005 | * translatepage.py: never renamed project, subproject to language, | ||||
| 2006 | project... | ||||
| 2007 | |||||
| 2008 | 2004-11-13 12:56 davidfraser | ||||
| 2009 | |||||
| 2010 | * indexpage.py, server.py: more conversion to potree rather than | ||||
| 2011 | using prefnodes directly removed unused cachetables parameter | ||||
| 2012 | |||||
| 2013 | 2004-11-13 12:48 davidfraser | ||||
| 2014 | |||||
| 2015 | * projects.py, server.py: filled out iterating methods in POTree | ||||
| 2016 | |||||
| 2017 | 2004-11-13 12:37 davidfraser | ||||
| 2018 | |||||
| 2019 | * projects.py, server.py: added default options for startup added | ||||
| 2020 | POTree class in projects, use that to manage languages/projects | ||||
| 2021 | rather than reading from prefs directly | ||||
| 2022 | |||||
| 2023 | 2004-11-10 09:13 davidfraser | ||||
| 2024 | |||||
| 2025 | * projects.py, translatepage.py: did some simplification of | ||||
| 2026 | translation session, factored out getitem method made argdict a | ||||
| 2027 | member of TranslatePage, to simplify access added Edit link for | ||||
| 2028 | each item that lets you go straight to edit that item | ||||
| 2029 | |||||
| 2030 | 2004-11-10 08:53 davidfraser | ||||
| 2031 | |||||
| 2032 | * indexpage.py, projects.py, server.py: pass argdict in to | ||||
| 2033 | ProjectIndex, use that for showchecks rather than a special | ||||
| 2034 | variable use showchecks parameter rather than checks.html to | ||||
| 2035 | determine checking allow ProjectIndex to work on a single file | ||||
| 2036 | added browse and checks links per file allow projects code to | ||||
| 2037 | handle individual po files | ||||
| 2038 | |||||
| 2039 | 2004-11-10 08:30 davidfraser | ||||
| 2040 | |||||
| 2041 | * TODO, indexpage.py, projects.py, translatepage.py: instead of | ||||
| 2042 | translate page defaulting to quick translate, pass fuzzy and | ||||
| 2043 | blank as parameters similarly projects code doesn't default to | ||||
| 2044 | fuzzy & blank, it defaults to matchnames=[] which allows | ||||
| 2045 | everything DONE: renamed start translate | ||||
| 2046 | |||||
| 2047 | 2004-11-10 08:19 davidfraser | ||||
| 2048 | |||||
| 2049 | * indexpage.py: changed "Start Translating" to "Quick Translate" | ||||
| 2050 | Don't show the name of the file everywhere for PO files | ||||
| 2051 | |||||
| 2052 | 2004-11-10 08:14 davidfraser | ||||
| 2053 | |||||
| 2054 | * projects.py: renamed po2csvmod -> po2csv (filename changed) | ||||
| 2055 | |||||
| 2056 | 2004-11-08 19:00 davidfraser | ||||
| 2057 | |||||
| 2058 | * TODO: Added pootle TODO | ||||
| 2059 | |||||
| 2060 | 2004-11-04 22:11 davidfraser | ||||
| 2061 | |||||
| 2062 | * server.py: added mani program to allow server to run webserver | ||||
| 2063 | itself (will allow deefault options in future) | ||||
| 2064 | |||||
| 2065 | 2004-11-04 16:07 davidfraser | ||||
| 2066 | |||||
| 2067 | * projects.py: have made po2csv into po2csvmod.py and po2csv | ||||
| 2068 | |||||
| 2069 | 2004-11-04 16:06 davidfraser | ||||
| 2070 | |||||
| 2071 | * translatepage.py: added list of checks in sidebar | ||||
| 2072 | |||||
| 2073 | 2004-11-04 16:00 davidfraser | ||||
| 2074 | |||||
| 2075 | * indexpage.py, projects.py, server.py, translatepage.py: create | ||||
| 2076 | clickable links to be able to go through files that failed checks | ||||
| 2077 | dded matchnames as an option to TranslationSession.getnextitem | ||||
| 2078 | only get translationproject once in server | ||||
| 2079 | |||||
| 2080 | 2004-11-04 15:43 davidfraser | ||||
| 2081 | |||||
| 2082 | * indexpage.py: factored out check details, apply it to both dirs | ||||
| 2083 | and files (also don't say "files" when summarising a file...) | ||||
| 2084 | |||||
| 2085 | 2004-11-04 15:35 davidfraser | ||||
| 2086 | |||||
| 2087 | * indexpage.py, projects.py: renamed the checks to check- so we | ||||
| 2088 | don't show normal statistics as checks | ||||
| 2089 | |||||
| 2090 | 2004-11-04 15:28 davidfraser | ||||
| 2091 | |||||
| 2092 | * indexpage.py, projects.py, server.py, html/pootle.css: added code | ||||
| 2093 | to include checks and show statistics on them ... | ||||
| 2094 | |||||
| 2095 | 2004-11-04 14:33 davidfraser | ||||
| 2096 | |||||
| 2097 | * projects.py: renamed subproject to project | ||||
| 2098 | |||||
| 2099 | 2004-11-04 10:31 davidfraser | ||||
| 2100 | |||||
| 2101 | * indexpage.py: refactored summarizing statistics | ||||
| 2102 | |||||
| 2103 | 2004-11-03 22:44 davidfraser | ||||
| 2104 | |||||
| 2105 | * indexpage.py, server.py: finished project->language and | ||||
| 2106 | subproject->project rename | ||||
| 2107 | |||||
| 2108 | 2004-11-03 14:50 davidfraser | ||||
| 2109 | |||||
| 2110 | * indexpage.py, server.py, translatepage.py: added link to current | ||||
| 2111 | folder from translate page made banner height smaller except for | ||||
| 2112 | main page | ||||
| 2113 | |||||
| 2114 | 2004-11-03 14:30 davidfraser | ||||
| 2115 | |||||
| 2116 | * html/pootle.css: added some missing styles from translate.css | ||||
| 2117 | |||||
| 2118 | 2004-11-03 14:19 davidfraser | ||||
| 2119 | |||||
| 2120 | * html/: pootle.css, images/logo.gif, images/pootle.jpg, | ||||
| 2121 | js/autoexpand.js: added images | ||||
| 2122 | |||||
| 2123 | 2004-11-03 14:07 davidfraser | ||||
| 2124 | |||||
| 2125 | * indexpage.py: fixed language links, misreplaced project/language | ||||
| 2126 | names made Start Transating link look nice | ||||
| 2127 | |||||
| 2128 | 2004-11-03 13:59 davidfraser | ||||
| 2129 | |||||
| 2130 | * indexpage.py, server.py: renamed "project" to "language" | ||||
| 2131 | |||||
| 2132 | 2004-11-03 11:02 davidfraser | ||||
| 2133 | |||||
| 2134 | * server.py: pass the login page class to the underlying server | ||||
| 2135 | |||||
| 2136 | 2004-11-03 10:00 davidfraser | ||||
| 2137 | |||||
| 2138 | * server.py: added support for browsing through directories and | ||||
| 2139 | files added support for downloading po files and csv files | ||||
| 2140 | updated to use non-database user details in prefs files improved | ||||
| 2141 | registration -> login redirection made a lot of the required | ||||
| 2142 | prefs optional, and added support for saving prefs currently | ||||
| 2143 | emailing username + passwords is disabled, the message is printed | ||||
| 2144 | on stdout | ||||
| 2145 | |||||
| 2146 | 2004-11-03 09:54 davidfraser | ||||
| 2147 | |||||
| 2148 | * pagelayout.py: made a lot of the required prefs optional and have | ||||
| 2149 | defaults | ||||
| 2150 | |||||
| 2151 | 2004-11-03 09:45 davidfraser | ||||
| 2152 | |||||
| 2153 | * indexpage.py: added support for browsing through the files / | ||||
| 2154 | directories in a project this allows browsing or translating at a | ||||
| 2155 | given granularity also don't require the project node to have a | ||||
| 2156 | fullname attribute | ||||
| 2157 | |||||
| 2158 | 2004-11-03 09:40 davidfraser | ||||
| 2159 | |||||
| 2160 | * translatepage.py: refactored generation of translation rows so we | ||||
| 2161 | don't have to call before / item / after separately refactored | ||||
| 2162 | receivetranslations into a function, handle skipping added | ||||
| 2163 | dirfilter support so the translatepage can be used with more | ||||
| 2164 | granularity (used when finding the next item) | ||||
| 2165 | |||||
| 2166 | 2004-11-03 09:24 davidfraser | ||||
| 2167 | |||||
| 2168 | * projects.py: added dir filtering ability, code to browse through | ||||
| 2169 | po filenames and directories in a useful way added support for | ||||
| 2170 | skipping translations added pofilenames option for calculatestats | ||||
| 2171 | for retrieving stats in finer granularity added support for | ||||
| 2172 | getting po file source and converting to csv (needs a po2csv | ||||
| 2173 | module) this fits in with other refactoring in the other files | ||||
| 2174 | |||||
| 2175 | 2004-10-28 08:48 davidfraser | ||||
| 2176 | |||||
| 2177 | * server.py: passwordgen is in jToolkit not pootle | ||||
| 2178 | |||||
| 2179 | 2004-10-28 08:45 davidfraser | ||||
| 2180 | |||||
| 2181 | * pagelayout.py, server.py: added link to register added password | ||||
| 2182 | generation and emailing | ||||
| 2183 | |||||
| 2184 | 2004-10-28 07:33 davidfraser | ||||
| 2185 | |||||
| 2186 | * indexpage.py, pagelayout.py, server.py, translatepage.py: made | ||||
| 2187 | PootlePage automatically wrap the main contents in a #content div | ||||
| 2188 | |||||
| 2189 | 2004-10-27 23:00 davidfraser | ||||
| 2190 | |||||
| 2191 | * server.py: added very simple registration (username=password) | ||||
| 2192 | |||||
| 2193 | 2004-10-27 22:49 davidfraser | ||||
| 2194 | |||||
| 2195 | * server.py: started adding registration page for new users | ||||
| 2196 | |||||
| 2197 | 2004-10-27 22:40 davidfraser | ||||
| 2198 | |||||
| 2199 | * pagelayout.py: sidetitle got changed to sidecontents accidentally | ||||
| 2200 | added TranslateForm | ||||
| 2201 | |||||
| 2202 | 2004-10-27 22:37 davidfraser | ||||
| 2203 | |||||
| 2204 | * translatepage.py: simplified styles by moving to css | ||||
| 2205 | |||||
| 2206 | 2004-10-27 21:53 davidfraser | ||||
| 2207 | |||||
| 2208 | * indexpage.py, pagelayout.py: renamed classes (and css classes) to | ||||
| 2209 | be less bloggy renamed title to contents for Division classes | ||||
| 2210 | |||||
| 2211 | 2004-10-27 21:44 davidfraser | ||||
| 2212 | |||||
| 2213 | * indexpage.py, pagelayout.py, server.py, translatepage.py: made | ||||
| 2214 | little classes for all the div styles, to make stuff simpler... | ||||
| 2215 | |||||
| 2216 | 2004-10-27 21:41 davidfraser | ||||
| 2217 | |||||
| 2218 | * projects.py: various minor pochecker fixups... don't just fall | ||||
| 2219 | off the end if no more pofilenames could be found | ||||
| 2220 | |||||
| 2221 | 2004-10-27 21:08 davidfraser | ||||
| 2222 | |||||
| 2223 | * indexpage.py, pagelayout.py, server.py, translatepage.py: used | ||||
| 2224 | new cls= keyword parameter for Division rather than putting the | ||||
| 2225 | class in a dictionary | ||||
| 2226 | |||||
| 2227 | 2004-10-25 18:41 davidfraser | ||||
| 2228 | |||||
| 2229 | * indexpage.py: make sure empty projects are handle OK by the stats | ||||
| 2230 | pages | ||||
| 2231 | |||||
| 2232 | 2004-10-25 11:58 davidfraser | ||||
| 2233 | |||||
| 2234 | * projects.py: when an item is submitted, store the pofilename and | ||||
| 2235 | lastitem on the TranslationSession this should make apache | ||||
| 2236 | multi-process servers pass state between processes | ||||
| 2237 | |||||
| 2238 | 2004-10-25 11:46 davidfraser | ||||
| 2239 | |||||
| 2240 | * translatepage.py: jToolkit has problems with non-unicode in the | ||||
| 2241 | TextArea ; manually decoding to unicode for now | ||||
| 2242 | |||||
| 2243 | 2004-10-25 11:08 davidfraser | ||||
| 2244 | |||||
| 2245 | * projects.py: added quick route to find next pofilename that | ||||
| 2246 | contains matches, so we don't have to parse all those in between | ||||
| 2247 | |||||
| 2248 | 2004-10-25 10:57 davidfraser | ||||
| 2249 | |||||
| 2250 | * pagelayout.py, server.py: added spearch url for login page which | ||||
| 2251 | redirects back to the index if logged in (this is because the | ||||
| 2252 | login page submits to itself in case of error) added link to | ||||
| 2253 | logout / login to sidebar | ||||
| 2254 | |||||
| 2255 | 2004-10-25 10:37 davidfraser | ||||
| 2256 | |||||
| 2257 | * server.py: added an OptionalLoginAppServer that makes login | ||||
| 2258 | optional | ||||
| 2259 | |||||
| 2260 | 2004-10-25 10:25 davidfraser | ||||
| 2261 | |||||
| 2262 | * projects.py: need to convert the statsmtime to an integer | ||||
| 2263 | otherwise it'll never match | ||||
| 2264 | |||||
| 2265 | 2004-10-25 09:53 davidfraser | ||||
| 2266 | |||||
| 2267 | * projects.py: took out __init__ loop through self.pofiles (should | ||||
| 2268 | have been self.pofilename) as it would have been too expensive | ||||
| 2269 | but it wasn't doing anything as self.pofiles was empty moved | ||||
| 2270 | pofile.classify construction to getpofile as we always need the | ||||
| 2271 | classifications available | ||||
| 2272 | |||||
| 2273 | 2004-10-23 20:26 davidfraser | ||||
| 2274 | |||||
| 2275 | * projects.py: use matchnames for searching for next item, to make | ||||
| 2276 | it superfast :-) | ||||
| 2277 | |||||
| 2278 | 2004-10-23 20:09 davidfraser | ||||
| 2279 | |||||
| 2280 | * indexpage.py, projects.py, translatepage.py: replaced translated, | ||||
| 2281 | total with named stats in a dictionary also keep in each pofile a | ||||
| 2282 | classify member that keeps named lists of elements matching | ||||
| 2283 | fuzzy, blank, etc this should be useful in optimizing searches | ||||
| 2284 | added more info on blank, fuzzy to the sidebar of the translation | ||||
| 2285 | page | ||||
| 2286 | |||||
| 2287 | 2004-10-23 19:47 davidfraser | ||||
| 2288 | |||||
| 2289 | * indexpage.py, projects.py, translatepage.py: more detailed | ||||
| 2290 | statistics invalidate statistics when a file changes | ||||
| 2291 | |||||
| 2292 | 2004-10-23 19:40 davidfraser | ||||
| 2293 | |||||
| 2294 | * projects.py: changed to use relative paths for po files, | ||||
| 2295 | calculate absolute path when needing to access files | ||||
| 2296 | |||||
| 2297 | 2004-10-23 19:33 davidfraser | ||||
| 2298 | |||||
| 2299 | * pagelayout.py, projects.py, translatepage.py: added pofilename to | ||||
| 2300 | the links at the side (made them accessible as PootlePage | ||||
| 2301 | members) rearranged test for what is translated | ||||
| 2302 | |||||
| 2303 | 2004-10-23 19:26 davidfraser | ||||
| 2304 | |||||
| 2305 | * projects.py: separated out receivetranslation so the actual | ||||
| 2306 | changes are done from the TranslationProject made new savefile | ||||
| 2307 | function which saves the pofile to disk currently saving after | ||||
| 2308 | each change which is not ideal added doc strings | ||||
| 2309 | |||||
| 2310 | 2004-10-23 19:19 davidfraser | ||||
| 2311 | |||||
| 2312 | * projects.py: added findnextitem which searches and filters | ||||
| 2313 | options through a function this can be slow if you do what it | ||||
| 2314 | does at the moment and searches for blank msgstrs... we should | ||||
| 2315 | use the stats to filter out files automatically... | ||||
| 2316 | |||||
| 2317 | 2004-10-23 19:08 davidfraser | ||||
| 2318 | |||||
| 2319 | * projects.py: moved logic about moving to next item from session | ||||
| 2320 | into project | ||||
| 2321 | |||||
| 2322 | 2004-10-23 14:57 davidfraser | ||||
| 2323 | |||||
| 2324 | * indexpage.py, projects.py, translatepage.py: created new class | ||||
| 2325 | TranslationSession which represents a users work on a project use | ||||
| 2326 | this to keep track of current po file, item rather than doing it | ||||
| 2327 | globally in the project added the pofilename as a hidden field so | ||||
| 2328 | we know what item is being translated exactly store translatable | ||||
| 2329 | elements in pofile.transelements for each pofile to make indexing | ||||
| 2330 | easier rather than returning items before and after with the | ||||
| 2331 | translatable item, query for them separately also changed | ||||
| 2332 | projects.getproject to only take the subproject config item | ||||
| 2333 | |||||
| 2334 | 2004-10-23 13:58 davidfraser | ||||
| 2335 | |||||
| 2336 | * projects.py: added call to initstatscache so it is actually used | ||||
| 2337 | :-) and make sure the right filenames etc are passed so that it | ||||
| 2338 | actually reads the files... | ||||
| 2339 | |||||
| 2340 | 2004-10-23 13:54 davidfraser | ||||
| 2341 | |||||
| 2342 | * projects.py: added primitive means of caching statistics in | ||||
| 2343 | .stats files with timestamps | ||||
| 2344 | |||||
| 2345 | 2004-10-23 13:43 davidfraser | ||||
| 2346 | |||||
| 2347 | * indexpage.py, projects.py, translatepage.py: read all pofiles in | ||||
| 2348 | when TranslationProject is constructed added calculation and | ||||
| 2349 | display of statistics ; this is currently very slow! renamed | ||||
| 2350 | projects.getiterator to getproject | ||||
| 2351 | |||||
| 2352 | 2004-10-23 13:15 davidfraser | ||||
| 2353 | |||||
| 2354 | * projects.py: added code to iterate through all the files in a | ||||
| 2355 | directory tree rather than just one pofile this changes the pref | ||||
| 2356 | name to podir fixed up getiterator to not use self everywhere... | ||||
| 2357 | |||||
| 2358 | 2004-10-23 12:57 davidfraser | ||||
| 2359 | |||||
| 2360 | * projects.py, translatepage.py: moved TranslationIterator code | ||||
| 2361 | into separate projects module, from whence it will be | ||||
| 2362 | transmogrified | ||||
| 2363 | |||||
| 2364 | 2004-10-23 12:46 davidfraser | ||||
| 2365 | |||||
| 2366 | * indexpage.py: count the subprojects | ||||
| 2367 | |||||
| 2368 | 2004-10-23 12:45 davidfraser | ||||
| 2369 | |||||
| 2370 | * server.py: added login, LoginPage that looks pootley | ||||
| 2371 | |||||
| 2372 | 2004-10-22 11:46 davidfraser | ||||
| 2373 | |||||
| 2374 | * server.py, translatepage.py: added hook to receive new | ||||
| 2375 | translations calculate translation items correctly, made the row | ||||
| 2376 | offset equal to the item in the file | ||||
| 2377 | |||||
| 2378 | 2004-10-22 11:14 davidfraser | ||||
| 2379 | |||||
| 2380 | * translatepage.py: removed dummytranslations, now uses | ||||
| 2381 | subproject.pofile to get translations from also fixed up some row | ||||
| 2382 | calculation problems | ||||
| 2383 | |||||
| 2384 | 2004-10-22 10:51 davidfraser | ||||
| 2385 | |||||
| 2386 | * __init__.py, indexpage.py, pagelayout.py, server.py, | ||||
| 2387 | translatepage.py: added initial pootle implementation (with | ||||
| 2388 | random dummy bork translations) | ||||
| 2389 | |||||







