1
1
from ruyaml import YAML
2
+ import argparse
2
3
import json
3
4
4
5
5
- def get_yaml_data ():
6
- yaml_name = input ("Enter the yaml file name: " )
6
+ def get_yaml_data (yaml_name = None ):
7
+ if not yaml_name :
8
+ yaml_name = input ("Enter the yaml file name: " )
7
9
8
10
try :
9
11
with open (yaml_name , "r+" ) as f :
@@ -14,18 +16,34 @@ def get_yaml_data():
14
16
yaml_data = get_yaml_data ()
15
17
16
18
17
- def convert_to_json (yaml_data ):
18
- json_name = input ("Enter the name of output json file: " )
19
+ def convert_to_json (yaml_data , json_name = None , intent = None ):
20
+ if not json_name :
21
+ json_name = input ("Enter the name of output json file: " )
19
22
20
23
try :
21
24
with open (json_name , "w+" ) as o :
22
- o .write (json .dumps (yaml_data ))
25
+ o .write (json .dumps (yaml_data , indent = intent ))
23
26
except : # noqa
24
27
print ("Invalid input enter a valid json file name e.g. example.json" )
25
28
convert_to_json (yaml_data )
26
29
27
30
28
- yaml_data = get_yaml_data ()
29
- convert_to_json (yaml_data )
31
+ def main ():
32
+ parser = argparse .ArgumentParser (description = 'Convert YAML file to JSON' )
33
+ parser .add_argument ('--yaml' , type = str , help = 'YAML filename' )
34
+ parser .add_argument ('--json' , type = str , help = 'JSON filename' )
35
+ parser .add_argument ('--intent' , type = int , help = "intent value for JSON" )
36
+ args = parser .parse_args ()
30
37
31
- print ("Your yaml file has been converted and saved as json" )
38
+ yaml_name = args .yaml
39
+ json_name = args .json
40
+ intent = args .intent
41
+
42
+ yaml_data = get_yaml_data (yaml_name )
43
+ convert_to_json (yaml_data , json_name , intent = intent )
44
+
45
+ print ("Your yaml file has been converted and saved as json" )
46
+
47
+
48
+ if __name__ == "__main__" :
49
+ main ()
0 commit comments