@@ -74,6 +74,7 @@ <h1>Source code for gen3.tools.indexing.index_manifest</h1><div class="highlight
7474< span class ="kn "> import</ span > < span class ="nn "> sys</ span >
7575< span class ="kn "> import</ span > < span class ="nn "> traceback</ span >
7676
77+ < span class ="kn "> from</ span > < span class ="nn "> gen3.index</ span > < span class ="kn "> import</ span > < span class ="n "> Gen3Index</ span >
7778< span class ="kn "> from</ span > < span class ="nn "> gen3.auth</ span > < span class ="kn "> import</ span > < span class ="n "> Gen3Auth</ span >
7879< span class ="kn "> from</ span > < span class ="nn "> gen3.tools.indexing.manifest_columns</ span > < span class ="kn "> import</ span > < span class ="p "> (</ span >
7980 < span class ="n "> GUID_COLUMN_NAMES</ span > < span class ="p "> ,</ span >
@@ -680,6 +681,51 @@ <h1>Source code for gen3.tools.indexing.index_manifest</h1><div class="highlight
680681 < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> basicConfig</ span > < span class ="p "> (</ span > < span class ="n "> filename</ span > < span class ="o "> =</ span > < span class ="s2 "> "index_object_manifest.log"</ span > < span class ="p "> ,</ span > < span class ="n "> level</ span > < span class ="o "> =</ span > < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> DEBUG</ span > < span class ="p "> )</ span >
681682 < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> getLogger</ span > < span class ="p "> ()</ span > < span class ="o "> .</ span > < span class ="n "> addHandler</ span > < span class ="p "> (</ span > < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> StreamHandler</ span > < span class ="p "> (</ span > < span class ="n "> sys</ span > < span class ="o "> .</ span > < span class ="n "> stdout</ span > < span class ="p "> ))</ span >
682683 < span class ="n "> index_object_manifest_cli</ span > < span class ="p "> ()</ span >
684+
685+
686+ < div class ="viewcode-block " id ="delete_all_guids "> < a class ="viewcode-back " href ="../../../../tools/indexing.html#gen3.tools.indexing.index_manifest.delete_all_guids "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> delete_all_guids</ span > < span class ="p "> (</ span > < span class ="n "> auth</ span > < span class ="p "> ,</ span > < span class ="n "> file</ span > < span class ="p "> ):</ span >
687+ < span class ="sd "> """</ span >
688+ < span class ="sd "> Delete all GUIDs specified in the object manifest.</ span >
689+
690+ < span class ="sd "> WARNING: THIS COMPLETELY REMOVES INDEX RECORDS. USE THIS ONLY IF YOU KNOW</ span >
691+ < span class ="sd "> THE IMPLICATIONS.</ span >
692+ < span class ="sd "> """</ span >
693+ < span class ="n "> index</ span > < span class ="o "> =</ span > < span class ="n "> Gen3Index</ span > < span class ="p "> (</ span > < span class ="n "> auth</ span > < span class ="o "> .</ span > < span class ="n "> endpoint</ span > < span class ="p "> ,</ span > < span class ="n "> auth_provider</ span > < span class ="o "> =</ span > < span class ="n "> auth</ span > < span class ="p "> )</ span >
694+ < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> index</ span > < span class ="o "> .</ span > < span class ="n "> is_healthy</ span > < span class ="p "> ():</ span >
695+ < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span >
696+ < span class ="sa "> f</ span > < span class ="s2 "> "uh oh! The indexing service is not healthy in the commons </ span > < span class ="si "> {</ span > < span class ="n "> auth</ span > < span class ="o "> .</ span > < span class ="n "> endpoint</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span >
697+ < span class ="p "> )</ span >
698+ < span class ="n "> exit</ span > < span class ="p "> ()</ span >
699+
700+ < span class ="c1 "> # try to get delimeter based on file ext</ span >
701+ < span class ="n "> file_ext</ span > < span class ="o "> =</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> splitext</ span > < span class ="p "> (</ span > < span class ="n "> file</ span > < span class ="p "> )</ span >
702+ < span class ="k "> if</ span > < span class ="n "> file_ext</ span > < span class ="p "> [</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="o "> .</ span > < span class ="n "> lower</ span > < span class ="p "> ()</ span > < span class ="o "> ==</ span > < span class ="s2 "> ".tsv"</ span > < span class ="p "> :</ span >
703+ < span class ="n "> manifest_file_delimiter</ span > < span class ="o "> =</ span > < span class ="s2 "> "</ span > < span class ="se "> \t</ span > < span class ="s2 "> "</ span >
704+ < span class ="k "> else</ span > < span class ="p "> :</ span >
705+ < span class ="c1 "> # default, assume CSV</ span >
706+ < span class ="n "> manifest_file_delimiter</ span > < span class ="o "> =</ span > < span class ="s2 "> ","</ span >
707+
708+ < span class ="k "> with</ span > < span class ="nb "> open</ span > < span class ="p "> (</ span > < span class ="n "> file</ span > < span class ="p "> ,</ span > < span class ="s2 "> "r"</ span > < span class ="p "> ,</ span > < span class ="n "> encoding</ span > < span class ="o "> =</ span > < span class ="s2 "> "utf-8-sig"</ span > < span class ="p "> )</ span > < span class ="k "> as</ span > < span class ="n "> input_file</ span > < span class ="p "> :</ span >
709+ < span class ="n "> csvReader</ span > < span class ="o "> =</ span > < span class ="n "> csv</ span > < span class ="o "> .</ span > < span class ="n "> DictReader</ span > < span class ="p "> (</ span > < span class ="n "> input_file</ span > < span class ="p "> ,</ span > < span class ="n "> delimiter</ span > < span class ="o "> =</ span > < span class ="n "> manifest_file_delimiter</ span > < span class ="p "> )</ span >
710+ < span class ="n "> fieldnames</ span > < span class ="o "> =</ span > < span class ="n "> csvReader</ span > < span class ="o "> .</ span > < span class ="n "> fieldnames</ span >
711+
712+ < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "got fieldnames from </ span > < span class ="si "> {</ span > < span class ="n "> file</ span > < span class ="si "> }</ span > < span class ="s2 "> : </ span > < span class ="si "> {</ span > < span class ="n "> fieldnames</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
713+
714+ < span class ="c1 "> # figure out which permutation of the name GUID is being used 1 time</ span >
715+ < span class ="c1 "> # then use it for all future rows</ span >
716+ < span class ="n "> guid_name</ span > < span class ="o "> =</ span > < span class ="s2 "> "guid"</ span >
717+ < span class ="k "> for</ span > < span class ="n "> name</ span > < span class ="ow "> in</ span > < span class ="p "> [</ span > < span class ="s2 "> "guid"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "GUID"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "did"</ span > < span class ="p "> ,</ span > < span class ="s2 "> "DID"</ span > < span class ="p "> ]:</ span >
718+ < span class ="k "> if</ span > < span class ="n "> name</ span > < span class ="ow "> in</ span > < span class ="n "> fieldnames</ span > < span class ="p "> :</ span >
719+ < span class ="n "> guid_name</ span > < span class ="o "> =</ span > < span class ="n "> name</ span >
720+
721+ < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "using </ span > < span class ="si "> {</ span > < span class ="n "> guid_name</ span > < span class ="si "> }</ span > < span class ="s2 "> to retrieve GUID to delete..."</ span > < span class ="p "> )</ span >
722+
723+ < span class ="k "> for</ span > < span class ="n "> row</ span > < span class ="ow "> in</ span > < span class ="n "> csvReader</ span > < span class ="p "> :</ span >
724+ < span class ="n "> guid</ span > < span class ="o "> =</ span > < span class ="n "> row</ span > < span class ="o "> .</ span > < span class ="n "> get</ span > < span class ="p "> (</ span > < span class ="n "> guid_name</ span > < span class ="p "> )</ span >
725+
726+ < span class ="k "> if</ span > < span class ="n "> guid</ span > < span class ="p "> :</ span >
727+ < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="sa "> f</ span > < span class ="s2 "> "deleting GUID record:</ span > < span class ="si "> {</ span > < span class ="n "> guid</ span > < span class ="si "> }</ span > < span class ="s2 "> "</ span > < span class ="p "> )</ span >
728+ < span class ="n "> logging</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="n "> index</ span > < span class ="o "> .</ span > < span class ="n "> delete_record</ span > < span class ="p "> (</ span > < span class ="n "> guid</ span > < span class ="o "> =</ span > < span class ="n "> guid</ span > < span class ="p "> ))</ span > </ div >
683729</ pre > </ div >
684730
685731 </ div >
0 commit comments