Exemple #1
0
    def addParse(self, parseText):
        parseText = parseText.strip()
        for parse in self.parses:
            if parseText == parse.text:
                parse.frequency += 1
                return

        parse = Parse(parseText)
        self.parses.append(parse)
        self.sortParses()
Exemple #2
0
 def newFile(self):
     fi = open(resp_dir + "__init__.py", "w")
     fi.write("# coding=utf-8\n")
     fi.close()
     tags = Parse().getTags()
     for tag in tags:
         self.fileOne(tag)
         fi = open(resp_dir + "__init__.py", "a+")
         fi.write("from " + resp_pack + tag + " import *\n")
         fi.close()
Exemple #3
0
 def find_top_5_sentences(self):
     # return a list of 5 top sentences, sorted by sum(tfidf) for each word in a sentence
     # extract terms from the entire document
     parser = Parse(globs.constants, globs.stop_words, self.is_stemming)
     parser.parse_document(self.content)
     terms = parser.terms
     # split the document into sentences
     sentences = sent_tokenize(self.content)
     parsed_sentences = []
     try:
         for position, sentence in enumerate(sentences):
             # parse & assign grade for each sentence
             sentence_parser = Parse(globs.constants, globs.stop_words,
                                     self.is_stemming)
             sentence_parser.parse_document(sentence)
             sentence_terms = sentence_parser.terms
             sentence_length = sum([
                 int(term.count)
                 for key, term in sentence_terms.iteritems()
             ])
             if sentence_length in (0, 1):
                 continue
             sentence_score = sum([
                 (float(sentence_terms[token].count) / self.max_tf) * log(
                     float(globs.num_of_documents) /
                     float(globs.main_dictionary[token].df), 2)
                 for token in sentence_terms
             ]) / log(float(sentence_length), 2)
             # append each original sentence with it's grade & position
             parsed_sentences.append((sentence, sentence_score, position))
         # find the top 5 sentences and return their rank, position and of course the sentence itself
         top_5_sentences = sorted(parsed_sentences,
                                  key=lambda tup: tup[1],
                                  reverse=True)[:5]
         ranked_5_sentences = []
         for rank, sentence in enumerate(top_5_sentences):
             ranked_5_sentences.append((sentence[0], rank + 1, sentence[2]))
         return ranked_5_sentences
     except Exception as err:
         print(err)
         traceback.print_exc(file=sys.stdout)
Exemple #4
0
 def __init__(self, corpus_path, posting_path, terms_dict, cities_dict, docs_dict, avg_doc_length, with_stemming,
              with_semantics):
     self.terms_dict = terms_dict
     self.cities_dict = cities_dict
     self.docs_dict = docs_dict
     self.parser = Parse(corpus_path)  ## corpus path for stop words
     self.parser.to_stem = with_stemming
     self.posting_path = posting_path
     self.ranker = Ranker(avg_doc_length)
     self.model = None
     self.with_semantics = with_semantics
     self.with_stemming = with_stemming
Exemple #5
0
def callRobot(txt, request):

    parse = Parse()
    result = []
    decision = parse.outputString(str(txt))
    if decision[0][0] == 1:
        fb = FB()
        temp = fb.searchUser(str(decision[1]))
        if temp != None and len(temp) > 0:
            result.append("Result from Facebook, Total results are " +
                          str(len(temp)) + "\n")
            for i, y in temp.iteritems():
                result.append("UserID:" + i + "\tUser Full Name: " + y + "\n")
    if decision[0][1] == 1:
        twitter = twitterSearch()
        temp = twitter.searchName(str(txt))
        result.append("Result from twitter Total results are :" +
                      str(len(temp)) + "\n")
        for i in temp:
            result.append("UserID:" + i[0] + "\tUser Full Name:" + i[1] +
                          "\tUser location" + i[2] + "\n")
    if decision[0][2] == 1:
        fb = FB()
        temp = fb.searchDetailInfo(str(txt))
        if "name" in temp:
            result.append("Name:    " + temp["name"])
        if "category" in temp:
            result.append("\tCategory:  " + temp["category"])
        if "birthday" in temp:
            result.append("\tBirthday:  " + temp["birthday"])
        if "about" in temp:
            result.append("\tAbout: " + temp["about"])
        if "pic" in temp:
            result.append("\tPicture:   " + temp["pic"] + "\n")
    #result = fb.searchUser(str(txt))
    message = ""

    for i in result:
        message = message + i

    #for i in range(1,1000):
    #   print message.decode('unicode-escape')
    # for i in range(1,300):
    #     print message[1791:1793]
    #msg = message.decode('unicode-escape')

    #print result

    msg = message
    user = GetRobot(request, msg)

    return msg
    def __init__(self):
        # creating an object for parser class
        parser_obj = Parse()

        # cycle count
        self.cycle = 0
        self.cy_needed = 0

        # loop case check
        self.loop = False

        # flag for i-cache
        self.spec_i_flag = False

        # collecting the parsed data
        self.inst = parser_obj.inst
        self.config = parser_obj.conf
        self.registers = parser_obj.regs
        self.data = parser_obj.data

        # hit count
        self.i_hit_count = 0
        self.i_access_count = 0
        self.d_miss = 0
        self.d_hit_count = 0
        self.d_access_count = 0

        self.stall = 0

        self.fflag = False
        self.next = 0
        self.v = 0

        # register set
        self.register_set = {}

        # d-cache
        self.d_block_0 = {d_value_0: [] for d_value_0 in range(2)}
        self.d_block_1 = {d_value_1: [] for d_value_1 in range(2)}

        self.least_recently_used = 0
        self.least_recently_used2 = 0

        # initialize instruction sets
        self.mem = ['LW', 'SW', 'L.D', 'S.D']
        self.add_sub = ['ADD.D', 'SUB.D']
        self.int_inst = ['DADD', 'DADDI', 'DSUB', 'DSUBI', 'AND', 'ANDI', 'OR', 'ORI']
        self.jump = ['HLT', 'J', 'BEQ', 'BNE']

        # tracking if busy or not
        self.fetch_busy = self.decode_busy = self.mem_busy = self.add_busy = self.mul_busy = self.div_busy \
            = self.write_back_busy = self.iu_busy = self.jump_busy = [False, None]
Exemple #7
0
    def getTagPaths(self):
        paths = list(Parse().getPaths())
        paths.sort()
        tags = list(Parse().getTags())
        tags.sort()

        p = Parse()
        tags_paths = {}
        for tag in tags:
            tags_paths[tag] = []
            index = []
            for path in paths:
                p.setPath(path)
                path_tag = p.getTag()
                if path_tag == tag:
                    tags_paths[tag].append(path)
                    index.append(paths.index(path))
            index.sort()
            index.reverse()
            for i in index:
                paths.pop(i)

        return tags_paths
Exemple #8
0
    def respOne(self, path):
        p = Parse()
        p.setPath(path)
        tag = p.getTag()
        f = open(resp_dir + tag + ".py", 'a+')
        casename = p.getCaseName()
        resp = p.getResponse()

        f.write(casename + "_resp = ")
        if isinstance(resp, dict):
            self.writeDict(f, resp)
        elif isinstance(resp, list):
            self.writeList(f, resp)
        else:
            f.write("\'" + resp + "\'")
        f.write("\n\n")
    def test_run_OLCIL1_Oa01_radiance(self):
        from test_OLCIL1_parse_data import OLCIL1_test_path, OLCIL1_test_attributes
        from Parse import Parse

        s3parse = Parse(OLCIL1_test_path)

        # Test attributes attribute
        # Assert opened attributes are the same as the true attributes
        for key in OLCIL1_test_attributes.keys():
            if type(OLCIL1_test_attributes[key]) == list:
                self.assertItemsEqual(s3parse.attributes[key],
                                      OLCIL1_test_attributes[key],
                                      "Problem with %s" % key)
            else:
                self.assertEqual(s3parse.attributes[key],
                                 OLCIL1_test_attributes[key],
                                 "Problem with %s" % key)
    def respAssertOne(self, path):
        p = Parse()
        p.setPath(path)
        tag = p.getTag()
        f = open(respAssert_dir + tag + ".robot", 'a+')
        casename = p.getCaseName()
        resp = p.getResponse()

        f.write(casename + "_resp\n")
        f.writelines("\t${resp}    evaluate    ${" + casename + "_resp}\n")
        if isinstance(resp, dict):
            self.writeDict(f, resp, "resp")
        elif isinstance(resp, list):
            self.writeList(f, resp, "resp")
        else:
            f.write("\tShould Be Equal    ${resp}    ${sql}\n")
        f.write("\n\n")
	def paramOne(self, path):
		p = Parse()
		p.setPath(path)
		tag = p.getTag()
		f = open(paramsnew_dir + tag + ".py", 'a+')
		casename = p.getCaseName()
		params = p.getParams()
		if len(params) > 0:
			f.write(casename + "_param = ")
			for i in range(len(params)):
				name = params[i]["name"]
				if i == 0:
					param = name
				else:
					param = dict(param, **name)
			self.writeDict(f, param)
			f.write("\n\n")
Exemple #12
0
 def testIndexing(self):
     p = Parse(
         "leader<table><tr><td>one</td><td>two</td><td>three</td></tr><tr><td>four</td></tr></table>trailer"
     )
     self.assertEquals("one", p.at(0, 0, 0).body)
     self.assertEquals("two", p.at(0, 0, 1).body)
     self.assertEquals("three", p.at(0, 0, 2).body)
     self.assertEquals("three", p.at(0, 0, 3).body)
     self.assertEquals("three", p.at(0, 0, 4).body)
     self.assertEquals("four", p.at(0, 1, 0).body)
     self.assertEquals("four", p.at(0, 1, 1).body)
     self.assertEquals("four", p.at(0, 2, 0).body)
     self.assertEquals(1, p.size())
     self.assertEquals(2, p.parts.size())
     self.assertEquals(3, p.parts.parts.size())
     self.assertEquals("one", p.leaf().body)
     self.assertEquals("four", p.parts.last().leaf().body)
    def __init__(self, dataStorage):
        """
        初始化
        :return:
        """
        self.driver = webdriver.Chrome()
        # self.driver.implicitly_wait(1)
        # self.driver = webdriver.PhantomJS() #########不能使用,个人成就和推荐信信息爬不出来

        self.accountName = ACCOUNT.get('name')
        self.urlName = LINKEDINURL.get('name')
        self.usersName = LINKEDINUSERS.get('name')
        self.postName = LINKEDINPOSTSURL.get('name')
        self.__dataStorage = dataStorage
        self.parse = Parse()
        self.webAction = WebAction()
        # self.linkedin_limit = 0
        self.__initLogger()
    def __init__(self, dataStorage):
        """
        初始化
        :return:
        """
        self.driver = webdriver.Chrome()
        # self.driver = webdriver.PhantomJS()
        # self.driver.maximize_window()
        # 设置页面超时时间
        self.driver.set_page_load_timeout(30)

        self.accountName = ACCOUNT.get('name')
        self.urlName = LINKEDINURL.get('name')
        self.usersName = LINKEDINUSERS.get('name')
        self.__dataStorage = dataStorage
        self.parse = Parse()
        # self.linkedin_limit = 0
        self.__initLogger()
Exemple #15
0
    def __init__(self, arr):
        parser_obj = Parse()
        # depending on the number of registers
        if len(arr) == 1:
            self.inst = arr[0]
            self.reg1 = ''
            self.reg2 = ''
            self.reg3 = ''

        if len(arr) == 3:
            self.inst = arr[0]
            self.reg1 = arr[1]
            self.reg2 = arr[2]
            self.reg3 = ''
        if len(arr) == 4:
            self.inst = arr[0]
            self.reg1 = arr[1]
            self.reg2 = arr[2]
            self.reg3 = arr[3]

        self.address = 0
        self.x = ''
        self.mem_check = False
        self.sub_cycle = 0
        self.int_cycle = 1
        self.iu_cycle = 1
        self.mem_cycle = int(parser_obj.conf[0]['Main memory'])
        self.add_sub_cycle = int(parser_obj.conf[0]['FP adder'])
        self.mul_cycle = int(parser_obj.conf[0]['FP Multiplier'])
        self.div_cycle = int(parser_obj.conf[0]['FP divider'])

        # cycle count for each stage
        self.fetch = self.decode = self.execute = self.write_back = 0

        # possible hazards
        self.raw = self.war = self.waw = self.struct_haz = 'N'

        self.status = 'IF'

        # instruction cache flag
        self.i_flag = [False, 0]
        self.cache_miss_flag = False

        self.d_flag = False
Exemple #16
0
    def test_Parse(self):
        from Parse import Parse

        # Create parser
        test_parser_directory = abspath(
            pjoin(dirname(dirname(__file__)), "tools", "test"))
        createTestParsingTool(test_parser_directory)

        # Ensure test data reader generated
        self.assertTrue(exists(test_parser_directory), "Test parser missing")

        # Parse test product
        testParse = Parse("")

        # Assert attributes expected
        self.assertEqual(testParse.attributes, {})

        # Remove test data parser
        shutil.rmtree(test_parser_directory)
Exemple #17
0
 def __init__(self):
     self.parse = Parse()
     # Authorise my request using OAuth
     self.t = Twitter(
         auth=OAuth("2999654973-YS9XG2UdzWDNJhapOjAUDHjrv5wgG3az3MZ5JfF",
                    "NlP0PWQPJv1Z0lPsH6xv3bb7jw3Aos5xD18ni3ODuDZME",
                    "p6yoZBcF9NnteTV67YbVRwcis",
                    "nY0Q4ugFlef0AtlRTaXptshXxJNGymxFgn4KzaeF77UXlMkRuq"))
     self.tweets = []
     # Define target account and fetch tweet
     self.t.statuses.user_timeline(screen_name="premierleague",
                                   count=1,
                                   exclude_replies=True,
                                   include_rts=False)
     tweets = self.t.statuses.user_timeline(screen_name="premierleague",
                                            count=1,
                                            exclude_replies=True,
                                            include_rts=False)
     for i in xrange(len(tweets)):
         self.tweets.append(self.parse.parseOne(tweets[i]))
Exemple #18
0
    def getWordsAndTheirParses(self, words):

        for word in words:
            lines = word.split("\n")
            firstLine = lines[0]
            splittedFirstLine = firstLine.split(":")
            if len(splittedFirstLine) < 2:
                continue
            wordText = splittedFirstLine[0]

            unique_serialized_word = self.upsertWord(wordText)

            correctMorphParseNumber = splittedFirstLine[1]  # get correct
            correctMorphParseFull = lines[int(correctMorphParseNumber)]

            unique_serialized_word.addParse(correctMorphParseFull)

            # if "Punc" not in correctMorphParseFull:
            w = Word(wordText)  # add all words to all_words_in_corpus
            w.correct_parse = Parse(correctMorphParseFull)
            self.all_words_in_corpus.append(w)
Exemple #19
0
 def __string_to_terms(self, string):
     # given a string, parse into terms. in this case it's for a query
     parser = Parse(globs.constants, globs.stop_words, self.is_stemming)
     parser.parse_document(string)
     return parser.terms.keys()
	def paramAll(self):
		paths = Parse().getPaths()
		for path in paths:
			self.paramOne(path)
	def newFile(self):
		tags = Parse().getTags()
		for tag in tags:
			self.fileOne(tag)
Exemple #22
0
print("HI!\n")

from Parse import Parse

j = input("Enter 'a' for Yahoo and 'b' for rediffmoney : ")
if (j == 'a'):
    i = str(input("enter the link for the stock : "))
    Parse(i, 0)
else:
    i = str(input("enter the link for the stock : "))
    Parse(i, 1)
 def respAssertAll(self):
     paths = Parse().getPaths()
     for path in paths:
         self.respAssertOne(path)
Exemple #24
0
 def td(self, body):
     return Parse(tag="td", body=self.gray(body))
Exemple #25
0
		:param n:  从0开始算
		:param text:  list
		:return:
		'''
        if n < 0:
            pass
        else:
            fp = open(filename, 'r')
            lines = fp.readlines()
            fp.close()
            text = list(text)
            lines[n] = text[0]
            n = int(n)
            for i in range(1, len(text)):
                line = n + i
                lines.insert(line, text[i])
            fp = open(filename, 'w')
            fp.writelines(lines)
            fp.close()


if __name__ == '__main__':
    tags = Parse().getTags()
    for tag in tags:
        filename = cases_dir + tag + ".robot"
        text = ["Library           ../../Common/Function.py\n"]
        line = EditFile().getLine(filename,
                                  "Library           ../../Util/Function.py")
        EditFile().editText(filename, line, text)
        # EditFile().insertFileText(filename, line+1, text)
Exemple #26
0
 def fromString(self, string):
     self.data = Parse(string)
     self.make()
     return self
 def td(self, body):
     return Parse(tag="td", body=self.info(body))
Exemple #28
0
class Capture:
    rfp = Parse(r'C:\Users\arile\Documents\renciTextExamples\rfpAI.txt')
    rfp.find_title()
    rfp.find_due_dates()
    rfp.find_program_description(4)  # argument is the number of sentences of description
    rfp.find_congnizant_program_officers()
Exemple #29
0
    def parseLine(self, slots):

        numSlots = len(slots)

        initialParse = Parse(self, numSlots)
        parses = initialParse.extend(slots[0])
        parses[0].comparisonNums.add(1)

        boundedParses = []

        for slotN in range(1, numSlots):

            newParses = []
            for parse in parses:
                newParses.append(parse.extend(slots[slotN]))

            for parseSetIndex in range(len(newParses)):

                parseSet = newParses[parseSetIndex]

                for parseIndex in range(len(parseSet)):

                    parse = parseSet[parseIndex]
                    parse.comparisonParses = []

                    if len(parseSet) > 1 and parseIndex == 0:
                        parse.comparisonNums.add(parseSetIndex)

                    for comparisonIndex in parse.comparisonNums:

                        # should be a label break, but not supported in Python
                        # find better solution; redundant checking
                        if parse.isBounded:
                            break

                        try:
                            for comparisonParse in newParses[comparisonIndex]:

                                if parse is comparisonParse:
                                    continue

                                if not comparisonParse.isBounded:

                                    if parse.canCompare(comparisonParse):

                                        boundingRelation = parse.boundingRelation(
                                            comparisonParse)

                                        if boundingRelation == Bounding.bounds:
                                            # print parse.__report__()
                                            # print '--> bounds -->'
                                            # print comparisonParse.__report__()
                                            # print
                                            comparisonParse.isBounded = True
                                            comparisonParse.boundedBy = parse

                                        elif boundingRelation == Bounding.bounded:
                                            # print
                                            # print comparisonParse.__report__()
                                            # print '--> bounds -->'
                                            # print parse.__report__()
                                            # print
                                            parse.isBounded = True
                                            parse.boundedBy = comparisonParse
                                            break

                                        elif boundingRelation == Bounding.equal:
                                            parse.comparisonParses.append(
                                                comparisonParse)

                                    else:
                                        parse.comparisonParses.append(
                                            comparisonParse)
                        except IndexError:
                            pass

            parses = []
            #boundedParses=[]
            parseNum = 0

            for parseSet in newParses:
                for parse in parseSet:
                    if parse.isBounded:
                        boundedParses += [parse]
                    elif parse.score() >= 1000:
                        parse.unmetrical = True
                        boundedParses += [parse]
                    else:
                        parse.parseNum = parseNum
                        parseNum += 1
                        parses.append(parse)

            for parse in parses:

                parse.comparisonNums = set()

                for compParse in parse.comparisonParses:
                    if not compParse.isBounded:
                        parse.comparisonNums.add(compParse.parseNum)

        return parses, boundedParses
Exemple #30
0
from Parse import Parse # my parse class   

postfixStrings =    [
                        '4 5 +',             # 9
                        '9 3 /',             # 3
                        '17 8 -',            # 9
                        '6 2 / 5 +',         # 8
                        '4 5 + 7 2 -  *',    # 45
                        '4 5 7 2 + - *',     # -16
                        '3 4 + 2  * 7 /',    # 2 
                        '5 7 + 6 2 -  *',    # 48
                        '4 2 3 5 1 - + * +', # 18
                        '4 2 + 3 5 1 -  * +' # 18
                    ]

# input format : 'operand operand operator'
for string in postfixStrings:
    print '{:18} = {}'.format(string, Parse(string).evaluate())