DBS

class dbs.apis.dbsClient.DbsApi(url='', proxy=None, key=None, cert=None, verifypeer=True, debug=0, ca_info=None, userAgent='')[source]

DbsApi class

blockDump(**kwargs)[source]

API the list all information related with the block_name

Parameters:block_name (str) – Name of the block to be dumped (Required)
help(**kwargs)[source]

API to get a list of supported REST APIs. In the case a particular API is specified, the docstring of that API is displayed.

Parameters:call (str) – REST API call for which help is desired (Optional)
Returns:List of APIs or detailed information about a specific call (parameters and docstring)
Return type:List of strings or a dictionary containing params and doc keys depending on the input parameter
insertAcquisitionEra(acqEraObj)[source]

API to insert an Acquisition Era in DBS

Parameters:acqEraObj (dict) – Acquisition Era object
Key acquisition_era_name:
 Acquisition Era Name (Required)
Key start_date:start date of the acquisition era (unixtime, int) (Optional, default current date)
Key end_date:end data of the acquisition era (unixtime, int) (Optional)
insertBlock(blockObj)[source]

API to insert a block into DBS

Parameters:blockObj (dict) – Block object
Key open_for_writing:
 Open For Writing (1/0) (Optional, default 1)
Key block_size:Block Size (Optional, default 0)
Key file_count:File Count (Optional, default 0)
Key block_name:Block Name (Required)
Key origin_site_name:
 Origin Site Name (Required)
insertBulkBlock(blockDump)[source]

API to insert a bulk block

Parameters:blockDump (dict) – Output of the block dump command, example can be found in https://svnweb.cern.ch/trac/CMSDMWM/browser/DBS/trunk/Client/tests/dbsclient_t/unittests/blockdump.dict
insertDataTier(dataTierObj)[source]

API to insert A Data Tier in DBS

Parameters:dataTierObj (dict) – Data Tier object
Key data_tier_name:
 Data Tier that needs to be inserted
insertDataset(datasetObj)[source]

API to insert a dataset in DBS

Parameters:datasetObj (dict) – Dataset object
Key primary_ds_name:
 Primary Dataset Name (Required)
Key dataset:Name of the dataset (Required)
Key dataset_access_type:
 Dataset Access Type (Required)
Key processed_ds_name:
 Processed Dataset Name (Required)
Key data_tier_name:
 Data Tier Name (Required)
Key acquisition_era_name:
 Acquisition Era Name (Required)
Key processing_version:
 Processing Version (Required)
Key physics_group_name:
 Physics Group Name (Optional, default None)
Key prep_id:ID of the Production and Reprocessing management tool (Optional, default None)
Key xtcrosssection:
 Xtcrosssection (Optional, default None)
Key output_configs:
 List(dict) with keys release_version, pset_hash, app_name, output_module_label and global tag
insertFiles(filesList, qInserts=False)[source]

API to insert a list of file into DBS in DBS. Up to 10 files can be inserted in one request.

Parameters:
  • qInserts (bool) – True means that inserts will be queued instead of done immediately. INSERT QUEUE Manager will perform the inserts, within few minutes.
  • filesList (list of dicts) – List of dictionaries containing following information
Key logical_file_name:
 

File to be inserted (str) (Required)

Key is_file_valid:
 

(optional, default = 1): (bool)

Key block:

required: /a/b/c#d (str)

Key dataset:

required: /a/b/c (str)

Key file_type:

(optional, default = EDM) one of the predefined types, (str)

Key check_sum:

(optional, default = ‘-1’) (str)

Key event_count:
 

(optional, default = -1) (int)

Key file_size:

(optional, default = -1.) (float)

Key adler32:

(optional, default = ‘’) (str)

Key md5:

(optional, default = ‘’) (str)

Key auto_cross_section:
 

(optional, default = -1.) (float)

Key file_lumi_list:
 

(optional, default = []) [{‘run_num’: 123, ‘lumi_section_num’: 12},{}….]

Key file_parent_list:
 

(optional, default = []) [{‘file_parent_lfn’: ‘mylfn’},{}….]

Key file_assoc_list:
 

(optional, default = []) [{‘file_parent_lfn’: ‘mylfn’},{}….]

Key file_output_config_list:
 

(optional, default = []) [{‘app_name’:…, ‘release_version’:…, ‘pset_hash’:…., output_module_label’:…},{}…..]

insertOutputConfig(outputConfigObj)[source]

API to insert An OutputConfig in DBS

Parameters:outputConfigObj (dict) – Output Config object
Key app_name:App Name (Required)
Key release_version:
 Release Version (Required)
Key pset_hash:Pset Hash (Required)
Key output_module_label:
 Output Module Label (Required)
Key global_tag:Global Tag (Required)
Key scenario:Scenario (Optional, default is None)
Key pset_name:Pset Name (Optional, default is None)
insertPrimaryDataset(primaryDSObj)[source]

API to insert A primary dataset in DBS

Parameters:primaryDSObj (dict) – primary dataset object
Key primary_ds_type:
 TYPE (out of valid types in DBS, MC, DATA) (Required)
Key primary_ds_name:
 Name of the primary dataset (Required)
insertProcessingEra(procEraObj)[source]

API to insert A Processing Era in DBS

Parameters:procEraObj (dict) – Processing Era object
Key processing_version:
 Processing Version (Required)
Key description:
 Description (Optional)
listAcquisitionEras(**kwargs)[source]

API to list all Acquisition Eras in DBS.

Parameters:acquisition_era_name (str) – Acquisition era name (Optional, wild cards allowed)
Returns:List of dictionaries containing following keys (description, end_date, acquisition_era_name, create_by, creation_date and start_date)
Return type:list of dicts
listAcquisitionEras_ci(**kwargs)[source]

API to list all Acquisition Eras (case insensitive) in DBS.

Parameters:acquisition_era_name (str) – Acquisition era name (Optional, wild cards allowed)
Returns:List of dictionaries containing following keys (description, end_date, acquisition_era_name, create_by, creation_date and start_date)
Return type:list of dicts
listApiDocumentation()[source]

API to retrieve the auto-generated documentation page from server

listBlockChildren(**kwargs)[source]

API to list block children.

Parameters:block_name (str) – name of block who’s children needs to be found (Required)
Returns:List of dictionaries containing following keys (block_name)
Return type:list of dicts
listBlockOrigin(**kwargs)[source]

API to list blocks first generated in origin_site_name.

Parameters:
  • origin_site_name (str) – Origin Site Name (Optional No wildcards)
  • dataset (str) – dataset (Either dataset or block_name is required, No wildcards)
  • block_name (str) – block (Either dataset or block_name is required, No wildcards)
Returns:

List of dictionaries containing the following keys (create_by, creation_date, open_for_writing, last_modified_by, dataset, block_name, file_count, origin_site_name, last_modification_date, block_size)

Return type:

list of dicts

listBlockParents(**kwargs)[source]

API to list block parents.

Parameters:block_name (str) – name of block who’s parents needs to be found (Required)
Returns:List of dictionaries containing following keys (block_name)
Return type:list of dicts
listBlocks(**kwargs)[source]

API to list a block in DBS. At least one of the parameters block_name, dataset, data_tier_name or logical_file_name are required. If data_tier_name is provided, min_cdate and max_cdate have to be specified and the difference in time have to be less than 31 days.

Parameters:
  • block_name (str) – name of the block
  • dataset (str) – dataset
  • data_tier_name (str) – data tier
  • logical_file_name (str) – Logical File Name
  • origin_site_name (str) – Origin Site Name (Optional)
  • run_num (int, list of runs or list of run ranges) – run numbers (Optional). Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …]
  • min_cdate (int, str) – Lower limit for the creation date (unixtime) (Optional)
  • max_cdate (int, str) – Upper limit for the creation date (unixtime) (Optional)
  • min_ldate (int, str) – Lower limit for the last modification date (unixtime) (Optional)
  • max_ldate (int, str) – Upper limit for the last modification date (unixtime) (Optional)
  • cdate (int, str) – creation date (unixtime) (Optional)
  • ldate (int, str) – last modification date (unixtime) (Optional)
  • detail (bool) – Get detailed information of a block (Optional)
Returns:

List of dictionaries containing following keys (block_name). If option detail is used the dictionaries contain the following keys (block_id, create_by, creation_date, open_for_writing, last_modified_by, dataset, block_name, file_count, origin_site_name, last_modification_date, dataset_id and block_size)

Return type:

list of dicts

listDataTiers(**kwargs)[source]

API to list data tiers known to DBS.

Parameters:data_tier_name (str) – List details on that data tier (Optional)
Returns:List of dictionaries containing the following keys (data_tier_id, data_tier_name, create_by, creation_date)
Return type:list of dicts
listDataTypes(**kwargs)[source]

API to list data types known to dbs (when no parameter supplied).

Parameters:
  • dataset (str) – Returns data type (of primary dataset) of the dataset (Optional)
  • datatype (str) – List specific data type
Returns:

List of dictionaries containing the following keys (primary_ds_type_id, data_type)

Return type:

list of dicts

listDatasetAccessTypes(**kwargs)[source]

API to list dataset access types.

Parameters:dataset_access_type (str) – List that dataset access type (Optional)
Returns:List of dictionary containing the following key (dataset_access_type).
Return type:List of dicts
listDatasetArray(**kwargs)[source]

API to list datasets in DBS.

Parameters:
  • dataset (list) – list of datasets [dataset1,dataset2,..,dataset n] (Required if dataset_id is not presented), Max length 1000.
  • dataset_id – list of dataset_ids that are the primary keys of datasets table: [dataset_id1,dataset_id2,..,dataset_idn] (Required if dataset is not presented), Max length 1000.
  • dataset_access_type (str) – List only datasets with that dataset access type (Optional)
  • detail (bool) – brief list or detailed list 1/0
Returns:

List of dictionaries containing the following keys (dataset). If the detail option is used. The dictionary contains the following keys (primary_ds_name, physics_group_name, acquisition_era_name, create_by, dataset_access_type, data_tier_name, last_modified_by, creation_date, processing_version, processed_ds_name, xtcrosssection, last_modification_date, dataset_id, dataset, prep_id, primary_ds_type)

Return type:

list of dicts

listDatasetChildren(**kwargs)[source]

API to list A datasets children in DBS.

Parameters:dataset (str) – dataset (Required)
Returns:List of dictionaries containing the following keys (child_dataset_id, child_dataset, dataset)
Return type:list of dicts
listDatasetParents(**kwargs)[source]

API to list A datasets parents in DBS.

Parameters:dataset (str) – dataset (Required)
Returns:List of dictionaries containing the following keys (this_dataset, parent_dataset_id, parent_dataset)
Return type:list of dicts
listDatasets(**kwargs)[source]

API to list dataset(s) in DBS * You can use ANY combination of these parameters in this API * In absence of parameters, all valid datasets known to the DBS instance will be returned

Parameters:
  • dataset (str) – Full dataset (path) of the dataset
  • parent_dataset (str) – Full dataset (path) of the dataset
  • release_version (str) – cmssw version
  • pset_hash (str) – pset hash
  • app_name (str) – Application name (generally it is cmsRun)
  • output_module_label (str) – output_module_label
  • processing_version (str) – Processing Version
  • acquisition_era_name (str) – Acquisition Era
  • run_num (int,list,str) – Specify a specific run number or range: Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …]
  • physics_group_name (str) – List only dataset having physics_group_name attribute
  • logical_file_name (str) – List dataset containing the logical_file_name
  • primary_ds_name (str) – Primary Dataset Name
  • primary_ds_type (str) – Primary Dataset Type (Type of data, MC/DATA)
  • processed_ds_name (str) – List datasets having this processed dataset name
  • data_tier_name (str) – Data Tier
  • dataset_access_type (str) – Dataset Access Type ( PRODUCTION, DEPRECATED etc.)
  • prep_id (str) – prep_id
  • create_by (str) – Creator of the dataset
  • last_modified_by (str) – Last modifier of the dataset
  • min_cdate (int, str) – Lower limit for the creation date (unixtime) (Optional)
  • max_cdate (int, str) – Upper limit for the creation date (unixtime) (Optional)
  • min_ldate (int, str) – Lower limit for the last modification date (unixtime) (Optional)
  • max_ldate (int, str) – Upper limit for the last modification date (unixtime) (Optional)
  • cdate (int, str) – creation date (unixtime) (Optional)
  • ldate (int, str) – last modification date (unixtime) (Optional)
  • detail (bool) – List all details of a dataset
  • dataset_id (int, str) – DB primary key of datasets table.
Returns:

List of dictionaries containing the following keys (dataset). If the detail option is used. The dictionary contain the following keys (primary_ds_name, physics_group_name, acquisition_era_name, create_by, dataset_access_type, data_tier_name, last_modified_by, creation_date, processing_version, processed_ds_name, xtcrosssection, last_modification_date, dataset_id, dataset, prep_id, primary_ds_type)

Return type:

list of dicts

listFileArray(**kwargs)[source]

API to list files in DBS. Non-wildcarded logical_file_name, non-wildcarded dataset, non-wildcarded block_name or non-wildcarded lfn list is required. The combination of a non-wildcarded dataset or block_name with an wildcarded logical_file_name is supported.

  • For lumi_list the following two json formats are supported:
    • [a1, a2, a3,]
    • [[a,b], [c, d],]
  • lumi_list can be either a list of lumi section numbers as [a1, a2, a3,] or a list of lumi section range as [[a,b], [c, d],]. They cannot be mixed.
  • If lumi_list is provided run only run_num=single-run-number is allowed.
  • When run_num=1, one has to provide logical_file_name.
  • When lfn list is present, no run or lumi list is allowed.
Parameters:
  • logical_file_name (str, list) – logical_file_name of the file, Max length 1000.
  • dataset (str) – dataset
  • block_name (str) – block name
  • release_version (str) – release version
  • pset_hash (str) – parameter set hash
  • app_name (str) – Name of the application
  • output_module_label (str) – name of the used output module
  • run_num (int, list, string) – run , run ranges, and run list, Max list length 1000.
  • origin_site_name (str) – site where the file was created
  • lumi_list (list) – List containing luminosity sections, Max length 1000.
  • detail (bool) – Get detailed information about a file
  • validFileOnly (int) – 0 or 1. default=0. Return only valid files if set to 1.
Returns:

List of dictionaries containing the following keys (logical_file_name). If detail parameter is true, the dictionaries contain the following keys (check_sum, branch_hash_id, adler32, block_id, event_count, file_type, create_by, logical_file_name, creation_date, last_modified_by, dataset, block_name, file_id, file_size, last_modification_date, dataset_id, file_type_id, auto_cross_section, md5, is_file_valid)

Return type:

list of dicts

listFileChildren_doc(**kwargs)[source]

API to list file children. One of the parameters in mandatory.

Parameters:
  • logical_file_name (str, list) – logical_file_name of file
  • block_name (str) – block_name
  • block_id (str, int) – block_id
Returns:

List of dictionaries containing the following keys (child_logical_file_name, logical_file_name)

Return type:

List of dicts

listFileLumiArray(**kwargs)[source]

API to list Lumiis for a list of files. A list of logical_file_names is required. No wild card support in this API

Parameters:
  • logical_file_name (str, list) – logical_file_name of file, Max length 1000.
  • run_num (int,str,list) – List lumi sections for a given run number (Optional). Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …] . run_num=1 is MC data and it will cause almost whole table scan, so run_num=1 will cause an input error. Max length 1000.
  • validFileOnly (int, str) – default value is 0 (optional), when set to 1, only valid files counted.
Returns:

List of dictionaries containing the following keys (lumi_section_num, logical_file_name, run)

Return type:

list of dicts

listFileLumis(**kwargs)[source]

API to list Lumi for files. Either logical_file_name or block_name is required. No wild card support in this API

Parameters:
  • block_name (str) – Name of the block
  • logical_file_name (str) – logical_file_name of file
  • run_num (int,str,list) – List lumi sections for a given run number (Optional). Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …] . run_num=1 is MC data and it will cause almost whole table scan, so run_num=1 will cause an input error.
  • validFileOnly (int, str) – default value is 0 (optional), when set to 1, only valid files counted.
Returns:

List of dictionaries containing the following keys (lumi_section_num, logical_file_name, run)

Return type:

list of dicts

listFileParents_doc(**kwargs)[source]

API to list file parents

Parameters:
  • logical_file_name (str) – logical_file_name of file (Required)
  • block_id (int, str) – ID of the a block, whose files should be listed
  • block_name (int, str) – Name of the block, whose files should be listed
Returns:

List of dictionaries containing the following keys (parent_logical_file_name, logical_file_name)

Return type:

list of dicts

listFileSummaries(**kwargs)[source]

API to list number of files, event counts and number of lumis in a given block or dataset. If the optional run parameter is used, output are:

  • The number of files which have data (lumis) for that run number;
  • The total number of events in those files;
  • The total number of lumis for that run_number. Note that in general this is different from the total number of lumis in those files, since lumis are filtered by the run_number they belong to, while events are only counted as total per file;
  • The total num blocks that have the run_num;

Either block_name or dataset name is required. No wild-cards are allowed

Parameters:
  • block_name (str) – Block name
  • dataset (str) – Dataset name
  • run_num (int, str, list) – Run number (Optional). Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …]. run_num=1 is MC data and it will cause almost whole table scan, so run_num=1 will cause an input error.
  • validFileOnly (int) – default=0 all files included. if 1, only valid file counted.
Returns:

List of dictionaries containing the following keys (num_files, num_lumi, num_block, num_event, file_size)

Return type:

list of dicts

listFiles_doc(**kwargs)[source]

API to list files in DBS. Either non-wildcarded logical_file_name, non-wildcarded dataset, non-wildcarded block_name is required. The combination of a non-wildcarded dataset or block_name with an wildcarded logical_file_name is supported.

  • For lumi_list the following two json formats are supported:
    • [a1, a2, a3,]
    • [[a,b], [c, d],]
  • lumi_list can be either a list of lumi section numbers as [a1, a2, a3,] or a list of lumi section range as [[a,b], [c, d],]. Thay cannot be mixed.
  • If lumi_list is provided run only run_num=single-run-number is allowed
  • When lfn list is present, no run or lumi list is allowed.
  • There are five dataset access types: VALID, INVALID, PRODUCTION, DEPRECATED and DELETED.
  • One file status: IS_FILE_VALID: 1 or 0.
  • There are five dataset access types: VALID, INVALID, PRODUCTION, DEPRECATED and DELETED.
  • One file status: IS_FILE_VALID: 1 or 0.
  • When a dataset is INVALID/ DEPRECATED/ DELETED, DBS will consider all the files under it is invalid not matter what value is_file_valid has. In general, when the dataset is in one of INVALID/ DEPRECATED/ DELETED, is_file_valid should all marked as 0, but some old DBS2 data was not.
  • When Dataset is VALID/PRODUCTION, by default is_file_valid is all 1. But if individual file is invalid, then the file’s is_file_valid is set to 0.
  • DBS use this logical in its APIs that have validFileOnly variable.
Parameters:
  • logical_file_name (str) – logical_file_name of the file
  • dataset (str) – dataset
  • block_name (str) – block name
  • release_version (str) – release version
  • pset_hash (str) – parameter set hash
  • app_name (str) – Name of the application
  • output_module_label (str) – name of the used output module
  • run_num (int, list, string) – run , run ranges, and run list. Possible format: run_num, “run_min-run_max”, or [“run_min-run_max”, run1, run2, …].
  • origin_site_name (str) – site where the file was created
  • lumi_list (list) – List containing luminosity sections
  • detail (bool) – Get detailed information about a file
  • validFileOnly (int) – 0 or 1. default=0. Return only valid files if set to 1.
Returns:

List of dictionaries containing the following keys (logical_file_name). If detail parameter is true, the dictionaries contain the following keys (check_sum, branch_hash_id, adler32, block_id, event_count, file_type, create_by, logical_file_name, creation_date, last_modified_by, dataset, block_name, file_id, file_size, last_modification_date, dataset_id, file_type_id, auto_cross_section, md5, is_file_valid)

Return type:

list of dicts

listOutputConfigs(**kwargs)[source]

API to list OutputConfigs in DBS.

  • You can use any combination of these parameters in this API
  • All parameters are optional, if you do not provide any parameter, all configs will be listed from DBS
Parameters:
  • dataset (str) – Full dataset (path) of the dataset
  • logical_file_name (str) – logical_file_name of the file
  • release_version (str) – cmssw version
  • pset_hash (str) – pset hash
  • app_name (str) – Application name (generally it is cmsRun)
  • output_module_label (str) – output_module_label
  • block_id (int) – ID of the block
  • global_tag (str) – Global Tag
Returns:

List of dictionaries containing the following keys (app_name, output_module_label, create_by, pset_hash, creation_date, release_version, global_tag, pset_name)

Return type:

list of dicts

listPhysicsGroups(**kwargs)[source]

API to list all physics groups.

Parameters:physics_group_name (str) – List that specific physics group (Optional)
Returns:List of dictionaries containing the following key (physics_group_name)
Return type:list of dicts
listPrimaryDSTypes(**kwargs)[source]

API to list primary dataset types

Parameters:
  • primary_ds_type (str) – List that primary dataset type (Optional)
  • dataset (str) – List the primary dataset type for that dataset (Optional)
Returns:

List of dictionaries containing the following keys (primary_ds_type_id, data_type)

Return type:

list of dicts

listPrimaryDatasets(**kwargs)[source]

API to list primary datasets

Parameters:
  • primary_ds_type (str) – List primary datasets with primary dataset type (Optional)
  • primary_ds_name (str) – List that primary dataset (Optional)
Returns:

List of dictionaries containing the following keys (create_by, primary_ds_type, primary_ds_id, primary_ds_name, creation_date)

Return type:

list of dicts

listProcessingEras(**kwargs)[source]

API to list all Processing Eras in DBS.

Parameters:processing_version (str) – Processing Version (Optional). If provided just this processing_version will be listed
Returns:List of dictionaries containing the following keys (create_by, processing_version, description, creation_date)
Return type:list of dicts
listReleaseVersions(**kwargs)[source]

API to list all release versions in DBS

Parameters:
  • release_version (str) – List only that release version
  • dataset (str) – List release version of the specified dataset
  • logical_file_name (str) – List release version of the logical file name
Returns:

List of dictionaries containing following keys (release_version)

Return type:

list of dicts

listRunSummaries(**kwargs)[source]

API to list run summaries, like the maximal lumisection in a run.

Parameters:
  • dataset (str) – dataset name (Optional)
  • run_num (str, long, int) – Run number (Required)
Returns:

list containing a dictionary with key max_lumi

Return type:

list of dicts

listRuns(**kwargs)[source]

API to list all run dictionary, for example: [{‘run_num’: [160578, 160498, 160447, 160379]}]. At least one parameter is mandatory.

Parameters:
  • logical_file_name (str) – List all runs in the file
  • block_name (str) – List all runs in the block
  • dataset (str) – List all runs in that dataset
  • run_num (int, string or list) – List all runs
removeMigration(migrationObj)[source]

Remove a migration request from the queue. Only Permanently FAILED (status 9) and PENDING (status 0) requests can be removed. Running and succeeded requests cannot be removed.

Parameters:migrationObj (dict) – migration request object
Key migration_rqst_id:
 The migration request id (required)
requestContentLength

Returns the content-length of the content return by the server

Return type:str
requestTimingInfo

Returns the time needed to process the request by the frontend server in microseconds and the EPOC timestamp of the request in microseconds.

Return type:tuple containing processing time and timestamp
serverinfo()[source]

Method that provides information about DBS Server to the clients The information includes

Returns:Server Version - CVS Tag, Schema Version - Version of Schema this DBS instance is working with, ETC - TBD
Return type:dictionary containing tagged_version, schema, and components keys
statusMigration(**kwargs)[source]

Check the status of migration request: 0-request created; 1-migration in process; 2-migration successed; 3-migration failed, but has three chances to try; 9-migration Permanently failed.

Parameters:
  • migration_rqst_id (str, int, long) – Migration Request ID
  • block_name (str) – Block name
  • dataset (str) – Dataset name
  • user (str) – user
submitMigration(migrationObj)[source]

Submit a migration request to the migration service

Parameters:migrationObj (dict :key migration_url: The source DBS url for migration (required) :key migration_input: The block or dataset names to be migrated (required)) – migration request object
updateAcqEraEndDate(**kwargs)[source]

API to update the end_date of an acquisition era

Parameters:
  • acquisition_era_name (str) – acquisition_era_name to update (Required)
  • end_date (int) – end_date not zero (Required)
updateBlockSiteName(**kwargs)[source]

API to update origin_site_name of a block

Parameters:
  • block_name (str) – block name (Required)
  • origin_site_name – New origin site name of the block (Required)
updateBlockStatus(**kwargs)[source]

API to update block status

Parameters:
  • block_name (str) – block name (Required)
  • open_for_writing (str) – open_for_writing=0 (close), open_for_writing=1 (open) (Required)
updateDatasetType(**kwargs)[source]

API to update dataset type

Parameters:
  • dataset (str) – Dataset to update (Required)
  • dataset_access_type (str) – production, deprecated, etc (Required)
dbs.apis.dbsClient.checkInputParameter(method, parameters, validParameters, requiredParameters=None)[source]

Helper function to check input by using before sending to the server

Parameters:
  • method (str) – Name of the API
  • validParameters (list) – Allow parameters for the API call
  • requiredParameters (list) – Required parameters for the API call (Default: None)
dbs.apis.dbsClient.list_parameter_splitting(data, key, size_limit=8000, method='GET')[source]

Helper function split list used as input parameter for requests, since Apache has a limitation to 8190 Bytes for the lenght of an URI. We extended it to also split lfn and dataset list length for POST calls to avoid DB abuse even if there is no limit on hoe long the list can be. YG 2015-5-13

Parameters:
  • data (dict) – url parameters
  • key – key of parameter dictionary to split by lenght
  • size_limit (int) – Split list in chunks of maximal size_limit bytes
dbs.apis.dbsClient.slicedIterator(sourceList, sliceSize)[source]
Param:sourceList: list which need to be sliced
Type:list
Param:sliceSize: size of the slice
Type:int
Returns:iterator of the sliced list
dbs.apis.dbsClient.split_calls(func)[source]

Decorator to split up server calls for methods using url parameters, due to the lenght limitation of the URI in Apache. By default 8190 bytes