Initial novacoin support
[electrum-nvc.git] / lib / util.py
index c2cc91a..0415b1c 100644 (file)
@@ -43,11 +43,11 @@ def print_json(obj):
 
 def user_dir():
     if "HOME" in os.environ:
-        return os.path.join(os.environ["HOME"], ".electrum")
+        return os.path.join(os.environ["HOME"], ".electrum-nvc")
     elif "APPDATA" in os.environ:
-        return os.path.join(os.environ["APPDATA"], "Electrum")
+        return os.path.join(os.environ["APPDATA"], "Electrum-NVC")
     elif "LOCALAPPDATA" in os.environ:
-        return os.path.join(os.environ["LOCALAPPDATA"], "Electrum")
+        return os.path.join(os.environ["LOCALAPPDATA"], "Electrum-NVC")
     elif 'ANDROID_DATA' in os.environ:
         return "/sdcard/electrum/"
     else:
@@ -57,15 +57,15 @@ def user_dir():
 def appdata_dir():
     """Find the path to the application data directory; add an electrum folder and return path."""
     if platform.system() == "Windows":
-        return os.path.join(os.environ["APPDATA"], "Electrum")
+        return os.path.join(os.environ["APPDATA"], "Electrum-NVC")
     elif platform.system() == "Linux":
-        return os.path.join(sys.prefix, "share", "electrum")
+        return os.path.join(sys.prefix, "share", "electrum-nvc")
     elif (platform.system() == "Darwin" or
           platform.system() == "DragonFly" or
           platform.system() == "OpenBSD" or
           platform.system() == "FreeBSD" or
          platform.system() == "NetBSD"):
-        return "/Library/Application Support/Electrum"
+        return "/Library/Application Support/Electrum-NVC"
     else:
         raise Exception("Unknown system")
 
@@ -82,7 +82,7 @@ def local_data_dir():
     return local_data
 
 
-def format_satoshis(x, is_diff=False, num_zeros = 0, decimal_point = 8, whitespaces=False):
+def format_satoshis(x, is_diff=False, num_zeros = 0, decimal_point = 6, whitespaces=False):
     from decimal import Decimal
     s = Decimal(x)
     sign, digits, exp = s.as_tuple()
@@ -163,14 +163,14 @@ def parse_URI(uri):
     from decimal import Decimal
 
     if ':' not in uri:
-        assert bitcoin.is_address(url)
+        assert bitcoin.is_address(uri)
         return uri, None, None, None, None
 
     u = urlparse.urlparse(uri)
     assert u.scheme == 'bitcoin'
 
     address = u.path
-    assert bitcoin.is_address(address)
+    valid_address = bitcoin.is_address(address)
 
     pq = urlparse.parse_qs(u.query)
     
@@ -186,7 +186,7 @@ def parse_URI(uri):
             k = int(m.group(2)) - 8
             amount = Decimal(m.group(1)) * pow(  Decimal(10) , k)
         else:
-            amount = Decimal(am)
+            amount = Decimal(am) * 1000000
     if 'message' in pq:
         message = pq['message'][0]
     if 'label' in pq:
@@ -194,6 +194,11 @@ def parse_URI(uri):
     if 'r' in pq:
         request_url = pq['r'][0]
         
+    if request_url != '':
+        return address, amount, label, message, request_url
+
+    assert valid_address
+
     return address, amount, label, message, request_url