Esempio n. 1
0
def displayJSON(conf, inputs, outputs):
    default_dir = conf["main"]["dataPath"] + "/dirs/"
    original_dir = conf["main"]["dataPath"] + "/dirs/"
    label_dir = ""
    status = "closed"
    if inputs.has_key('state') and inputs["state"].has_key("value"):
        status = inputs["state"]["value"]
    if inputs.has_key('dir') and inputs["dir"].has_key("value") and str(
            inputs["dir"]["value"]) != "NULL":
        original_dir = getOriginalDir(conf, inputs["dir"]["value"])
        label_dir = inputs["dir"]["value"]
    try:
        if inputs["type"]:
            prefix = original_dir
            argument2 = ",'default'"
            suffix = "/"
    except:
        prefix = ""
        argument2 = ""
        suffix = ""
    try:
        tmp = mmListDir(original_dir)
    except:
        conf["lenv"]["message"] = "Unable to access the specified directory"
        return 4
    output = []
    i = 0
    j = 0
    for t in tmp:
        try:
            open(original_dir + "/" + t)
            hasValue = False
            if (inputs.has_key('state') and inputs["state"].has_key("value")
                    and inputs["state"]["value"] != "open"
                ) or not (
                    inputs.has_key('state')) and mm_access.checkDataStorePriv(
                        conf, (original_dir + "/" + t),
                        "r") and os.path.isdir(original_dir + "/" + t):
                output.append({
                    "id": (original_dir + "/").replace('/', '__') + t,
                    "text": t,
                    "state": "open"
                })
        except:
            if os.access(original_dir + "/" + t, os.X_OK) and len(
                    t.split('.')) == 1 and mm_access.checkDataStorePriv(
                        conf, (original_dir + "/"), "r"):
                j += 1
                hasValue = True
                output.append({
                    "id": (original_dir + "/").replace('/', '__') + t,
                    "text": t,
                    "state": status
                })
        i += 1
    outputs["Result"]["value"] = json.dumps(output)
    return 3
Esempio n. 2
0
def options1(conf, inputs, outputs):
    import datastores.service as ds
    import mm_access
    ds.list(conf, inputs, outputs)
    elements = eval(outputs["Result"]["value"])
    print >> sys.stderr, str(elements)
    li = []
    dsList = None
    dstnStr = ""
    for a in elements:
        if a == "Directories":
            #print >> sys.stderr,"ELEMENTS A 0 "+str(elements[a][0])
            for j in range(0, len(elements[a])):
                if mm_access.checkDataStorePriv(conf, elements[a][j]["name"],
                                                "rx"):
                    dstnStr = elements[a][j]["name"]
                    print >> sys.stderr, "DSTN : " + dstnStr
                    outputs["Result"]["value"] = "[]"
                    ds.listDataSource(
                        conf,
                        {"dstn": {
                            "value": elements[a][j]["name"] + "/"
                        }}, outputs)
                    dsList = eval(outputs["Result"]["value"])
                    break
            #print >> sys.stderr,str(dsList)
        li += [{"name": a}]

    import template.service as tmpl

    #print >> sys.stderr,conf
    mapfile = conf["main"]["dataPath"] + "/maps/project_" + conf["senv"][
        "last_map"] + ".map"
    import mapscript
    m = mapscript.mapObj(mapfile)
    levels = [m.web.metadata.get("mm_group_0")]
    try:
        level1 = m.web.metadata.get("mm_group_1").split(',')
    except:
        level1 = None
    try:
        level2 = m.web.metadata.get("mm_group_2").split(';')
    except:
        level2 = None
    if level1 is not None:
        for a in level1:
            levels += ["- " + a]
            if level2 is not None:
                for b in level2:
                    tmp = b.split('|')
                    if len(tmp) > 1 and tmp[1] == a:
                        tmp1 = tmp[0].split(',')
                        for c in tmp1:
                            levels += ["-- " + c]
    import json
    outputs["Result"]["value"] = json.dumps(elements)
Esempio n. 3
0
def options(conf,inputs,outputs):
    import datastores.service as ds
    import mm_access
    ds.list(conf,inputs,outputs)
    elements=eval(outputs["Result"]["value"])
    print >>sys.stderr,str(elements)
    li=[]
    dsList=None
    dstnStr=""
    for a in elements:
        if a=="Directories":
            #print >> sys.stderr,"ELEMENTS A 0 "+str(elements[a][0])
            for j in range(0,len(elements[a])):
                if mm_access.checkDataStorePriv(conf,elements[a][j]["name"],"rx"):
                    dstnStr=elements[a][j]["name"]
                    print >> sys.stderr,"DSTN : "+dstnStr
                    outputs["Result"]["value"]="[]"
                    ds.listDataSource(conf,{"dstn":{"value": elements[a][j]["name"]+"/"}},outputs)
                    dsList=eval(outputs["Result"]["value"])
                    break
            #print >> sys.stderr,str(dsList)
        li+=[{"name": a}]
 
    import template.service as tmpl
    
    #print >> sys.stderr,conf
    mapfile=conf["main"]["dataPath"]+"/maps/project_"+conf["senv"]["last_map"]+".map"
    import mapscript
    m = mapscript.mapObj(mapfile)
    levels=[m.web.metadata.get("mm_group_0")]
    try:
        level1=m.web.metadata.get("mm_group_1").split(',')
    except:
        level1=None
    try:
        level2=m.web.metadata.get("mm_group_2").split(';')
    except:
        level2=None
    if level1 is not None:
        for a in level1:
            levels+=["- "+a]
            if level2 is not None: 
                for b in level2:
                    tmp=b.split('|')
                    if len(tmp)>1 and tmp[1]==a:
                        tmp1=tmp[0].split(',')
                        for c in tmp1:
                            levels+=["-- "+c]
    print >> sys.stderr,"TEMPLATE!"
    print >> sys.stderr,{"tmpl":{"value":"Manager/AddLayer"},"dstn": dstnStr,"elements": elements, "dsList": dsList, "groups": levels,"inputs":inputs}
    try:
        tmpl.display(conf,{"tmpl":{"value":"Manager/AddLayer"},"dstn": dstnStr,"elements": elements, "dsList": dsList, "groups": levels,"inputs":inputs},outputs)
    except Exception,e:
        print >> sys.stderr,e
Esempio n. 4
0
def getForm(conf, inputs, outputs):
    import datastores.service as ds
    import mm_access

    ds.list(conf, inputs, outputs)
    elements = eval(outputs["Result"]["value"])
    dirs = []
    j = 0
    for i in range(0, len(elements["Directories"])):
        print >>sys.stderr, elements["Directories"][i]["name"] + " rwx"
        if mm_access.checkDataStorePriv(conf, elements["Directories"][i]["name"], "rwx"):
            dirs += [elements["Directories"][i]["name"]]
        j += 1
    import template.service as tmpl

    tmpl.display(conf, {"tmpl": {"value": inputs["form"]["value"]}, "dirs": dirs}, outputs)
    return 3
Esempio n. 5
0
def getForm(conf, inputs, outputs):
    import datastores.service as ds
    import mm_access
    ds.list(conf, inputs, outputs)
    elements = eval(outputs["Result"]["value"])
    dirs = []
    j = 0
    for i in range(0, len(elements["Directories"])):
        print >> sys.stderr, elements["Directories"][i]["name"] + " rwx"
        if mm_access.checkDataStorePriv(conf,
                                        elements["Directories"][i]["name"],
                                        "rwx"):
            dirs += [elements["Directories"][i]["name"]]
        j += 1
    import template.service as tmpl
    inputs1 = inputs
    inputs1["tmpl"] = {"value": inputs["form"]["value"]}
    inputs1["dirs"] = dirs
    tmpl.display(conf, inputs1, outputs)
    return 3
Esempio n. 6
0
def displayJSON(conf,inputs,outputs):
	default_dir=conf["main"]["dataPath"]+"/dirs/"
	original_dir=conf["main"]["dataPath"]+"/dirs/"
	label_dir=""
	status="closed"
	if inputs.has_key('state') and inputs["state"].has_key("value"):
		status=inputs["state"]["value"]
	if inputs.has_key('dir') and inputs["dir"].has_key("value") and str(inputs["dir"]["value"])!="NULL":
		original_dir=getOriginalDir(conf,inputs["dir"]["value"])
		label_dir=inputs["dir"]["value"]
	try:
		if inputs["type"]:
			prefix=original_dir
			argument2=",'default'"
			suffix="/"
	except:
		prefix=""
		argument2=""
		suffix=""
	try:
		tmp=mmListDir(original_dir)
	except:
		conf["lenv"]["message"]="Unable to access the specified directory"
		return 4
	output=[]
	i=0
	j=0
	for t in tmp:
		try:
			open(original_dir+"/"+t)
			hasValue=False
			if (inputs.has_key('state') and inputs["state"].has_key("value") and inputs["state"]["value"]!="open") or not(inputs.has_key('state')) and mm_access.checkDataStorePriv(conf,(original_dir+"/"+t),"r") and os.path.isdir(original_dir+"/"+t):
				output.append({"id": (original_dir+"/").replace('/','__')+t, "text": t, "state": "open"})
		except:
			if os.access(original_dir+"/"+t,os.X_OK) and len(t.split('.'))==1 and  mm_access.checkDataStorePriv(conf,(original_dir+"/"),"r"):
				j+=1
				hasValue=True
				output.append({"id": (original_dir+"/").replace('/','__')+t, "text": t, "state": status})
		i+=1
	outputs["Result"]["value"]=json.dumps(output)
	return 3
Esempio n. 7
0
def display(conf,inputs,outputs):
	import mm_access
	default_dir=conf["main"]["dataPath"]+"/dirs/"
	original_dir=conf["main"]["dataPath"]+"/dirs/"
	label_dir=""
	if inputs.has_key('dir') and inputs["dir"].has_key("value") and str(inputs["dir"]["value"])!="NULL": 
		original_dir=getOriginalDir(conf,inputs["dir"]["value"])
		label_dir=inputs["dir"]["value"]
	status="closed"
	if inputs.has_key('state') and inputs["state"].has_key('value'):
		status=inputs["state"]["value"]
	#print >> sys.stderr, conf["main"]["dataPath"]+"/dirs/"
	#print >> sys.stderr, original_dir
	#print >> sys.stderr, inputs["dir"]["value"]
	try:
		tmp=mmListDir(original_dir)
	except:
		return 4
	try:
		if original_dir!=default_dir:
			outputs["Result"]["value"]='''
	 <span class="folder"><a href="#">'''+original_dir.split('/')[len(original_dir.split('/'))-2]+'''</a></span>'''
	except:
		if original_dir!=default_dir:
			outputs["Result"]["value"]='''
	 <span class="folder"><a href="#">'''+original_dir+'''</a></span>'''
	outputs["Result"]["value"]=''' '''
	i=0
	j=0
	prefix=""
	try:
		if inputs["type"]:
			prefix=original_dir
			argument2=",'default'"
			suffix="/"
	except:
		prefix=""
		argument2=""
		suffix=""
	for t in tmp:
		try:
			#print >> sys.stderr,original_dir+t
			open(original_dir+t)
			hasValue=False
		except:
			i+=1
			dsn=original_dir+t+"/"
			print >> sys.stderr,dsn
			try:
				priv=mm_access.checkDataStorePriv(conf,dsn,"r") and mm_access.checkDataStorePriv(conf,dsn,"x")
			except Exception,e:
				priv=False
				print >> sys.stderr,e
			print >> sys.stderr,priv
			if os.access(original_dir+t,os.X_OK) and len(t.split('.'))==1:
				j+=1
				hasValue=True
				outputs["Result"]["value"]+='''
	<li id="browseDirectoriesList'''+original_dir.replace('/','__')+""+t+'''__"'''
				outputs["Result"]["value"]+=''' state="'''+status+'''">'''
				if default_dir == original_dir:
					outputs["Result"]["value"]+='''<div class="checker"><span><input type="checkbox" onclick="if(this.checked) Distiller.loadDir(this.value'''+argument2+''');else Distiller.unloadDir(this.value);" value="'''+prefix+t+suffix+'''" name="" style="opacity: 0;" /></span></div>'''
					outputs["Result"]["value"]+='''<span class="file">'''+t+'''</span>
'''
				else:
					outputs["Result"]["value"]+='''<div class="hitarea  expandable-hitarea" onclick="$mj('Datawarehouse.form.path').value=\''''+prefix+t+'''/\'; layouts[1].loadDir(\''''+prefix+t+suffix+'''\''''+argument2+''');"></div><span class="folder">'''+t+'''</span>
'''
				outputs["Result"]["value"]+='''
Esempio n. 8
0
def display(conf, inputs, outputs):
    import mm_access
    default_dir = conf["main"]["dataPath"] + "/dirs/"
    original_dir = conf["main"]["dataPath"] + "/dirs/"
    label_dir = ""
    if inputs.has_key('dir') and inputs["dir"].has_key("value") and str(
            inputs["dir"]["value"]) != "NULL":
        original_dir = getOriginalDir(conf, inputs["dir"]["value"])
        label_dir = inputs["dir"]["value"]
    status = "closed"
    if inputs.has_key('state') and inputs["state"].has_key('value'):
        status = inputs["state"]["value"]
    #print >> sys.stderr, conf["main"]["dataPath"]+"/dirs/"
    #print >> sys.stderr, original_dir
    #print >> sys.stderr, inputs["dir"]["value"]
    try:
        tmp = mmListDir(original_dir)
    except:
        return 4
    try:
        if original_dir != default_dir:
            outputs["Result"]["value"] = '''
	 <span class="folder"><a href="#">''' + original_dir.split('/')[
                len(original_dir.split('/')) - 2] + '''</a></span>'''
    except:
        if original_dir != default_dir:
            outputs["Result"]["value"] = '''
	 <span class="folder"><a href="#">''' + original_dir + '''</a></span>'''
    outputs["Result"]["value"] = ''' '''
    i = 0
    j = 0
    prefix = ""
    try:
        if inputs["type"]:
            prefix = original_dir
            argument2 = ",'default'"
            suffix = "/"
    except:
        prefix = ""
        argument2 = ""
        suffix = ""
    for t in tmp:
        try:
            #print >> sys.stderr,original_dir+t
            open(original_dir + t)
            hasValue = False
        except:
            i += 1
            dsn = original_dir + t + "/"
            print >> sys.stderr, dsn
            try:
                priv = mm_access.checkDataStorePriv(
                    conf, dsn, "r") and mm_access.checkDataStorePriv(
                        conf, dsn, "x")
            except Exception, e:
                priv = False
                print >> sys.stderr, e
            print >> sys.stderr, priv
            if os.access(original_dir + t, os.X_OK) and len(t.split('.')) == 1:
                j += 1
                hasValue = True
                outputs["Result"]["value"] += '''
	<li id="browseDirectoriesList''' + original_dir.replace(
                    '/', '__') + "" + t + '''__"'''
                outputs["Result"][
                    "value"] += ''' state="''' + status + '''">'''
                if default_dir == original_dir:
                    outputs["Result"][
                        "value"] += '''<div class="checker"><span><input type="checkbox" onclick="if(this.checked) Distiller.loadDir(this.value''' + argument2 + ''');else Distiller.unloadDir(this.value);" value="''' + prefix + t + suffix + '''" name="" style="opacity: 0;" /></span></div>'''
                    outputs["Result"][
                        "value"] += '''<span class="file">''' + t + '''</span>
'''
                else:
                    outputs["Result"][
                        "value"] += '''<div class="hitarea  expandable-hitarea" onclick="$mj('Datawarehouse.form.path').value=\'''' + prefix + t + '''/\'; layouts[1].loadDir(\'''' + prefix + t + suffix + '''\'''' + argument2 + ''');"></div><span class="folder">''' + t + '''</span>
'''
                outputs["Result"]["value"] += '''