11import requests
22
3- from study import Study
3+ from dataset import Dataset
44from utils import get_element , get_elements , DataverseException , sanitize
55
66
@@ -10,7 +10,7 @@ def __init__(self, connection, collection):
1010 self .collection = collection
1111
1212 @property
13- def is_released (self ):
13+ def is_published (self ):
1414
1515 collection_info = requests .get (
1616 self .collection .get ('href' ),
@@ -38,7 +38,7 @@ def title(self):
3838 tag = 'title' ,
3939 ).text )
4040
41- def release (self ):
41+ def publish (self ):
4242 edit_uri = 'https://{0}/dvn/api/data-deposit/v1.1/swordv2/edit/dataverse/{1}' .format (
4343 self .connection .host , self .alias
4444 )
@@ -49,45 +49,45 @@ def release(self):
4949 )
5050
5151 if resp .status_code != 200 :
52- raise DataverseException ('The Dataverse could not be released .' )
52+ raise DataverseException ('The Dataverse could not be published .' )
5353
54- def add_study (self , study ):
54+ def add_dataset (self , dataset ):
5555
56- if get_element (study ._entry , 'title' , 'dcterms' ) is None :
57- raise DataverseException ('This study must have a title.' )
58- if get_element (study ._entry , 'description' , 'dcterms' ) is None :
59- raise DataverseException ('This study must have a description.' )
60- if get_element (study ._entry , 'creator' , 'dcterms' ) is None :
61- raise DataverseException ('This study must have an author.' )
56+ if get_element (dataset ._entry , 'title' , 'dcterms' ) is None :
57+ raise DataverseException ('This dataset must have a title.' )
58+ if get_element (dataset ._entry , 'description' , 'dcterms' ) is None :
59+ raise DataverseException ('This dataset must have a description.' )
60+ if get_element (dataset ._entry , 'creator' , 'dcterms' ) is None :
61+ raise DataverseException ('This dataset must have an author.' )
6262
6363 resp = requests .post (
6464 self .collection .get ('href' ),
65- data = study .get_entry (),
65+ data = dataset .get_entry (),
6666 headers = {'Content-type' : 'application/atom+xml' },
6767 auth = self .connection .auth ,
6868 )
6969
7070 if resp .status_code != 201 :
71- raise DataverseException ('This study could not be added.' )
71+ raise DataverseException ('This dataset could not be added.' )
7272
73- study .dataverse = self
74- study ._refresh (receipt = resp .content )
73+ dataset .dataverse = self
74+ dataset ._refresh (receipt = resp .content )
7575
76- def delete_study (self , study ):
76+ def delete_dataset (self , dataset ):
7777
78- if study ._state == 'DELETED' or study ._state == 'DEACCESSIONED' :
79- raise DataverseException ('This study has already been deleted.' )
78+ if dataset ._state == 'DELETED' or dataset ._state == 'DEACCESSIONED' :
79+ raise DataverseException ('This dataset has already been deleted.' )
8080
8181 resp = requests .delete (
82- study .edit_uri ,
82+ dataset .edit_uri ,
8383 auth = self .connection .auth ,
8484 )
8585 if resp .status_code == 405 :
86- raise DataverseException ('Released studies can only be deleted '
86+ raise DataverseException ('Published studies can only be deleted '
8787 'from the GUI. For more information, please refer to '
8888 'https://github.com/IQSS/dataverse/issues/778' )
8989
90- study ._state = 'DEACCESSIONED'
90+ dataset ._state = 'DEACCESSIONED'
9191
9292 def get_studies (self ):
9393
@@ -97,13 +97,13 @@ def get_studies(self):
9797 ).content
9898
9999 entries = get_elements (collection_info , tag = 'entry' )
100- return [Study .from_dataverse (entry , self ) for entry in entries ]
100+ return [Dataset .from_dataverse (entry , self ) for entry in entries ]
101101
102- def get_study_by_doi (self , doi ):
102+ def get_dataset_by_doi (self , doi ):
103103 return next ((s for s in self .get_studies () if s .doi == doi ), None )
104104
105- def get_study_by_title (self , title ):
105+ def get_dataset_by_title (self , title ):
106106 return next ((s for s in self .get_studies () if s .title == title ), None )
107107
108- def get_study_by_string_in_entry (self , string ):
108+ def get_dataset_by_string_in_entry (self , string ):
109109 return next ((s for s in self .get_studies () if string in s .get_entry ()), None )
0 commit comments