diff --git a/.travis.yml b/.travis.yml index 71b751f5..f7dc9a66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -250,7 +250,7 @@ script: - if [ "$e2e" = true ]; then $gam calendar $gam_user printevents after -0d; fi - if [ "$e2e" = true ]; then $gam create vaultmatter name "Travis matter $newbase" description "test matter" collaborators $newuser; fi - if [ "$e2e" = true ]; then $gam create vaulthold matter "Travis matter $newbase" name "Travis hold $newbase" corpus mail accounts $newuser; fi -- if [ "$e2e" = true ]; then $gam print vaultmatters; fi +- if [ "$e2e" = true ]; then $gam print vaultmatters state open; fi - if [ "$e2e" = true ]; then $gam print vaultholds matter "Travis matter $newbase"; fi - if [ "$e2e" = true ]; then $gam create vaultexport matter "Travis matter $newbase" name "Travis export $newbase" corpus mail accounts $newuser; fi - if [ "$e2e" = true ]; then $gam print exports matter "Travis matter $newbase" | $gam csv - gam info export id:~~matterId~~ id:~~id~~; fi diff --git a/src/gapi/vault.py b/src/gapi/vault.py index d05d6a92..d44b7a55 100644 --- a/src/gapi/vault.py +++ b/src/gapi/vault.py @@ -653,6 +653,7 @@ def printMatters(): initialTitles = ['matterId', 'name', 'description', 'state'] titles = initialTitles[:] view = 'FULL' + state = None i = 3 while i < len(sys.argv): myarg = sys.argv[i].lower().replace('_', '') @@ -662,12 +663,22 @@ def printMatters(): elif myarg in PROJECTION_CHOICES_MAP: view = PROJECTION_CHOICES_MAP[myarg] i += 1 + elif myarg == 'state': + valid_states = gapi.get_enum_values_minus_unspecified( + v._rootDesc['schemas']['Matter']['properties']['state'][ + 'enum']) + state = sys.argv[i+1].upper() + if state not in valid_states: + controlflow.expected_argument_exit( + 'state', ', '.join(valid_states), state) + i += 2 else: controlflow.invalid_argument_exit(myarg, "gam print matters") __main__.printGettingAllItems('Vault Matters', None) page_message = gapi.got_total_items_msg('Vault Matters', '...\n') matters = gapi.get_all_pages( - v.matters(), 'list', 'matters', page_message=page_message, view=view) + v.matters(), 'list', 'matters', page_message=page_message, view=view, + state=state) for matter in matters: display.add_row_titles_to_csv_file( utils.flatten_json(matter), csvRows, titles)