Posts for transifex

Submitting Spree

It seems that I have commited 25 revs the last 2 days in the transifex submissions branch. I really have to stop and start studing!

tx-subm]$ hg log --date=-2 --template='{desc|firstline}\n'
Handle exceptions correctly in `tx' cli
Better exceptions in transifex.client
capture generic validation errors in the api
log validation errors
Now all validation exception inherit from ValidationException
tx-init.py now creates local-vcs/{git,hg,svn,cvs}
Enable submit logging
minor: cleanup module.py
Fix major issue with db session storage in submission
Add `Submission.to_session()` method
We dont need `BrowserMixin.html_diff()` any more
msgfmt_check now returns boolean instead of raising an exception
minor: None instead of Null
Trying to fix Submission.files encoding problems (again)
Changed the way diff() functions work
minor: Documentation fix
minor: remove changelog logic from the template
Teach `SResource.valid_filename()` about global ignore filter
New style wildcards + tests
minor: move debug message
Added `SResource.get_files()` which returns valid filenames
Validation errors are raised from `Submission.validate()` ...
Add `BrowserMixin.walk()` function
minor: fix wrong log message
merge tx-devel

GSoC: Tx-api & our new submission system

Google summer of code 'pencils down day' is approaching! Luckily, the new transifex submission layer is ready! I have currently implemented git, mercurial and svn submitters on top of it. With this new layer writing a new submission method is plain easy: you just have to write a class with 2 or 3 methods! Also mercurial, svn and git submitters are now based on python modules to interact with the repositories.

API

A new api for the submit proccess is written (preview & submit). This will help us implement a cli client and to interact with other web apps or other transifex instances in the future.

Command line client

A command line client is implemented using the new transifex api. It's name is tx (no kidding!). Here is a demo session:

$ tx submit --module testmodule-svn --branch trunk \
--filename 'po/el.po' --contents el-new.po \
-m 'update greek translation' --diff
---  
+++  
@@ -256,7 +257,7 @@

 #: transifex/module.py:705
 msgid "Your submission was committed successfully."
-msgstr "Η υποβολή σας εναποτέθηκε με επιτυχία."
+msgstr "Η υποβολή σας καταχωρήθηκε με επιτυχία."

You can check out the code at our code browser. Any feedback is more than wellcome :)

GSoC 2008

The Google Summer of Code 2008 students were announced yesterday.. and I have been accepted! :)

I 'll work on an abstract submission system for Transifex, a promising web UI for translators used by the Fedora Project.

It's gonna be an interesting summer!