EMS shipping module for Ubercart

Table of Contents

I've just created EMS Russian Post shipping module. It will be useful for store owners in Russia.
http://drupal.org/project/uc_ems

The module supports delivery price calculation outside Russia (and in Russia, obviously).
Caching was implemented to minimize requests to EMS Russian Post website.

EMS Russian Post

"No connection to EMS website" use case demonstration:

EMS no connection
EMS settings page

There are some advanced settings, like extra charge amount (calculated against total delivery price) and fallback-price (used when EMS website is down).
Some simple cleanup and normalization techniques were used to minimize errors in user entered city names.

During the module development I've discovered some bugs in Ubercart .cif file for Russia, they are now described in new bug report: http://drupal.org/node/1027060
It was interesting to know that Russian people merge and patch their regions a lot :)