def getSharerUserId(self):
		project_sessions = projectdata.projectexperiments(project=self.project).query()
		allsharers = []
		for session in map((lambda x:x['session']),project_sessions):
			if session is None or session['name'] != '14may29anchitestA7':
				continue
			sharers = projectdata.shareexperiments(experiment=session).query()
			users = map((lambda x: x['user']),sharers)
			allsharers.extend(self.getIdFromDataList(users))
		return allsharers
 def getSharerUserId(self):
     project_sessions = projectdata.projectexperiments(
         project=self.project).query()
     allsharers = []
     for session in map((lambda x: x['session']), project_sessions):
         if session is None or session['name'] != '14may29anchitestA7':
             continue
         sharers = projectdata.shareexperiments(experiment=session).query()
         users = map((lambda x: x['user']), sharers)
         allsharers.extend(self.getIdFromDataList(users))
     return allsharers
def copyProjectReferences(projectid, destination_base_path):
    '''
	Copy all sessions in the project identified by id number
	'''
    from leginon import projectdata
    p = projectdata.projects().direct_query(projectid)
    source_sessions = projectdata.projectexperiments(project=p).query()
    session_names = []
    for projectexpt in source_sessions:
        # skip None
        if projectexpt['session'] and projectexpt['session']['name']:
            session_names.append(projectexpt['session']['name'])
    session_names.reverse()  #oldest first

    for session_name in session_names:
        app = SessionReferenceCopier(session_name, destination_base_path)
        app.run()
        app = None
def copyProjectReferences(projectid,destination_base_path):
	'''
	Copy all sessions in the project identified by id number
	'''
	from leginon import projectdata
	p = projectdata.projects().direct_query(projectid)
	source_sessions = projectdata.projectexperiments(project=p).query()
	session_names = []
	for projectexpt in source_sessions:
		# skip None
		if projectexpt['session'] and projectexpt['session']['name']:
			session_names.append(projectexpt['session']['name'])
	session_names.reverse()  #oldest first

	for session_name in session_names:
		app = SessionReferenceCopier(session_name,destination_base_path)
		app.run()
		app = None
def archiveProject(projectid):
    '''
	Archive all users and sessions in the project identified by id number
	'''
    archiveEssentialUsers(projectid)

    print 'Finding sessions for the project....'
    from leginon import projectdata
    p = projectdata.projects().direct_query(projectid)
    source_sessions = projectdata.projectexperiments(project=p).query()
    session_names = map((lambda x: x['session']['name']), source_sessions)
    session_names.reverse()  #oldest first

    print 'Found %d sessions for the project' % (len(session_names))
    for session_name in session_names:
        # Don't archive sessions before 2011
        if int(session_name[:2]) < (YEAR - 2000):
            continue
        app = SessionArchiver(session_name)
        if SKIP_ARCHIVED and app.isSessionInArchive():
            print 'Session %s already archived' % session_name
            continue
        app.run()
        app = None
def archiveProject(projectid):
	'''
	Archive all users and sessions in the project identified by id number
	'''
	archiveEssentialUsers(projectid)

	print 'Finding sessions for the project....'
	from leginon import projectdata
	p = projectdata.projects().direct_query(projectid)
	source_sessions = projectdata.projectexperiments(project=p).query()
	session_names = map((lambda x:x['session']['name']),source_sessions)
	session_names.reverse()  #oldest first
	
	print 'Found %d sessions for the project' %  (len(session_names))
	for session_name in session_names:
		# Don't archive sessions before 2011
		if int(session_name[:2]) < (YEAR-2000):
			continue
		app = SessionArchiver(session_name)
		if SKIP_ARCHIVED and app.isSessionInArchive():
			print 'Session %s already archived' % session_name
			continue
		app.run()
		app = None