Fixing up some packaging issues
[gonvert] / src / unit_data.py
index a5ce831..65400e3 100644 (file)
@@ -1,9 +1,14 @@
 import math
-import gettext
 
 import converters
 
-_ = gettext.gettext
+try:
+       raise ImportError()
+       import gettext
+except ImportError:
+       _ = lambda x: x
+else:
+       _ = gettext.gettext
 
 
 
@@ -100,13 +105,13 @@ UNIT_DESCRIPTIONS = {
        _(u"Area"): {
                ".base_unit": _(u"square meter"),
                _(u"meter diameter circle"):
-               [(converters.f, ('pi*(x/2.0)**2', '2.0*(x/pi)**(0.5)')), "m dia.", _(u"Type the diameter of the circle in meters to find its area displayed in other fields.")],
+               [(converters.f, ('math.pi*(x/2.0)**2', '2.0*(x/math.pi)**(0.5)')), "m dia.", _(u"Type the diameter of the circle in meters to find its area displayed in other fields.")],
                _(u"centimeter diameter circle"):
-               [(converters.f, ('pi*(x/200.0)**2', '200.0*(x/pi)**(0.5)')), "cm dia.", _(u"Type the diameter of the circle in centimeters to find its area displayed in other fields.")],
+               [(converters.f, ('math.pi*(x/200.0)**2', '200.0*(x/math.pi)**(0.5)')), "cm dia.", _(u"Type the diameter of the circle in centimeters to find its area displayed in other fields.")],
                _(u"inch diameter circle"):
-               [(converters.f, ('pi*(((x*(25.4/1000))/2.0) )**2', '1000/25.4 * 2.0*(x/pi)**(0.5)')), "in dia.", _(u"Type the diameter of the circle in inches to find its area displayed in other fields.")],
+               [(converters.f, ('math.pi*(((x*(25.4/1000))/2.0) )**2', '1000/25.4 * 2.0*(x/math.pi)**(0.5)')), "in dia.", _(u"Type the diameter of the circle in inches to find its area displayed in other fields.")],
                _(u"foot diameter circle"):
-               [(converters.f, ('pi*(((x*((12*25.4)/1000))/2.0) )**2', '1000/(12*25.4) * 2.0*(x/pi)**(0.5)')), "ft dia.", _(u"Type the diameter of the circle in feet to find its area displayed in other fields.")],
+               [(converters.f, ('math.pi*(((x*((12*25.4)/1000))/2.0) )**2', '1000/(12*25.4) * 2.0*(x/math.pi)**(0.5)')), "ft dia.", _(u"Type the diameter of the circle in feet to find its area displayed in other fields.")],
                _(u"are"):
                [(converters.m, 100.0), '', _(u"The unit of superficial measure, being a square of which each side is ten meters in length; 100 square meters, or about 119.6 square yards.")],
                _(u"acre"):
@@ -422,7 +427,7 @@ UNIT_DESCRIPTIONS = {
                [(converters.m, 1.0e-6), u"\xb5A", ''],
                _(u"nanoampere"):
                [(converters.m, 1.0e-9), "nA", ''],
-               _(u"picoampere"):
+               _(u"math.picoampere"):
                [(converters.m, 1.0e-12), "pA", ''],
                _(u"abampere"):
                [(converters.m, 10.0), "abA", _(u"The CGS electromagnetic unit of current.")],
@@ -2184,14 +2189,40 @@ _(u"Electrical Voltage"): {".base_unit": _(u"volt"),
                _(u"pony"):
                [(converters.m, 25.0), "", """Equal to twenty five pounds sterling"""],
        },
+
+       _(u"Radioactivity"): {
+               ".base_unit": "becquerel",
+               _(u"becquerel"):
+               [(converters.m, 1.0), u"Bq", 'The SI derived unit of radioactivity.'],
+               _(u"curie"):
+               [(converters.m, 3.7e10), u"Ci", 'Roughly the activity of 1 gram of the radium isotope 226 Ra.'],
+               _(u"pico curie"):
+               [(converters.m, 3.7e-2), u"pCi", ''],
+       },
+
+       _(u"Radiation dose"): {
+               ".base_unit": "Sievert",
+               _(u"Sievert"):
+               [(converters.m, 1.0), u"Sv", ''],
+               _(u"milli Sievert"):
+               [(converters.m, 1.0e-3), u"mSv", ''],
+               _(u"micro Sievert"):
+               [(converters.m, 1.0e-6), u"\xb5Sv", ''],
+               _(u"rem"):
+               [(converters.m, 0.01), u"rem", ''],
+               _(u"milli rem"):
+               [(converters.m, 1.0e-5), u"mrem", ''],
+               _(u"roentgen"):
+               [(converters.m, 1/1.07185e2), u"R", ''],
+       },
 }
 
 
 UNIT_CATEGORIES = sorted(UNIT_DESCRIPTIONS.iterkeys())
 
 
-def get_units(category):
-       units = sorted(UNIT_DESCRIPTIONS[category].iterkeys())
+def get_units(categoryName):
+       units = sorted(UNIT_DESCRIPTIONS[categoryName].iterkeys())
 
        # do not display .base_unit description key
        del units[0]
@@ -2199,6 +2230,23 @@ def get_units(category):
        return units
 
 
+def get_units_from_category(category):
+       units = sorted(category.iterkeys())
+
+       # do not display .base_unit description key
+       del units[0]
+
+       return units
+
+
+def get_base_unit(categoryName):
+       return UNIT_DESCRIPTIONS[categoryName][".base_unit"]
+
+
+def get_base_unit_from_category(category):
+       return category[".base_unit"]
+
+
 future_dic = {
        _(u"Wire Gauge"): {
                ".base_unit": "circular mils",