Merge pull request #24 from yangle/master

fix float dumping
diff --git a/pytoml/parser.py b/pytoml/parser.py
index 57b6b0e..752c4c6 100644
--- a/pytoml/parser.py
+++ b/pytoml/parser.py
@@ -7,7 +7,7 @@
     _chr = chr
 
 def load(fin, translate=lambda t, x, v: v):
-    return loads(fin.read(), translate=translate, filename=fin.name)
+    return loads(fin.read(), translate=translate, filename=getattr(fin, 'name', repr(fin)))
 
 def loads(s, filename='<string>', translate=lambda t, x, v: v):
     if isinstance(s, bytes):
diff --git a/pytoml/writer.py b/pytoml/writer.py
index 4e1691e..7380350 100644
--- a/pytoml/writer.py
+++ b/pytoml/writer.py
@@ -8,7 +8,7 @@
 
 def dumps(obj, sort_keys=False):
     fout = io.StringIO()
-    dump(fout, obj, sort_keys=sort_keys)
+    dump(obj, fout, sort_keys=sort_keys)
     return fout.getvalue()
 
 
@@ -88,7 +88,7 @@
         raise RuntimeError(v)
 
 
-def dump(fout, obj, sort_keys=False):
+def dump(obj, fout, sort_keys=False):
     tables = [((), obj, False)]
 
     while tables: