ppf/new: Add argument parsing functionality to python script files.
authorMariana Mărășoiu <mariana.marasoiu@gmail.com>
Fri, 16 Sep 2011 03:34:29 +0000 (06:34 +0300)
committerMariana Mărășoiu <mariana.marasoiu@gmail.com>
Fri, 16 Sep 2011 03:34:29 +0000 (06:34 +0300)
ppf/new/enhance_swarm_description.py
ppf/new/parse_session.py
ppf/new/parse_swarm.py

index e3f62ac..21fdb37 100644 (file)
@@ -1,33 +1,52 @@
 """
 Enhance swarm description file.
 
+Receive swarm description and access configuration files as arguments.
 Add swarm and session information to database. Add session id to each
 session entry in the swarm description file based on database entries.
 
 2011, Razvan Deaconescu, razvan.deaconescu@cs.pub.ro
+2011, Mariana Marasoiu, mariana.marasoiu@gmail.com
 """
 
 import sys
+import argparse
 
 import config
 import storage
 import top
 
-# TODO: Define default values for swarm description and access config files.
+# Define default values for swarm description and access config files.
+default_swarm_description_file = "tests/config.sample.ini"
+default_access_config_file = "tests/access.sample.ini"
 
 def main():
     """Sample usage:
-    python enhance_swarm_description.py -s /path/to/swarm-description-file -a /path/to/access-config-file
+    python enhance_swarm_description.py -s /path/to/swarm-description-file
+        -a /path/to/access-config-file
     """
+
     # Arguments are swarm description file and access config file.
-    # TODO: Parse arguments.
-    swarm_description = config.SwarmDescription.load(swarm_description_file)
-    access_config = config.AccessConfig.load(access_config_file)
-    swarm_writer = get_swarm_writer(access_config)
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-s", metavar="/path/to/swarm-description-file",
+                        default=default_swarm_description_file)
+    parser.add_argument("-a", metavar="/path/to/access-config-file",
+                        default=default_access_config_file)
+
+    args = parser.parse_args()
+    swarm_description_file = args.s
+    access_config_file = args.a
+
+    swarm_description = config.SwarmDescription()
+    swarm_description.load(swarm_description_file)
+    access_config = config.AccessConfig()
+    access_config.load(access_config_file)
+    swarm_writer = access_config.get_swarm_writer()
 
     # Enhance swarm description with session id. Store enhanced file.
     top.enhance_swarm_description(swarm_description, swarm_writer)
-    swarm_description.store(swarm_description_file)
+    swarm_description_file_enhanced = swarm_description_file + ".enhanced"
+    swarm_description.store(swarm_description_file_enhanced)
 
 if __name__ == "__main__":
     sys.exit(main())
index 96b539b..07df698 100644 (file)
@@ -5,25 +5,42 @@ Parse session compressed file.
 """
 
 import sys
+import argparse
 
 import config
 import storage
 import top
 
-# TODO: Define default values for session and access config files.
+# Define default values for swarm description and access config files.
+default_swarm_description_file = "tests/config.sample.ini"
+default_access_config_file = "tests/access.sample.ini"
 
 def main():
     """Sample usage:
-    python parse_session.py -s /path/to/swarm-description-file -a /path/to/access-config-file session-id
+    python parse_session.py -s /path/to/swarm-description-file
+        -a /path/to/access-config-file session-id
     """
-
-    # Arguments are swarm description file, access config file and section id.
-    # TODO: Parse arguments.
-    swarm_description = config.SwarmDescription.load(swarm_description_file)
-    session_entry = swarm_description.get_session_entry(section_id)
-
-    access_config = config.AccessConfig.load(access_config_file)
-    swarm_writer = get_swarm_writer(access_config)
+    
+    # Arguments are swarm description file and access config file.
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-s", metavar="/path/to/swarm-description-file",
+                        default=default_swarm_description_file)
+    parser.add_argument("-a", metavar="/path/to/access-config-file",
+                        default=default_access_config_file)
+    parser.add_argument("session_id", type=int)
+
+    args = parser.parse_args()
+    swarm_description_file = args.s
+    access_config_file = args.a
+    session_id = args.session_id
+
+    swarm_description = config.SwarmDescription()
+    swarm_description.load(swarm_description_file)
+    session_entry = swarm_description.get_session_entry(session_id)
+
+    access_config = config.AccessConfig()
+    access_config.load(access_config_file)
+    swarm_writer = access_config.get_swarm_writer()
 
     top.parse_session(session_entry, swarm_writer)
 
index e51c805..f4d4500 100644 (file)
@@ -8,26 +8,42 @@ through the help of the access configuration file.
 """
 
 import sys
+import argparse
 
 import config
 import storage
 import top
 
-# TODO: Define default values for swarm and access config files.
+# Define default values for swarm description and access config files.
+default_swarm_description_file = "tests/config.sample.ini"
+default_access_config_file = "tests/access.sample.ini"
 
 def main():
     """Sample usage:
-    python parse_swarm.py -s /path/to/swarm-description-file -a /path/to/access-config-file
+    python parse_swarm.py -s /path/to/swarm-description-file
+        -a /path/to/access-config-file
     """
     # Arguments are swarm description file and access config file.
-    # TODO: Parse arguments.
-    swarm_description = config.SwarmDescription.load(swarm_description_file)
-    access_config = config.AccessConfig.load(access_config_file)
-    swarm_writer = get_swarm_writer(access_config)
+    parser = argparse.ArgumentParser()
+    parser.add_argument("-s", metavar="/path/to/swarm-description-file",
+                        default=default_swarm_description_file)
+    parser.add_argument("-a", metavar="/path/to/access-config-file",
+                        default=default_access_config_file)
+
+    args = parser.parse_args()
+    swarm_description_file = args.s
+    access_config_file = args.a
+
+    swarm_description = config.SwarmDescription()
+    swarm_description.load(swarm_description_file)
+    access_config = config.AccessConfig()
+    access_config.load(access_config_file)
+    swarm_writer = access_config.get_swarm_writer()
 
     # Enhance swarm description with session id. Store enhanced file.
     top.enhance_swarm_description(swarm_description, swarm_writer)
-    swarm_description.store(swarm_description_file)
+    swarm_description_file_enhanced = swarm_description_file + ".enhanced"
+    swarm_description.store(swarm_description_file_enhanced)
 
     # Do actual parsing.
     top.parse_swarm(swarm_description, swarm_writer)