fields = cgi.FieldStorage() user_name = fields.getvalue("user_name") passwd = fields.getvalue("passwd") is_registering = fields.getvalue("is_registering") utils.printToServer('Content-type: text/json\n\n') status, message = "ok", "ok" print fields if is_registering == 'true': #add permissions passwd_file = "../lib/passwds.json" perm_file = "../lib/permissions.json" jperms = utils.fileToJson(perm_file) jpasswds = utils.fileToJson(passwd_file) if user_name in jpasswds: status, message = "bad", "A user by the name '%s' already exists" % user_name else: m = hashlib.md5() m.update(passwd) jpasswds[user_name] = m.hexdigest() utils.jsonToFile(jpasswds, passwd_file) jperms[user_name] = {} utils.jsonToFile(jperms, perm_file) #user dir in DONOR_DIR os.mkdir("%s/%s" % (GlobalConfig.DONOR_DIR, user_name))
if os.path.exists(project_dir) or os.path.exists(src_table_dir): print "project_dir", project_dir #TODO: #name comflicts between users? status, message = "bad", "The project name '%s' is already taken" % project_name print status, message else: os.mkdir(project_dir) os.mkdir("%s/%s" % (project_dir, GlobalConfig.SYMLNK_GENOMES)) #setup directory for uploaded tables os.mkdir(src_table_dir) #TODO #add the new project:assembly mapping to file pamfile = "../lib/project_assembly_mapping.json" jsn = utils.fileToJson(pamfile) jsn[project_name] = assembly utils.jsonToFile(jsn, pamfile) print "altered pamfile" #fmap = open... #lines = fmap.readlines() #lines[-1] = "%s : %s" % (project_name,assembly) #lines.append('}') #fmap.close() #add permissions perm_file = "../lib/permissions.json" jperms = utils.fileToJson(perm_file) jperms[user_name][project_name] = True utils.jsonToFile(jperms, perm_file)
fields = cgi.FieldStorage() user_name = fields.getvalue("user_name") passwd = fields.getvalue("passwd") is_registering = fields.getvalue("is_registering") utils.printToServer( 'Content-type: text/json\n\n' ) status, message = "ok", "ok" print fields if is_registering == 'true' : #add permissions passwd_file = "../lib/passwds.json" perm_file = "../lib/permissions.json" jperms = utils.fileToJson( perm_file ) jpasswds = utils.fileToJson( passwd_file ) if user_name in jpasswds : status,message = "bad","A user by the name '%s' already exists" % user_name else : m = hashlib.md5() m.update(passwd) jpasswds[user_name] = m.hexdigest() utils.jsonToFile( jpasswds, passwd_file ) jperms[user_name] = {} utils.jsonToFile( jperms, perm_file ) #user dir in DONOR_DIR os.mkdir( "%s/%s" % (GlobalConfig.DONOR_DIR, user_name) )
if os.path.exists( project_dir ) or os.path.exists( src_table_dir ) : print "project_dir", project_dir #TODO: #name comflicts between users? status,message = "bad","The project name '%s' is already taken" % project_name print status,message else : os.mkdir( project_dir ) os.mkdir( "%s/%s" % (project_dir, GlobalConfig.SYMLNK_GENOMES) ) #setup directory for uploaded tables os.mkdir( src_table_dir ) #TODO #add the new project:assembly mapping to file pamfile = "../lib/project_assembly_mapping.json" jsn = utils.fileToJson(pamfile) jsn[project_name] = assembly utils.jsonToFile(jsn,pamfile) print "altered pamfile" #fmap = open... #lines = fmap.readlines() #lines[-1] = "%s : %s" % (project_name,assembly) #lines.append('}') #fmap.close() #add permissions perm_file = "../lib/permissions.json" jperms = utils.fileToJson( perm_file ) jperms[user_name][project_name] = True utils.jsonToFile( jperms, perm_file )
#!/usr/bin/python import sys sys.path.append("../lib") import os import simplejson as json import re import cgi import cgitb import utils cgitb.enable() from GlobalConfig import QUERY_PREFIX, PRIVATE_PREFIX, CHROM_PREFIX, DONOR_PREFIX, ROOT_DIR, DEBUG_DIR, TRACK_TEMPLATE, UNBOUND_CHROM, PROJECT_PREFIX perms = utils.fileToJson( "../lib/permissions.json" ) dassembly = utils.fileToJson( "../lib/project_assembly_mapping.json" ) def getChildren( user_name, path ) : r = [] for thing in os.listdir( path ) : if show( user_name, path, thing) : r.append( thing ) r.sort() return r #needed by spec, see[] def handleQuery( user_name, path ) : print "handleQuery,", path total = 0 items = []
#Argparsing first in case we end up terminating early. import argparse from utils import fileToJson data = fileToJson('./config.json') data['private'] = fileToJson('./private.json') data['packageInfo'] = fileToJson('./packageInfo.json') CLIArguments = None parser = argparse.ArgumentParser(description = "A Python Discord bot with a powerful and modular architecture.") #CLI Argument parsing parser.add_argument('--verbose', '-v', dest = 'verbosity', action = 'count', default = 0, help = "Prints more content when running the program, -vvv is more verbose than -v.") parser.add_argument('--version', '-ver', action = 'version', version = data['packageInfo']['VERSION'], help = "Prints more content when running the program, -vvv is more verbose than -v.") parser.add_argument('--overrideDiagnostics', '-d', dest = 'overrideDiagnostics', action = 'store_true', default = False, help = "Sends all logged messages to diagnostics.") parser.add_argument('--discordWarnings', '-w', dest = 'discordWarnings', action = 'store_true', help = "Starts logging warnings from Discord's logging feature.") parser.add_argument('--reloadOnError', '-R', dest = 'reloadOnError', action = 'store_true', help = "Reloads commands, events, & more on most errors.") parser.add_argument('--resetSafelock', '-s', dest = 'resetSafeLock', action = 'store_true', help = "Resets a safelock if it was in place.") parser.add_argument('--livingCode', '-l', dest = 'livingCode', action = 'store_true', help = "Alllows the livingCode to be enabled. Still needs to be unlocked before the safelock duration to be used the full session.") parser.add_argument('--livingCodeSession', dest = 'livingCodeSession', action = 'store_true', help = "Turns off the unlock duration, so the bot won't automatically safelock. Only use if you know what you're doing.") CLIArguments = parser.parse_args() import numpy import asyncio import importlib import os import re import subprocess import sys import warnings import inspect import math
#!/usr/bin/python import sys sys.path.append("../lib") import os import simplejson as json import re import cgi import cgitb import utils cgitb.enable() from GlobalConfig import QUERY_PREFIX, PRIVATE_PREFIX, CHROM_PREFIX, DONOR_PREFIX, ROOT_DIR, DEBUG_DIR, TRACK_TEMPLATE, UNBOUND_CHROM, PROJECT_PREFIX perms = utils.fileToJson("../lib/permissions.json") dassembly = utils.fileToJson("../lib/project_assembly_mapping.json") def getChildren(user_name, path): r = [] for thing in os.listdir(path): if show(user_name, path, thing): r.append(thing) r.sort() return r #needed by spec, see[] def handleQuery(user_name, path): print "handleQuery,", path total = 0 items = []
import json import numpy import os import asyncio import pymongo import discord import utils DBData = utils.fileToJson("./private.json") dbClient = pymongo.MongoClient(DBData['database']['location'], DBData['database']['port']) db = dbClient[DBData['database']['name']] discordObjects = db['discordObjects'] def setObject(data): return discordObjects.insert_one(data) def getObject(attribute, value, forceOverride=False): return discordObjects.find_one({attribute: value}) def getObjectByID(ID, forceOverride=False): return getObject('_id', ID, forceOverride)
def getFromJson( self, config ): return utils.fileToJson( config )