ppf/new: Add argument parsing functionality to python script files.
[cs-p2p-next.git] / ppf / new / parse_session.py
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)