88
99import tkinter as tk
1010import sys
11- import github , dataverse , pdf_metadata
11+ import dvcurator . github , dvcurator . dataverse , dvcurator . pdf_metadata
1212
1313def project_name (last_name , title ):
1414 import re
@@ -80,9 +80,17 @@ def load_citation(self):
8080 return
8181
8282 #from . import dataverse
83- self .citation = dataverse .get_citation (self .host .get (), self .doi .get (), self .dv_token .get ())
83+ self .citation = dvcurator .dataverse .get_citation (self .host .get (), self .doi .get (), self .dv_token .get ())
84+ if (not self .citation ):
85+ return
86+
8487 # citation['depositor'].split(', ')[0] is the last name of the depositor
8588 self .folder_name = project_name (self .citation ['depositor' ].split (', ' )[0 ], self .citation ['title' ])
89+
90+ special_characters = ['!' ,'#' ,'$' ,'%' , '&' ,'@' ,'[' ,']' ,']' ,'_' ,':' ,';' ,"'" ]
91+ for i in special_characters :
92+ self .folder_name = self .folder_name .replace (i ,'' )
93+
8694 print (self .folder_name )
8795
8896 # Enable the next step buttons
@@ -93,7 +101,7 @@ def load_citation(self):
93101
94102 def download_extract (self ):
95103 #from . import dataverse
96- extracted_path = dataverse .download_dataset (self .host .get (), self .doi .get (), self .dv_token .get (), self .folder_name , self .dropbox .get ())
104+ extracted_path = dvcurator . dataverse .download_dataset (self .host .get (), self .doi .get (), self .dv_token .get (), self .folder_name , self .dropbox .get ())
97105 if not extracted_path :
98106 print ("Error: folder may already exist" )
99107 else :
@@ -110,15 +118,19 @@ def make_github(self):
110118 print ("Error: no github repository specified" )
111119 return
112120
121+ if (not dvcurator .github .check_repo (self .repo .get ())):
122+ print ("Error: github repository doesn't exist" )
123+ return
124+
113125 #from . import github
114- existing = github .search_existing (self .folder_name , self .repo .get (), self .gh_token .get ())
126+ existing = dvcurator . github .search_existing (self .folder_name , self .repo .get (), self .gh_token .get ())
115127 if (existing ):
116128 print ("Error: existing github issues!!" )
117129 return
118130
119131
120132 # Create github project + issues
121- self .project = github .create_project (self .doi .get (), self .citation , self .folder_name , self .repo .get (), self .gh_token .get ())
133+ self .project = dvcurator . github .create_project (self .doi .get (), self .citation , self .folder_name , self .repo .get (), self .gh_token .get ())
122134 print ("Created project: " + self .folder_name )
123135 # Get internal issue templates from selected checkboxes
124136 for issue in self .issues_selected :
@@ -128,7 +140,7 @@ def make_github(self):
128140 path = os .path .join (sys ._MEIPASS , "issues" , path )
129141 else :
130142 path = resource_filename ("dvcurator" , "issues/" + path )
131- github .add_issue (self .folder_name , path , self .repo .get (), self .project , self .gh_token .get ())
143+ dvcurator . github .add_issue (self .folder_name , path , self .repo .get (), self .project , self .gh_token .get ())
132144 print (issue .get () + " added to project" )
133145
134146 def set_metadata (self ):
@@ -138,7 +150,7 @@ def set_metadata(self):
138150 metadata_path = pdf_metadata .make_metadata_folder (self .dropbox .get (), self .folder_name )
139151 if (not metadata_path ): # Errors are outputted by pdf_metadata
140152 return
141- pdf_metadata .standard_metadata (metadata_path , self .citation ['depositor' ])
153+ dvcurator . pdf_metadata .standard_metadata (metadata_path , self .citation ['depositor' ])
142154 print ("PDF metadata updated in new folder" )
143155 else :
144156 print ("Error: Dropbox folder invalid" )
0 commit comments