Example #1
0
def myemsldb_connect(dbconf = None, myemsl_schema_versions=None):
	if dbconf == None:
		dbconf = getconfig_secret()
	if myemsl_schema_versions == None:
		raise Exception("You did not specify any supported versions")
	versions = {}
	for x in myemsl_schema_versions:
		(major, minor) = x.split('.')
		versions[major] = minor
	cnx = pgdb.connect(database=dbconf.get('metadata', 'database'), user=dbconf.get('metadata', 'user'), host=dbconf.get('metadata', 'host'), password=dbconf.get('metadata', 'password'))
	sql = """
	select value from myemsl.system where key='schema_version'
	"""
	cursor = cnx.cursor()
	cursor.execute(sql)
	rows = cursor.fetchall()
	schema_version = None
	for row in rows:
		schema_version = row[0]
	(major, minor) = schema_version.split('.')
	if major in versions:
		if int(minor) < int(versions[major]):
			err = "Schema version too old. Got %s.%s, support %s" %(major, minor, str(versions))
			logger.error(err)
			raise Exception(err)

	else:
		err = "Schema version mismatch. Got %s.%s, support %s" %(major, minor, str(versions))
		logger.error(err)
		raise Exception(err)
	return cnx
Example #2
0
#!/usr/bin/env python

import sys

from myemsl.dbconnect import myemsldb_connect
from myemsl.getconfig import getconfig_secret
config = getconfig_secret()

from myemsl.logging import getLogger
from myemsl.metadata import get_proposals_from_user, get_custodian_instruments, get_proposals_from_instrument, get_proposal_info

logger = getLogger(__name__)

def get_network_id_to_person_id_hash():
	user_hash = {}
	try:
		sql = "select person_id, network_id from eus.users where network_id is not null"
		cnx = myemsldb_connect(myemsl_schema_versions=['1.0'])
		cursor = cnx.cursor()
		cursor.execute(sql)
		rows = cursor.fetchall()
		for row in rows:
			if row[1] != None and row[1] != '':
				user_hash[row[1].upper()] = row[0]
	except Exception, e:
		logger.error("%s", e)
		raise
	return user_hash

def get_permission_group_members(type, name):
	group_members = []
#!/usr/bin/python

from socket import gethostname
from myemsl.callcurl import call_curl
from myemsl.getconfig import getconfig_secret
from myemsl.metadata import *
from myemsl.id2filename import id2dirandfilename
import os
import stat
import myemsl.util
import myemsl.getpermission
import xml.dom.minidom
config = getconfig_secret()

from myemsl.dbconnect import do_sql_insert as do_sql
from myemsl.dbconnect import do_sql_select as do_sql_select
"""
new_state

insert a new state line into the ingest_state table
"""


def new_state(jobid):
    sql = """
INSERT INTO
	myemsl.ingest_state(host,jobid)
VALUES
	(%(host)s,%(jobid)i);
"""
    params = {'jobid': int(jobid), 'host': str(gethostname())}
Example #4
0
#!/usr/bin/python

import os,sys
import array
import myemsl.id2filename
from myemsl.dbconnect import myemsldb_connect
from myemsl.getconfig import getconfig_secret
CONFIG = getconfig_secret()

"""
Logic for transitioning the data from old to new item server format.

 1. get all items from a user
 2. check the old file name and new file name and log it
 3. log the move
"""

if __name__ == '__main__':
  sql = """
select
  name,
  subdir,
  f.transaction,
  submitter,
  item_id
from
  myemsl.files as f,
  myemsl.transactions as t
where
  f.transaction = t.transaction and
  t.submitter = %(submitter)s
Example #5
0
#!/usr/bin/python

import os, sys
import array
import myemsl.id2filename
from myemsl.dbconnect import myemsldb_connect
from myemsl.getconfig import getconfig_secret
CONFIG = getconfig_secret()
"""
Logic for transitioning the data from old to new item server format.

 1. get all items from a user
 2. check the old file name and new file name and log it
 3. log the move
"""

if __name__ == '__main__':
    sql = """
select
  name,
  subdir,
  f.transaction,
  submitter,
  item_id
from
  myemsl.files as f,
  myemsl.transactions as t
where
  f.transaction = t.transaction and
  t.submitter = %(submitter)s
"""