예제 #1
0
def getoutputfilenames(configfile):
    rawxmlfile = open(configfile).read()
    typelist = xmlparser.parse(rawxmlfile,"Type")
    versionlist = xmlparser.parse(rawxmlfile,"Version")
    namelist = xmlparser.parse(rawxmlfile,"Name")
    postfix = xmlparser.parse(rawxmlfile,"PostFix")
    rootfilenamelist = ""
    for name in namelist:
        if name.find("Cycle") != -1: cyclename=name
    for type,version in zip(typelist,versionlist):
        rootfilenamelist += cyclename+"."+type+"."+version+postfix[0]+".root, "
    return rootfilenamelist[:-2]
예제 #2
0
def _parse_file(arg, cmd_options):
    if cmd_options['verbose']:
        print "Parsing file %(file)s..." % {'file': arg}

    if java_pattern.search(arg) != None:
        javaparser.parse(arg, cmd_options)
    elif xml_pattern.search(arg) != None:
        xmlparser.parse(arg, cmd_options)
    elif python_pattern.search(arg) != None:
        pythonparser.parse(arg, cmd_options)
    elif php_pattern.search(arg) != None:
        phpparser.parse(arg, cmd_options)
예제 #3
0
파일: bsframe.py 프로젝트: UHH2/UHH2
def getoutputfilenames(configfile):
    rawxmlfile = open(configfile).read()
    typelist = xmlparser.parse(rawxmlfile,"Type")
    versionlist = xmlparser.parse(rawxmlfile,"Version")
    namelist = xmlparser.parse(rawxmlfile,"Name")
    postfix = xmlparser.parse(rawxmlfile,"PostFix")
    rootfilenamelist = ""
    for name in namelist:
        # if name.find("Cycle") != -1: cyclename=name
        if name.find("uhh2::AnalysisModuleRunner") != -1: cyclename=name.replace("::",".")
    for itype,version in zip(typelist,versionlist): rootfilenamelist += cyclename+"."+itype+"."+version+postfix[0]+".root, "
    return rootfilenamelist[:-2]
예제 #4
0
파일: bsframe.py 프로젝트: tordreyer/UHH2
def getoutputfilenames(configfile):
    rawxmlfile = open(configfile).read()
    typelist = xmlparser.parse(rawxmlfile,"Type")
    versionlist = xmlparser.parse(rawxmlfile,"Version")
    namelist = xmlparser.parse(rawxmlfile,"Name")
    postfix = xmlparser.parse(rawxmlfile,"PostFix")
    rootfilenamelist = ""
    for name in namelist:
        # if name.find("Cycle") != -1: cyclename=name
        if name.find("uhh2::AnalysisModuleRunner") != -1: cyclename=name.replace("::",".")
    for type,version in zip(typelist,versionlist):
        rootfilenamelist += cyclename+"."+type+"."+version+postfix[0]+".root, "
    return rootfilenamelist[:-2]
예제 #5
0
def check_login():
    response = {"code": 408}
    ctime = str((int)(time.time() * 1000))
    qcode = session.get("qcode")
    check_url = "https://login.wx.qq.com/cgi-bin/mmwebwx-bin/login?loginicon=true&uuid={0}&tip=0&r=-2023176346&_={1}".format(
        qcode, ctime)
    resp = requests.get(check_url)
    ret = resp.text
    # time.sleep(10)
    if "code=201" in ret:  # 已经扫码
        list_src = re.findall("userAvatar = '(.*)';", ret)
        if len(list_src) > 0:
            src = list_src[0]
        else:
            src = "没有头像"
        response["code"] = 201
        response["src"] = src
    elif "code=200" in ret:  # 已经确认登录
        response["code"] = 200
        redirect_uri = re.findall('redirect_uri="(.*)";', ret)[0]
        session["login_cookie"] = resp.cookies.get_dict()

        # 向redirect_uri地址发送请求,获取凭证相关信息
        redirect_uri = redirect_uri + "&fun=new&version=v2"
        ret = requests.get(redirect_uri)
        ticket_ret = ret.text
        ticket_dict = parse(ticket_ret)
        session["ticket_dict"] = ticket_dict
        session["ticket_cookie"] = ret.cookies.get_dict()
        response["code"] = 200
    return jsonify(response)
예제 #6
0
def getinputfilenames(configfile):
    rawxmlfile = open(configfile).read()
    filename = xmlparser.parse(rawxmlfile,"FileName")
    rootfilenamelist = ", "
    for file in filename:
        if not file[:5]=="/eos/": rootfilenamelist += file+", "
    return rootfilenamelist[:-2]
예제 #7
0
def parse(filename=None, filedata=None, trackObject=Track, playlistObject=Playlist, encoding=None):
    if filedata != None:
        file = filedata
        if filename == None:
            filename = typeGuess(filedata)
    else:
        f = open(filename, 'r')
        file = f.read()
        f.close()
    
    if encoding == None:
        decoded = decode(filename, file)
        file = decoded['data']
        encoding = decoded['encoding']
    else:
        try:
            file = file.decode(encoding)
        except:
            decoded = decode(filename, file)
            file = decoded['data']
            encoding = decoded['encoding']
            

    if '.m3u' in filename or '.m3u8' in filename:
        import m3uparser
        return m3uparser.parse(file, encoding, trackObject, playlistObject)
    if '.pls' in filename:
        import plsparser
        return plsparser.parse(file, encoding, trackObject, playlistObject)
    if '.xspf' in filename:
        import xspfparser
        return xspfparser.parse(file, trackObject, playlistObject)
    if '.xml' in filename:
        import xmlparser
        return xmlparser.parse(file, trackObject, playlistObject)
예제 #8
0
def makedatablocks(xmlfile, options):
    text = xmlfile
    datablocklist = []
    while text.find("<InputData ") != -1:
        datablock = text[text.find("<InputData "):text.find("</InputData>") +
                         12]
        version = xmlparser.parse(datablock, "Version")[0]
        vetoflag = 0
        if options.veto.find(",") != -1: vetolist = options.veto.split(",")
        else: vetolist = [options.veto]
        if options.veto != "":
            for veto in vetolist:
                vetoflag = re.search(veto, version)
                if vetoflag: break
        filterflag = 1
        if options.filter.find(",") != -1:
            filterlist = options.filter.split(",")
        else:
            filterlist = [options.filter]
        if options.filter != "":
            for ifilter in filterlist:
                filterflag = re.search(ifilter, version)
                if filterflag: break
        if filterflag and not vetoflag: datablocklist.append(datablock)
        text = text[text.find("</InputData>") + 12:]
    return datablocklist
예제 #9
0
def parse(filename=None, filedata=None, trackObject=Track, playlistObject=Playlist, encoding=None):
    if filedata != None:
        file = filedata
        if filename == None:
            filename = typeGuess(filedata)
    else:
        f = open(filename, 'r')
        file = f.read()
        f.close()
    
    if encoding == None:
        decoded = decode(filename, file)
        file = decoded['data']
        encoding = decoded['encoding']
    else:
        try:
            file = file.decode(encoding)
        except:
            decoded = decode(filename, file)
            file = decoded['data']
            encoding = decoded['encoding']
            

    if '.m3u' in filename or '.m3u8' in filename:
        import m3uparser
        return m3uparser.parse(file, encoding, trackObject, playlistObject)
    if '.pls' in filename:
        import plsparser
        return plsparser.parse(file, encoding, trackObject, playlistObject)
    if '.xspf' in filename:
        import xspfparser
        return xspfparser.parse(file, trackObject, playlistObject)
    if '.xml' in filename:
        import xmlparser
        return xmlparser.parse(file, trackObject, playlistObject)
예제 #10
0
파일: bsframe.py 프로젝트: rkogler/UHH2
def makedatablocks(xmlfile, options):
    input = xmlfile
    datablocklist = []
    while input.find("<InputData ") != -1:
        datablock = input[input.find("<InputData ") : input.find("</InputData>") + 12]
        version = xmlparser.parse(datablock, "Version")[0]
        vetoflag = 0
        if options.veto.find(",") != -1:
            vetolist = options.veto.split(",")
        else:
            vetolist = [options.veto]
        if options.veto != "":
            for veto in vetolist:
                vetoflag = re.search(veto, version)
                if vetoflag:
                    break
        filterflag = 1
        if options.filter.find(",") != -1:
            filterlist = options.filter.split(",")
        else:
            filterlist = [options.filter]
        if options.filter != "":
            for filter in filterlist:
                filterflag = re.search(filter, version)
                if filterflag:
                    break
        if filterflag and not vetoflag:
            datablocklist.append(datablock)
        input = input[input.find("</InputData>") + 12 :]
    return datablocklist
예제 #11
0
파일: bsframe.py 프로젝트: tordreyer/UHH2
def getinputfilenames(configfile):
    rawxmlfile = open(configfile).read()
    filename = xmlparser.parse(rawxmlfile,"FileName")
    rootfilenamelist = ", "
    for file in filename:
        if not file[:5]=="/eos/": rootfilenamelist += file+", "
    return rootfilenamelist[:-2]
예제 #12
0
    def navigate(self):
        self.clear_page()
        url = self.ui.AddressBar.text()
        if url.endswith("/") is False:
            url = url + "/"

        self.ui.ElementList.clear()

        # Get hostname (**hostname**.tld/path)
        regex_hostname = re.compile(r'([^.]+)')
        hostname = re.search(regex_hostname, url).group(1)

        # Get tld (hostname.**tld**/path)
        regex_tld = re.compile(r'(?<=\.)(.*?)(?=/)')
        tld = re.search(regex_tld, url).group(1)

        # Get path (hostname.tld/**path**)
        print(url)
        regex_path = re.compile(r'(?<=/).*')
        path = re.search(regex_path, url).group(0)[:-1]

        if path == "":
            path = "index.xml"

        print(hostname)
        print(tld)
        print(path)

        self.ui.statusbar.showMessage(f"Loading {hostname}.{tld}..")
        self.repaint()

        # Get index
        request = requests.get(
            f"https://raw.githubusercontent.com/dhtdht020/bobuxnet-sites/main/"
            f"{tld}/{hostname}/{path}")
        if request.status_code == 200:
            xmlparser.parse(self, request.text)
        else:
            xmlparser.add_heading(self, f"Can't connect to {url}!")
            xmlparser.add_label(
                self,
                "This URL either does not exist, or BobuxNet is down. :(")
            xmlparser.add_spacer(self, "50")
            xmlparser.add_link(self, "Try Again", url)
            xmlparser.add_link(self, "Go Back", self.previous_page())
예제 #13
0
파일: bsframe.py 프로젝트: rkogler/UHH2
def createxmlfiles(options):
    pdfmax = 1
    if options.pdf == "CT10":
        pdfmax = 52
    if options.pdf == "cteq66":
        pdfmax = 44
    rawxmlfile = open(options.configxml).read()
    xmlfile = resolveentities(rawxmlfile)
    xmldatablocks = makedatablocks(xmlfile, options)
    totalfilelist = []
    datablocklist = []
    for xmldatablock in xmldatablocks:
        type = xmlparser.parse(xmldatablock, "Type")[0]
        version = xmlparser.parse(xmldatablock, "Version")[0]
        maxevents = xmlparser.parse(xmldatablock, "NEventsMax")[0]
        cacheable = xmlparser.parse(xmldatablock, "Cacheable")[0]
        filelist = xmlparser.parse(xmldatablock, "FileName")
        totalfilelist.extend(filelist)
        lumi = xmlparser.parse(xmldatablock, "Lumi")
        blocklumi = lumi.pop(0)
        namelist = xmlparser.parse(xmldatablock, "Name")
        mydatablock = datablock.datablock(blocklumi, filelist, lumi, namelist, type, version, maxevents, cacheable)
        datablocklist.append(mydatablock)
    if options.numjobs == 0 and options.pdf == "":
        options.numjobs = len(totalfilelist)
    if options.numjobs == 0 and options.pdf != "":
        options.numjobs = 1
    if options.datablocks:
        options.numjobs = len(datablocklist)
    numjoblist = []
    if options.datablocks:
        for data in datablocklist:
            numjoblist.append(len(data.filelist))
    else:
        for i in range(options.numjobs):
            numjoblist.append(0)
        jobindex = 0
        for i in range(len(totalfilelist)):
            if jobindex >= options.numjobs:
                jobindex -= options.numjobs
            numjoblist[jobindex] += 1
            jobindex += 1
    for pdfindex in range(pdfmax):
        datablocknumber = 0
        blockindex = 0
        for jobnumber in range(options.numjobs):
            blockindex, datablocknumber = createxmlfile(
                xmlfile,
                jobnumber + 1,
                datablocklist,
                datablocknumber,
                blockindex,
                numjoblist[jobnumber],
                options,
                pdfindex + 1,
            )
예제 #14
0
def updateActs(request):
    if request.method != 'GET':
        return HttpResponseBadRequest("Wrong method")
    if not request.user.is_authenticated():
        resp = addToTemplate(request, 'Necesitas estar registrado.')
        return HttpResponse(resp)
    xml = getXML()
    if xml == None:
        return HttpResponseServerError("enlace del xml no disponible")
    acts = parse(xml)
    updateDB(acts)
    return HttpResponseRedirect('/todas')
예제 #15
0
def createxmlfiles(options):
    pdfmax = 1
    if options.pdf == "CT10": pdfmax = 52
    if options.pdf == "cteq66": pdfmax = 44
    rawxmlfile = open(options.configxml).read()
    xmlfile = resolveentities(rawxmlfile)
    xmldatablocks = makedatablocks(xmlfile, options)
    totalfilelist = []
    datablocklist = []
    for xmldatablock in xmldatablocks:
        filetype = xmlparser.parse(xmldatablock, "Type")[0]
        version = xmlparser.parse(xmldatablock, "Version")[0]
        maxevents = xmlparser.parse(xmldatablock, "NEventsMax")[0]
        cacheable = xmlparser.parse(xmldatablock, "Cacheable")[0]
        filelist = xmlparser.parse(xmldatablock, "FileName")
        totalfilelist.extend(filelist)
        lumi = xmlparser.parse(xmldatablock, "Lumi")
        blocklumi = lumi.pop(0)
        namelist = xmlparser.parse(xmldatablock, "Name")
        mydatablock = datablock.datablock(blocklumi, filelist, lumi, namelist,
                                          filetype, version, maxevents,
                                          cacheable)
        datablocklist.append(mydatablock)
    if options.numjobs == 0 and options.pdf == "":
        options.numjobs = len(totalfilelist)
    if options.numjobs == 0 and options.pdf != "": options.numjobs = 1
    if options.datablocks: options.numjobs = len(datablocklist)
    numjoblist = []
    if options.datablocks:
        for data in datablocklist:
            numjoblist.append(len(data.filelist))
    else:
        for i in range(options.numjobs):
            numjoblist.append(0)
        jobindex = 0
        for i in range(len(totalfilelist)):
            if jobindex >= options.numjobs: jobindex -= options.numjobs
            numjoblist[jobindex] += 1
            jobindex += 1
    for pdfindex in range(pdfmax):
        datablocknumber = 0
        blockindex = 0
        for jobnumber in range(options.numjobs):
            blockindex, datablocknumber = createxmlfile(
                xmlfile, jobnumber + 1, datablocklist, datablocknumber,
                blockindex, numjoblist[jobnumber], options, pdfindex + 1)
예제 #16
0
def test_from_file(xml_file_path):
    m_factory = MagicMock(spec=xp.XmlCreatedObjectFactory)

    instances = {
        'First': lambda: FirstClass(),
        'Second': lambda: SecondClass(),
        'Third': lambda: ThirdClass(),
        'Forth': lambda: ForthClass(),
    }

    def side_effect(*args, **kwargs):
        return instances[args[0]]()

    m_factory.keys.return_value = instances.keys()
    m_factory.create.side_effect = side_effect
    root = ET.parse(xml_file_path).getroot()
    factory_calls = []

    result = xp.parse(xml_file_path, m_factory)

    _test_from_element(root, result, factory_calls)
    m_factory.assert_has_calls(factory_calls)
예제 #17
0
argc = len(sys.argv)
if argc < 3:
    print "Usage: main.py -<algorithm> <filename> <input>*"
    exit(-1)

option = sys.argv[1].strip("-")
if option not in inference_algorithms:
    print "Error: not a valid inference algorithm"
    print "Options: %s" % inference_algorithms.keys()
    exit(-1)

#determines which parser should be used based on the file extension
filename, file_ext = os.path.splitext(sys.argv[2])
print file_ext
if file_ext == ".xml":
    result = xmlparser.parse(filename + file_ext)
elif file_ext == ".bif":
    result = bifparser.parse(filename + file_ext)
else:
    print "Error: invalid extension for bayesian network file"
    exit(-1)

#error handling for files
if result == ({}, {}):
    print "Error: file not found"
    exit(-1)

#bayes net (bn)
bn.vars_dict = result[0]
bn.defs_dict = result[1]
예제 #18
0
import os
from os import listdir
from os.path import isfile, join
import csv
import xmlparser

mypath = '/home/nionjo/Desktop/Taiwan/DATA_Traffic_XML/DATA_Traffic_XML'

directories = listdir(mypath)
csvdir='/home/nionjo/Desktop/Taiwan/Traffic_CSVs'
try:
    os.stat(csvdir)
except:
	os.mkdir(csvdir)  
for d in directories: 
	dirname = join(mypath, d)
	if not d.startswith('.'):
		xmlfiles = listdir(join(mypath, d))
		for xmlname in xmlfiles:
			lanecounter = 0
			csvname = xmlname + ".csv"
			myfile = open(join(csvdir, csvname),'wb')
			wr = csv.writer(myfile,delimiter=";")
			newrow =  ("timestamp","vdid")
			print xmlname
			xmlparser.parse(join(dirname,xmlname))
예제 #19
0
        self.an_attribute = None
        self.seconds = []
        self.forths = []

    def process_children(self, children):
        for child in children:
            if isinstance(child, SecondClass):
                self.seconds.append(child)
            elif isinstance(child, ForthClass):
                self.forths.append(child)


class Factory(xp.XmlCreatedObjectFactory):
    def __init__(self):
        self.mapping = {
            'First': lambda: FirstClass(),
            'Second': lambda: SecondClass(),
            'Third': lambda: ThirdClass(),
            'Forth': lambda: ForthClass()
        }

    def keys(self):
        return self.mapping.keys()

    def create(self, xml_tag):
        return self.mapping[xml_tag]()


if __name__ == '__main__':
    instance = xp.parse('Test.xml', Factory())
    pp.pprint(vars(instance))
argc = len(sys.argv)
if argc < 3:
	print "Usage: main.py -<algorithm> <filename> <input>*"
	exit(-1)

option = sys.argv[1].strip("-")
if option not in inference_algorithms:
	print "Error: not a valid inference algorithm"
	print "Options: %s" % inference_algorithms.keys()
	exit(-1)

#determines which parser should be used based on the file extension
filename, file_ext = os.path.splitext(sys.argv[2])
print file_ext
if file_ext == ".xml":
	result = xmlparser.parse(filename + file_ext)
elif file_ext == ".bif":
	result = bifparser.parse(filename + file_ext)
else:
	print "Error: invalid extension for bayesian network file"
	exit(-1)

#error handling for files
if result == ({}, {}):
	print "Error: file not found"
	exit(-1)

#bayes net (bn)
bn.vars_dict = result[0]
bn.defs_dict = result[1]