From 81e5ada2829991ec429af1e04927eb47b9a155eb Mon Sep 17 00:00:00 2001 From: siddharm Date: Fri, 13 Sep 2019 17:25:29 -0400 Subject: [PATCH] refactoring & added --list --- .ascl_list1.py.swp | Bin 0 -> 20480 bytes ascl_list1.py | 151 ++++++++++++++++++++++++++++----------------- try.csv | 0 3 files changed, 96 insertions(+), 55 deletions(-) create mode 100644 .ascl_list1.py.swp create mode 100644 try.csv diff --git a/.ascl_list1.py.swp b/.ascl_list1.py.swp new file mode 100644 index 0000000000000000000000000000000000000000..b82210813b8b95dd9ffef6c091e34f77eea96bd5 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/ascl_list1.py b/ascl_list1.py index f2f766f..cc2cd08 100755 --- a/ascl_list1.py +++ b/ascl_list1.py @@ -26,7 +26,9 @@ parser = argparse.ArgumentParser() -parser.add_argument('-tags', action='store_true') +parser.add_argument('--list', action='store_true') +parser.add_argument('--tags', action='store_true') + parser.add_argument('--codedir', type = str, default = '../code-nasa-gov', help = "input directory for code-nasa-gov") parser.add_argument('--code', type = str, default = 'code.json', help = "input json for --mode 1") parser.add_argument('--catalog', type = str, default = 'data/catalog.json', help = "input json for --mode 2") @@ -43,11 +45,7 @@ match_id = args.matchid -f1 = open(args.codedir + '/' + args.code) -d1 = json.load(f1) -f2 = open(args.codedir + '/' + args.catalog) -d2 = json.load(f2) # d1: dict_keys(['version', 'agency', 'measurementType', 'releases']) where d1['releases'] is a list of dict: # ['repositoryURL','name','tags','contact','laborHours','date','organization','permissions','identifier','description'] @@ -60,65 +58,108 @@ if mode == 1: + + f1 = open(args.codedir + '/' + args.code) + d1 = json.load(f1) + r = d1['releases'] - nr = len(r) - for ri in r: - name = ri['name'] - tags = ri['tags'] - desc = ri['description'] - if not args.tags: - if 'identifier' in ri.keys(): - iden = ri['identifier'] - else: - iden = "NONE" - - if match_name != None: - if name.find(match_name) < 0: continue - jstr = json.dumps(ri,indent=4) - print(jstr) - break - - elif match_desc != None: - if desc.find(match_desc) < 0: continue - jstr = json.dumps(ri,indent=4) - print(jstr) - - elif match_id == iden: - jstr = json.dumps(ri,indent=4) - print(jstr) - break - - else: - print("%s %s" % (iden,name)) - else: + + if args.tags: + for i in range(len(r)): + ri = r[i] + tags= ri['tags'] + for t in tags: print(t) + else: + + if match_name != None: + for i in range(len(r)): + ri = r[i] + name = ri['name'] + if name.find(match_name) >= 0: + jstr = json.dumps(ri,indent=4) + print(jstr) + + elif match_desc != None: + for i in range(len(r)): + ri = r[i] + desc = ri['description'] + if desc.find(match_desc) >= 0: + jstr = json.dumps(ri,indent=4) + print(jstr) + + elif match_id != None: + for i in range(len(r)): + ri = r[i] + iden = ri['identifier'] if 'identifier' in ri.keys() else "NONE" + + if match_id == iden: + jstr = json.dumps(ri,indent=4) + print(jstr) + + else: + for i in range(len(r)): + ri = r[i] + iden = ri['identifier'] if 'identifier' in ri.keys() else "NONE" + name = ri['name'] + print("%s %s" % (iden,name)) + elif mode == 2: - for i in range(len(d2)): - ri = d2[i] - name = ri['Software'] - desc = ri['Description'] - cat = ri['Categories'] + f2 = open(args.codedir + '/' + args.catalog, ) + d2 = json.load(f2) + + if args.tags: + for i in range(len(d2)): + ri = d2[i] + cat = ri['Categories'] + + for c in cat: + print(c) + + elif args.list: + output_str = "Ordinal,Status,Software,Description,Public Code Repo,External Link,Contributers\n" + + for i in range(len(d2)): + ri = d2[i] + + s = ", " + s2 = "," + + soft = "\"" + ri['Software'] + "\"" + desc = "\"" + ri['Description'] + "\"" + pcr = "\"" + ri["Public Code Repo"] + "\"" + el = "\"" + ri["External Link"] + "\"" + cont = "\"" + s.join(ri["Contributors"]) + "\"" + + output_str += s2.join([str(i), str(0), soft, desc, pcr, el, cont]) + "\n\n" - if not args.tags: - if match_name != None: - if name.find(match_name) < 0: continue - jstr = json.dumps(ri,indent=4) - print(jstr) - break + print( output_str ) - elif match_desc != None: - if desc.find(match_desc) < 0: continue - jstr = json.dumps(ri,indent=4) - print(jstr) + else: + if match_name != None: + for i in range(len(d2)): + ri = d2[i] + soft = ri['Software'] + + if soft.find(match_name) >= 0: + jstr = json.dumps(ri,indent=4) + print(jstr) + + elif match_desc != None: + for i in range(len(d2)): + ri = d2[i] + desc = ri['Description'] + + if desc.find(match_desc) >= 0: + jstr = json.dumps(ri,indent=4) + print(jstr) - else: - print("%s" % (ri['Software'])) else: - for c in cat: - print(c) - + for i in range(len(d2)): + ri = d2[i] + print("%s" % (ri['Software'])) else: sys.exit(1) diff --git a/try.csv b/try.csv new file mode 100644 index 0000000..e69de29