From 11ace57e88d9fcc4cf71701b3632c947e2eac212 Mon Sep 17 00:00:00 2001 From: Jan Range Date: Tue, 7 May 2024 22:48:49 +0200 Subject: [PATCH] move source code from `src` to root --- {src/pyDataverse => pyDataverse}/__init__.py | 5 +- {src/pyDataverse => pyDataverse}/api.py | 0 .../source/_images/collection_dataset.png | Bin .../docs/source/_static/.gitkeep | 0 .../docs/source/_templates/layout.html | 0 .../docs/source/_templates/sidebar_intro.html | 0 .../_templates/sidebar_related-links.html | 0 .../docs/source/community/contact.rst | 0 .../docs/source/community/releases.rst | 0 .../docs/source/conf.py | 0 .../docs/source/contributing/contributing.rst | 0 .../docs/source/index.rst | 0 .../docs/source/reference.rst | 0 .../docs/source/snippets/pip-install.rst | 0 .../docs/source/snippets/requirements.rst | 0 .../source/snippets/warning_production.rst | 0 .../docs/source/user/advanced-usage.rst | 6 +- .../docs/source/user/basic-usage.rst | 0 .../docs/source/user/csv-templates.rst | 10 +- .../docs/source/user/faq.rst | 0 .../docs/source/user/installation.rst | 0 .../docs/source/user/resources.rst | 0 .../docs/source/user/use-cases.rst | 0 .../pyDataverse => pyDataverse}/exceptions.py | 0 {src/pyDataverse => pyDataverse}/models.py | 109 ++++++++++-------- .../schemas/json/datafile_upload_schema.json | 0 .../json/dataset_upload_default_schema.json | 0 .../schemas/json/dataverse_upload_schema.json | 0 .../schemas/json/dspace_schema.json | 0 .../templates/datafiles.csv | 0 .../templates/datasets.csv | 0 .../templates/dataverses.csv | 0 {src/pyDataverse => pyDataverse}/utils.py | 5 +- 33 files changed, 71 insertions(+), 64 deletions(-) rename {src/pyDataverse => pyDataverse}/__init__.py (86%) rename {src/pyDataverse => pyDataverse}/api.py (100%) rename {src/pyDataverse => pyDataverse}/docs/source/_images/collection_dataset.png (100%) rename {src/pyDataverse => pyDataverse}/docs/source/_static/.gitkeep (100%) rename {src/pyDataverse => pyDataverse}/docs/source/_templates/layout.html (100%) rename {src/pyDataverse => pyDataverse}/docs/source/_templates/sidebar_intro.html (100%) rename {src/pyDataverse => pyDataverse}/docs/source/_templates/sidebar_related-links.html (100%) rename {src/pyDataverse => pyDataverse}/docs/source/community/contact.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/community/releases.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/conf.py (100%) rename {src/pyDataverse => pyDataverse}/docs/source/contributing/contributing.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/index.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/reference.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/snippets/pip-install.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/snippets/requirements.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/snippets/warning_production.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/user/advanced-usage.rst (97%) rename {src/pyDataverse => pyDataverse}/docs/source/user/basic-usage.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/user/csv-templates.rst (95%) rename {src/pyDataverse => pyDataverse}/docs/source/user/faq.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/user/installation.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/user/resources.rst (100%) rename {src/pyDataverse => pyDataverse}/docs/source/user/use-cases.rst (100%) rename {src/pyDataverse => pyDataverse}/exceptions.py (100%) rename {src/pyDataverse => pyDataverse}/models.py (95%) rename {src/pyDataverse => pyDataverse}/schemas/json/datafile_upload_schema.json (100%) rename {src/pyDataverse => pyDataverse}/schemas/json/dataset_upload_default_schema.json (100%) rename {src/pyDataverse => pyDataverse}/schemas/json/dataverse_upload_schema.json (100%) rename {src/pyDataverse => pyDataverse}/schemas/json/dspace_schema.json (100%) rename {src/pyDataverse => pyDataverse}/templates/datafiles.csv (100%) rename {src/pyDataverse => pyDataverse}/templates/datasets.csv (100%) rename {src/pyDataverse => pyDataverse}/templates/dataverses.csv (100%) rename {src/pyDataverse => pyDataverse}/utils.py (99%) diff --git a/src/pyDataverse/__init__.py b/pyDataverse/__init__.py similarity index 86% rename from src/pyDataverse/__init__.py rename to pyDataverse/__init__.py index 6c5fe28..bea7692 100644 --- a/src/pyDataverse/__init__.py +++ b/pyDataverse/__init__.py @@ -7,15 +7,12 @@ from __future__ import absolute_import -import urllib3 - -urllib3.disable_warnings() # noqa __author__ = "Stefan Kasberger" __email__ = "stefan.kasberger@univie.ac.at" __copyright__ = "Copyright (c) 2019 Stefan Kasberger" __license__ = "MIT License" -__version__ = "0.3.1" +__version__ = "0.3.2" __url__ = "https://github.com/GDCC/pyDataverse" __download_url__ = "https://pypi.python.org/pypi/pyDataverse" __description__ = "A Python module for Dataverse." diff --git a/src/pyDataverse/api.py b/pyDataverse/api.py similarity index 100% rename from src/pyDataverse/api.py rename to pyDataverse/api.py diff --git a/src/pyDataverse/docs/source/_images/collection_dataset.png b/pyDataverse/docs/source/_images/collection_dataset.png similarity index 100% rename from src/pyDataverse/docs/source/_images/collection_dataset.png rename to pyDataverse/docs/source/_images/collection_dataset.png diff --git a/src/pyDataverse/docs/source/_static/.gitkeep b/pyDataverse/docs/source/_static/.gitkeep similarity index 100% rename from src/pyDataverse/docs/source/_static/.gitkeep rename to pyDataverse/docs/source/_static/.gitkeep diff --git a/src/pyDataverse/docs/source/_templates/layout.html b/pyDataverse/docs/source/_templates/layout.html similarity index 100% rename from src/pyDataverse/docs/source/_templates/layout.html rename to pyDataverse/docs/source/_templates/layout.html diff --git a/src/pyDataverse/docs/source/_templates/sidebar_intro.html b/pyDataverse/docs/source/_templates/sidebar_intro.html similarity index 100% rename from src/pyDataverse/docs/source/_templates/sidebar_intro.html rename to pyDataverse/docs/source/_templates/sidebar_intro.html diff --git a/src/pyDataverse/docs/source/_templates/sidebar_related-links.html b/pyDataverse/docs/source/_templates/sidebar_related-links.html similarity index 100% rename from src/pyDataverse/docs/source/_templates/sidebar_related-links.html rename to pyDataverse/docs/source/_templates/sidebar_related-links.html diff --git a/src/pyDataverse/docs/source/community/contact.rst b/pyDataverse/docs/source/community/contact.rst similarity index 100% rename from src/pyDataverse/docs/source/community/contact.rst rename to pyDataverse/docs/source/community/contact.rst diff --git a/src/pyDataverse/docs/source/community/releases.rst b/pyDataverse/docs/source/community/releases.rst similarity index 100% rename from src/pyDataverse/docs/source/community/releases.rst rename to pyDataverse/docs/source/community/releases.rst diff --git a/src/pyDataverse/docs/source/conf.py b/pyDataverse/docs/source/conf.py similarity index 100% rename from src/pyDataverse/docs/source/conf.py rename to pyDataverse/docs/source/conf.py diff --git a/src/pyDataverse/docs/source/contributing/contributing.rst b/pyDataverse/docs/source/contributing/contributing.rst similarity index 100% rename from src/pyDataverse/docs/source/contributing/contributing.rst rename to pyDataverse/docs/source/contributing/contributing.rst diff --git a/src/pyDataverse/docs/source/index.rst b/pyDataverse/docs/source/index.rst similarity index 100% rename from src/pyDataverse/docs/source/index.rst rename to pyDataverse/docs/source/index.rst diff --git a/src/pyDataverse/docs/source/reference.rst b/pyDataverse/docs/source/reference.rst similarity index 100% rename from src/pyDataverse/docs/source/reference.rst rename to pyDataverse/docs/source/reference.rst diff --git a/src/pyDataverse/docs/source/snippets/pip-install.rst b/pyDataverse/docs/source/snippets/pip-install.rst similarity index 100% rename from src/pyDataverse/docs/source/snippets/pip-install.rst rename to pyDataverse/docs/source/snippets/pip-install.rst diff --git a/src/pyDataverse/docs/source/snippets/requirements.rst b/pyDataverse/docs/source/snippets/requirements.rst similarity index 100% rename from src/pyDataverse/docs/source/snippets/requirements.rst rename to pyDataverse/docs/source/snippets/requirements.rst diff --git a/src/pyDataverse/docs/source/snippets/warning_production.rst b/pyDataverse/docs/source/snippets/warning_production.rst similarity index 100% rename from src/pyDataverse/docs/source/snippets/warning_production.rst rename to pyDataverse/docs/source/snippets/warning_production.rst diff --git a/src/pyDataverse/docs/source/user/advanced-usage.rst b/pyDataverse/docs/source/user/advanced-usage.rst similarity index 97% rename from src/pyDataverse/docs/source/user/advanced-usage.rst rename to pyDataverse/docs/source/user/advanced-usage.rst index 6c98545..769ce1a 100644 --- a/src/pyDataverse/docs/source/user/advanced-usage.rst +++ b/pyDataverse/docs/source/user/advanced-usage.rst @@ -42,7 +42,7 @@ Prepare **Additional Resources** -- CSV templates from ``src/pyDataverse/templates/`` are used (see :ref:`CSV templates `) +- CSV templates from ``pyDataverse/templates/`` are used (see :ref:`CSV templates `) - Data from ``tests/data/user-guide/`` is used (`GitHub repo `_) @@ -101,10 +101,10 @@ converts boolean values, and loads JSON cells properly. Once we have the data in Python, we can easily import the data into pyDataverse. -For this, loop over each Dataset :class:`dict`, to: +For this, loop over each Dataset :class:`dict`, to: #. Instantiate an empty :class:`Dataset ` -#. add the data with :meth:`set() ` and +#. add the data with :meth:`set() ` and #. append the instance to a :class:`list`. :: diff --git a/src/pyDataverse/docs/source/user/basic-usage.rst b/pyDataverse/docs/source/user/basic-usage.rst similarity index 100% rename from src/pyDataverse/docs/source/user/basic-usage.rst rename to pyDataverse/docs/source/user/basic-usage.rst diff --git a/src/pyDataverse/docs/source/user/csv-templates.rst b/pyDataverse/docs/source/user/csv-templates.rst similarity index 95% rename from src/pyDataverse/docs/source/user/csv-templates.rst rename to pyDataverse/docs/source/user/csv-templates.rst index d7e471d..d36294c 100644 --- a/src/pyDataverse/docs/source/user/csv-templates.rst +++ b/pyDataverse/docs/source/user/csv-templates.rst @@ -71,12 +71,12 @@ There is also a more detailed tutorial on how to use the CSV templates for mass imports in the :ref:`User Guide - Advanced `. -The CSV templates can be found in ``src/pyDataverse/templates/`` -(`GitHub repo `_): +The CSV templates can be found in ``pyDataverse/templates/`` +(`GitHub repo `_): -- `dataverses.csv `_ -- `datasets.csv `_ -- `datafiles.csv `_ +- `dataverses.csv `_ +- `datasets.csv `_ +- `datafiles.csv `_ .. _user_csv-templates_usage_create-csv: diff --git a/src/pyDataverse/docs/source/user/faq.rst b/pyDataverse/docs/source/user/faq.rst similarity index 100% rename from src/pyDataverse/docs/source/user/faq.rst rename to pyDataverse/docs/source/user/faq.rst diff --git a/src/pyDataverse/docs/source/user/installation.rst b/pyDataverse/docs/source/user/installation.rst similarity index 100% rename from src/pyDataverse/docs/source/user/installation.rst rename to pyDataverse/docs/source/user/installation.rst diff --git a/src/pyDataverse/docs/source/user/resources.rst b/pyDataverse/docs/source/user/resources.rst similarity index 100% rename from src/pyDataverse/docs/source/user/resources.rst rename to pyDataverse/docs/source/user/resources.rst diff --git a/src/pyDataverse/docs/source/user/use-cases.rst b/pyDataverse/docs/source/user/use-cases.rst similarity index 100% rename from src/pyDataverse/docs/source/user/use-cases.rst rename to pyDataverse/docs/source/user/use-cases.rst diff --git a/src/pyDataverse/exceptions.py b/pyDataverse/exceptions.py similarity index 100% rename from src/pyDataverse/exceptions.py rename to pyDataverse/exceptions.py diff --git a/src/pyDataverse/models.py b/pyDataverse/models.py similarity index 95% rename from src/pyDataverse/models.py rename to pyDataverse/models.py index a938869..2a835e2 100644 --- a/src/pyDataverse/models.py +++ b/pyDataverse/models.py @@ -1,4 +1,5 @@ """Dataverse data-types data model.""" + from __future__ import absolute_import import json @@ -103,7 +104,9 @@ def validate_json(self, filename_schema=None): assert isinstance(filename_schema, str) return validate_data( - json.loads(self.json(validate=False)), filename_schema, file_format="json", + json.loads(self.json(validate=False)), + filename_schema, + file_format="json", ) def from_json( @@ -867,7 +870,6 @@ def from_json( ) if "metadataBlocks" in json_dict["datasetVersion"]: - # citation if "citation" in json_dict["datasetVersion"]["metadataBlocks"]: citation = json_dict["datasetVersion"]["metadataBlocks"]["citation"] @@ -954,7 +956,8 @@ def from_json( if "displayName" in socialscience: self.__setattr__( - "socialscience_displayName", socialscience["displayName"], + "socialscience_displayName", + socialscience["displayName"], ) for field in socialscience["fields"]: @@ -966,27 +969,27 @@ def from_json( elif field["typeName"] == "targetSampleSize": data["targetSampleSize"] = {} if "targetSampleActualSize" in field["value"]: - data["targetSampleSize"][ - "targetSampleActualSize" - ] = field["value"]["targetSampleActualSize"]["value"] + data["targetSampleSize"]["targetSampleActualSize"] = ( + field["value"]["targetSampleActualSize"]["value"] + ) if "targetSampleSizeFormula" in field["value"]: - data["targetSampleSize"][ - "targetSampleSizeFormula" - ] = field["value"]["targetSampleSizeFormula"]["value"] + data["targetSampleSize"]["targetSampleSizeFormula"] = ( + field["value"]["targetSampleSizeFormula"]["value"] + ) elif field["typeName"] == "socialScienceNotes": data["socialScienceNotes"] = {} if "socialScienceNotesType" in field["value"]: - data["socialScienceNotes"][ - "socialScienceNotesType" - ] = field["value"]["socialScienceNotesType"]["value"] + data["socialScienceNotes"]["socialScienceNotesType"] = ( + field["value"]["socialScienceNotesType"]["value"] + ) if "socialScienceNotesSubject" in field["value"]: data["socialScienceNotes"][ "socialScienceNotesSubject" ] = field["value"]["socialScienceNotesSubject"]["value"] if "socialScienceNotesText" in field["value"]: - data["socialScienceNotes"][ - "socialScienceNotesText" - ] = field["value"]["socialScienceNotesText"]["value"] + data["socialScienceNotes"]["socialScienceNotesText"] = ( + field["value"]["socialScienceNotesText"]["value"] + ) else: print( "Attribute {0} not valid for import (dv_up).".format( @@ -1200,7 +1203,10 @@ def json(self, data_format=None, validate=True, filename_schema=None): ) # Generate fields attributes - for (key, val,) in self.__attr_import_dv_up_citation_fields_arrays.items(): + for ( + key, + val, + ) in self.__attr_import_dv_up_citation_fields_arrays.items(): if key in data_dict: v = data_dict[key] citation["fields"].append( @@ -1341,25 +1347,25 @@ def json(self, data_format=None, validate=True, filename_schema=None): if "targetSampleActualSize" in target_sample_size: if target_sample_size["targetSampleActualSize"] is not None: tmp_dict["targetSampleActualSize"] = {} - tmp_dict["targetSampleActualSize"][ - "typeName" - ] = "targetSampleActualSize" + tmp_dict["targetSampleActualSize"]["typeName"] = ( + "targetSampleActualSize" + ) tmp_dict["targetSampleActualSize"]["multiple"] = False tmp_dict["targetSampleActualSize"]["typeClass"] = "primitive" - tmp_dict["targetSampleActualSize"][ - "value" - ] = target_sample_size["targetSampleActualSize"] + tmp_dict["targetSampleActualSize"]["value"] = ( + target_sample_size["targetSampleActualSize"] + ) if "targetSampleSizeFormula" in target_sample_size: if target_sample_size["targetSampleSizeFormula"] is not None: tmp_dict["targetSampleSizeFormula"] = {} - tmp_dict["targetSampleSizeFormula"][ - "typeName" - ] = "targetSampleSizeFormula" + tmp_dict["targetSampleSizeFormula"]["typeName"] = ( + "targetSampleSizeFormula" + ) tmp_dict["targetSampleSizeFormula"]["multiple"] = False tmp_dict["targetSampleSizeFormula"]["typeClass"] = "primitive" - tmp_dict["targetSampleSizeFormula"][ - "value" - ] = target_sample_size["targetSampleSizeFormula"] + tmp_dict["targetSampleSizeFormula"]["value"] = ( + target_sample_size["targetSampleSizeFormula"] + ) socialscience["fields"].append( { "typeName": "targetSampleSize", @@ -1376,36 +1382,36 @@ def json(self, data_format=None, validate=True, filename_schema=None): if "socialScienceNotesType" in social_science_notes: if social_science_notes["socialScienceNotesType"] is not None: tmp_dict["socialScienceNotesType"] = {} - tmp_dict["socialScienceNotesType"][ - "typeName" - ] = "socialScienceNotesType" + tmp_dict["socialScienceNotesType"]["typeName"] = ( + "socialScienceNotesType" + ) tmp_dict["socialScienceNotesType"]["multiple"] = False tmp_dict["socialScienceNotesType"]["typeClass"] = "primitive" - tmp_dict["socialScienceNotesType"][ - "value" - ] = social_science_notes["socialScienceNotesType"] + tmp_dict["socialScienceNotesType"]["value"] = ( + social_science_notes["socialScienceNotesType"] + ) if "socialScienceNotesSubject" in social_science_notes: if social_science_notes["socialScienceNotesSubject"] is not None: tmp_dict["socialScienceNotesSubject"] = {} - tmp_dict["socialScienceNotesSubject"][ - "typeName" - ] = "socialScienceNotesSubject" + tmp_dict["socialScienceNotesSubject"]["typeName"] = ( + "socialScienceNotesSubject" + ) tmp_dict["socialScienceNotesSubject"]["multiple"] = False tmp_dict["socialScienceNotesSubject"]["typeClass"] = "primitive" - tmp_dict["socialScienceNotesSubject"][ - "value" - ] = social_science_notes["socialScienceNotesSubject"] + tmp_dict["socialScienceNotesSubject"]["value"] = ( + social_science_notes["socialScienceNotesSubject"] + ) if "socialScienceNotesText" in social_science_notes: if social_science_notes["socialScienceNotesText"] is not None: tmp_dict["socialScienceNotesText"] = {} - tmp_dict["socialScienceNotesText"][ - "typeName" - ] = "socialScienceNotesText" + tmp_dict["socialScienceNotesText"]["typeName"] = ( + "socialScienceNotesText" + ) tmp_dict["socialScienceNotesText"]["multiple"] = False tmp_dict["socialScienceNotesText"]["typeClass"] = "primitive" - tmp_dict["socialScienceNotesText"][ - "value" - ] = social_science_notes["socialScienceNotesText"] + tmp_dict["socialScienceNotesText"]["value"] = ( + social_science_notes["socialScienceNotesText"] + ) socialscience["fields"].append( { "typeName": "socialScienceNotes", @@ -1456,7 +1462,10 @@ def json(self, data_format=None, validate=True, filename_schema=None): ) # Generate fields attributes - for (key, val,) in self.__attr_import_dv_up_journal_fields_arrays.items(): + for ( + key, + val, + ) in self.__attr_import_dv_up_journal_fields_arrays.items(): if key in data_dict: journal["fields"].append( { @@ -1469,9 +1478,9 @@ def json(self, data_format=None, validate=True, filename_schema=None): data["datasetVersion"]["metadataBlocks"]["citation"] = citation if "socialscience" in locals(): - data["datasetVersion"]["metadataBlocks"][ - "socialscience" - ] = socialscience + data["datasetVersion"]["metadataBlocks"]["socialscience"] = ( + socialscience + ) if "geospatial" in locals(): data["datasetVersion"]["metadataBlocks"]["geospatial"] = geospatial if "journal" in locals(): diff --git a/src/pyDataverse/schemas/json/datafile_upload_schema.json b/pyDataverse/schemas/json/datafile_upload_schema.json similarity index 100% rename from src/pyDataverse/schemas/json/datafile_upload_schema.json rename to pyDataverse/schemas/json/datafile_upload_schema.json diff --git a/src/pyDataverse/schemas/json/dataset_upload_default_schema.json b/pyDataverse/schemas/json/dataset_upload_default_schema.json similarity index 100% rename from src/pyDataverse/schemas/json/dataset_upload_default_schema.json rename to pyDataverse/schemas/json/dataset_upload_default_schema.json diff --git a/src/pyDataverse/schemas/json/dataverse_upload_schema.json b/pyDataverse/schemas/json/dataverse_upload_schema.json similarity index 100% rename from src/pyDataverse/schemas/json/dataverse_upload_schema.json rename to pyDataverse/schemas/json/dataverse_upload_schema.json diff --git a/src/pyDataverse/schemas/json/dspace_schema.json b/pyDataverse/schemas/json/dspace_schema.json similarity index 100% rename from src/pyDataverse/schemas/json/dspace_schema.json rename to pyDataverse/schemas/json/dspace_schema.json diff --git a/src/pyDataverse/templates/datafiles.csv b/pyDataverse/templates/datafiles.csv similarity index 100% rename from src/pyDataverse/templates/datafiles.csv rename to pyDataverse/templates/datafiles.csv diff --git a/src/pyDataverse/templates/datasets.csv b/pyDataverse/templates/datasets.csv similarity index 100% rename from src/pyDataverse/templates/datasets.csv rename to pyDataverse/templates/datasets.csv diff --git a/src/pyDataverse/templates/dataverses.csv b/pyDataverse/templates/dataverses.csv similarity index 100% rename from src/pyDataverse/templates/dataverses.csv rename to pyDataverse/templates/dataverses.csv diff --git a/src/pyDataverse/utils.py b/pyDataverse/utils.py similarity index 99% rename from src/pyDataverse/utils.py rename to pyDataverse/utils.py index b931d7d..f22acf7 100644 --- a/src/pyDataverse/utils.py +++ b/pyDataverse/utils.py @@ -1,4 +1,5 @@ """Helper functions.""" + import csv import json import os @@ -585,13 +586,13 @@ def dataverse_tree_walker( datasets = [] datafiles = [] - if type(data) == list: + if isinstance(data, list): for elem in data: dv, ds, df = dataverse_tree_walker(elem) dataverses += dv datasets += ds datafiles += df - elif type(data) == dict: + elif isinstance(data, dict): if data["type"] == "dataverse": dv_tmp = {} for key in dv_keys: