Index: python/ControlFile.py
===================================================================
--- python/ControlFile.py	(revision 812283d029ad6bb1dcc03c7df966c08e9229dc70)
+++ python/ControlFile.py	(revision ff99eae65dfaeec1221e06572d770ebd48feb3f4)
@@ -2,5 +2,5 @@
 # -*- coding: utf-8 -*-
 #************************************************************************
-# TODO AP
+# ToDo AP
 # - write a test class
 #************************************************************************
@@ -37,5 +37,26 @@
 #    - __init__
 #    - __str__
-#    - tolist
+#    - to_list
+#
+# @Class Attributes:
+#    - start_date
+#    - end_date
+#    - accuracy
+#    - omega
+#    - cwc
+#    - omegadiff
+#    - etadiff
+#    - level
+#    - levelist
+#    - step
+#    - maxstep
+#    - prefix
+#    - makefile
+#    - basetime
+#    - date_chunk
+#    - grib2flexpart
+#    - exedir
+#    - flexpart_root_scripts
+#    - ecmwfdatadir
 #
 #*******************************************************************************
@@ -46,11 +67,12 @@
 import os
 import inspect
+
 # software specific module from flex_extract
-import Tools
+from tools import get_list_as_string, my_error
 
 # ------------------------------------------------------------------------------
 # CLASS
 # ------------------------------------------------------------------------------
-class ControlFile:
+class ControlFile(object):
     '''
     Class containing the information of the flex_extract CONTROL file.
@@ -114,5 +136,4 @@
                         for d in dd:
                             data.append(d)
-                    pass
                 if len(data) == 2:
                     if '$' in data[1]:
@@ -126,9 +147,7 @@
                                 data[1] = data[1][:i] + var + data[1][k+1:]
                             else:
-                                Tools.myerror(None,
-                                              'Could not find variable ' +
-                                              data[1][j+1:k] +
-                                              ' while reading ' +
-                                              filename)
+                                my_error(None, 'Could not find variable ' +
+                                         data[1][j+1:k] + ' while reading ' +
+                                         filename)
                         setattr(self, data[0].lower() + '_expanded', data[1])
                     else:
@@ -160,6 +179,6 @@
         if not hasattr(self, 'levelist'):
             if not hasattr(self, 'level'):
-                print('Warning: neither levelist nor level \
-                       specified in CONTROL file')
+                print 'Warning: neither levelist nor level \
+                       specified in CONTROL file'
             else:
                 self.levelist = '1/to/' + self.level
@@ -224,5 +243,5 @@
         return ', '.join("%s: %s" % item for item in attrs.items())
 
-    def tolist(self):
+    def to_list(self):
         '''
         @Description:
@@ -255,5 +274,5 @@
                 pass
             else:
-                if type(item[1]) is list:
+                if isinstance(item[1], list):
                     stot = ''
                     for s in item[1]:
@@ -265,2 +284,23 @@
 
         return sorted(l)
+
+    # def to_dict(self):
+        # '''
+
+        # '''
+        # parameters_dict = vars(self)
+
+        # # remove unneeded parameter
+        # parameters_dict.pop('_expanded', None)
+        # parameters_dict.pop('exedir', None)
+        # parameters_dict.pop('flexpart_root_scripts', None)
+        # parameters_dict.pop('ecmwfdatadir', None)
+
+        # parameters_dict_str = {}
+        # for key, value in parameters_dict.iteritems():
+            # if isinstance(value, list):
+                # parameters_dict_str[str(key)] = get_list_as_string(value, ' ')
+            # else:
+                # parameters_dict_str[str(key)] = str(value)
+
+        # return parameters_dict_str
