def child_group_of_parent_check_by_id(parent_id, child_id): sql = """ WITH RECURSIVE t(group_id) AS ( SELECT parent_id AS group_id FROM myemsl.subgroups AS s WHERE s.child_id = %(child_id)s UNION ALL SELECT myemsl.subgroups.parent_id AS group_id FROM myemsl.subgroups, t WHERE myemsl.subgroups.child_id = t.group_id ) SELECT true FROM t WHERE t.group_id = %(parent_id)s GROUP BY g.type, g.name; """ rows = do_sql_select(sql, True, myemsl_schema_versions=['1.0'], params={'parent_id':parent_id, 'child_id':child_id}) try: return rows[0][0] except: return False
def get_group_id(grp_name, grp_type): sql = """ SELECT group_id FROM myemsl.groups WHERE name = %(name)s and type = %(type)s; """ rows = do_sql_select(sql, True, myemsl_schema_versions=['1.0'], params={'name':str(grp_name), 'type':str(grp_type)}) return rows[0][0]
def get_proposal_gid(prop): sql = """ SELECT group_id FROM eus.proposals WHERE eus.proposals.proposal_id = %(proposal)s; """ rows = do_sql_select(sql, True, myemsl_schema_versions=['1.0'], params={'proposal':str(prop)}) return rows[0][0]
def update_transaction_stime(trans): sql = """ UPDATE myemsl.transactions SET stime=now() WHERE transaction=%(trans)s RETURNING stime AT TIME ZONE current_setting('TIMEZONE'); """ res = do_sql_select(sql, True, myemsl_schema_versions=['1.0'], params={'trans':str(trans)}); if res and len(res) > 0 and len(res[0]) > 0: res = res[0][0] return res
| stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) os.chmod( "%s/.." % (bundledir), stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) os.rmdir(bundledir) cnx.commit() except Exception, e: cnx.rollback() cnx.close() raise Exception('Unable to insert file metadata (%s).' % (str(e))) sql = """ select myemsl.fill_item_time_cache_by_transaction(%(trans)d); """ do_sql_select(sql, 0, myemsl_schema_versions=['1.12'], params={'trans': int(transaction)}) cnx.close() def get_transaction(user): transxml = call_curl( "%s/%s" % (config.get('metadata', 'transaction_base_url'), user), capath=None, cainfo='/etc/myemsl/keys/server/local.crt', sslcert='/etc/myemsl/keys/server/local.pem', sslcerttype='PEM') dom = xml.dom.minidom.parseString(transxml) transaction = -1 found = False for x in dom.firstChild.childNodes:
bundledir = "%s/%s/bundle/%s" %(prefix, username, transaction) for (root, dirs, files) in os.walk(bundledir, topdown=False): for d in dirs: os.rmdir("%s/%s" %(root, d)) os.chmod("%s" %(bundledir), stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) os.chmod("%s/.." %(bundledir), stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) os.rmdir(bundledir) cnx.commit() except Exception, e: cnx.rollback() cnx.close() raise Exception('Unable to insert file metadata (%s).'%(str(e))) sql = """ select myemsl.fill_item_time_cache_by_transaction(%(trans)d); """ do_sql_select(sql, 0, myemsl_schema_versions=['1.12'], params={'trans':int(transaction)}) cnx.close() def get_transaction(user): transxml = call_curl( "%s/%s" %(config.get('metadata', 'transaction_base_url'), user), capath=None, cainfo='/etc/myemsl/keys/server/local.crt', sslcert='/etc/myemsl/keys/server/local.pem', sslcerttype='PEM' ) dom = xml.dom.minidom.parseString(transxml) transaction = -1 found = False for x in dom.firstChild.childNodes: if x.nodeType == x.ELEMENT_NODE and (x.nodeName == 'transaction'):