def wikiread(string, latit): # preliminary section article = string article = urllib.quote(article) opener = urllib2.build_opener() opener.addheaders = [('User-agent', 'Mozilla/5.0')] # posting http request and reading the data try: resource = opener.open("http://en.wikipedia.org/wiki/" + article) except urllib2.URLError: return NODATA pass data = resource.read() resource.close() soup = BeautifulSoup(data) # parsing the data with BeautifulSoup wiki_first_paragraph = soup.find('div',id="bodyContent").p try: wiki_latitude = conversion(soup.find('span',attrs={"class":"latitude"}).renderContents()) except AttributeError: wiki_latitude = "N/A" pass try: wiki_longitude = conversion(soup.find('span',attrs={"class":"longitude"}).renderContents()) except AttributeError: wiki_longitude = "N/A" pass try: wiki_pic = soup.find('img')['src'] except AttributeError: wiki_pic = "N/A" pass # checking if the wiki_latitude is close to the initially given one b = "N/A" try: diff = float(abs(wiki_latitude) - abs(latit)) if diff < GPS_FLOAT_PRECISION: b = wiki_pic except TypeError: return NODATA pass text = lxml.html.fromstring(str(wiki_first_paragraph)) a = text.text_content() # forming python dict for output out = dict([('desc',a),('pic',b)]) return out
def flow_convert(event): """Moire to crystal data conversion Process. Call the conversion function in the conversion module for both masks.""" if not event.inaxes == smggui.event_convert.ax: raise Exception('Improper convert axis') print(smggui.h_1, smggui.h_2, smggui.v_1, smggui.v_2) conversion.conversion('Mask1', smggui.h_1, smggui.v_1, smgdata) conversion.conversion('Mask2', smggui.h_2, smggui.v_2, smgdata)
def main(inputSentence, inputSentenceStyle, subjectHonorification): inputSentenceStyle, subjectHonorification = int(inputSentenceStyle), int( subjectHonorification) sentenceType = engInputAnalysis.sentenceType(inputSentence) # 문장종류 확인 # 주체 높임법 예외처리 if sentenceType == 'command': if subjectHonorification == 1: if inputSentenceStyle == '해' or inputSentenceStyle == '해라': print("error") exit(1) elif subjectHonorification == 0: if inputSentenceStyle == '해요' or inputSentenceStyle == '합쇼': print("error") exit(1) sentenceInfo, eng_pos = naverPapago.translate( inputSentence) # 파파고API로 번역 및 Komoran으로 형태소 분석 sentenceInfo = komoranSpacing.Spacing( sentenceInfo[1]) # 분석된 형태소를 이용하여 띄어쓰기 처리 # 주체 높임법 플래그, 불규칙 활용 여부 플래그 리스트에 추가 sentenceInfo.append([subjectHonorification, 0]) print(sentenceInfo, end="1\n") conversion.conversion(sentenceInfo, eng_pos) sentenceInfo = honorification.honorification1( sentenceInfo) # 주체 높임에 따른 '시' 추가 및 삭제 print(sentenceInfo, end="2\n") if inputSentenceStyle == 0: sentenceInfo = sentenceStyle.hae(sentenceInfo, sentenceType) elif inputSentenceStyle == 1: sentenceInfo = sentenceStyle.haera(sentenceInfo, sentenceType) elif inputSentenceStyle == 2: sentenceInfo = sentenceStyle.haeyo(sentenceInfo, sentenceType) elif inputSentenceStyle == 3: sentenceInfo = sentenceStyle.habsyo(sentenceInfo, sentenceType) print(sentenceInfo, end="3\n") if sentenceInfo[2][1] == 1: sentenceInfo = irregular.irregular(sentenceInfo) print(sentenceInfo, end="4\n") sentenceInfo = honorification.honorification2(sentenceInfo) print(sentenceInfo, end="5\n") sentenceInfo = josa.josa(sentenceInfo) print(sentenceInfo, end="6\n") sentenceInfo = vowelReduction.vowelReduction(sentenceInfo) print(sentenceInfo, end="7\n") outputSentence = hgtkTest.textCompose(sentenceInfo[0]) print(sentenceType) print(outputSentence) return outputSentence
def test_euro_real(): amout = 10 from_to = 'EUR' to = 'BRL' rate = 4.5 got = conversion(amout, from_to, to, rate) assert got == {"valorConvertido": amout * rate, "simboloMoeda": 'R$'}
def test_real_dollar(): amout = 10 from_to = 'BRL' to = 'USD' rate = 4.5 got = conversion(amout, from_to, to, rate) assert got == {"valorConvertido": amout / rate, "simboloMoeda": '$'}
datasetId = inputParameters['datasetId'] logging.info(code_srcDir) xsdDir = glob.glob(code_srcDir + '/*.xsd')[0] logging.info(xsdDir) # add code_src to the sys path sys.path.insert(0, code_srcDir) # call the conversion code try: from conversion import conversion except: logging.info(str(traceback.format_exc())) logging.info("conversion begin") try: status, messages = conversion(jobDir, code_srcDir, xsdDir, templateName, str(inputParameters['user']), datasetId) logging.info("conversion finished") except: logging.error('exception occurred') logging.error('exception: ' + str(traceback.format_exc())) status = 'failure' messages = ['[Conversion Error] Oops! The conversion cannot be finished! Please contact the administrator.'] logging.info("CONVERSION RESULT: " + status) for message in messages: logging.info("message: " + message) # example sending error template (rough cut) # for now the email just goes into the rest server log file: nanomine/rest/nanomine.log.gz (log file name will get fixed soon) # templates are in rest/config/emailtemplates/JOBTYPE/TEMPLATENAME.etf (etf extension is required, but implied in POST data) try:
#!/usr/bin/python3 import conversion as cv import unisection as us if __name__ == "__main__": n = int( input('Select menu: 1) conversion 2) union/intersection 3) exit? ')) while n != 3: if n == 1: a = int(input("input binary number : "), 2) cv.conversion(a) if n == 2: us.unisection() n = int( input( 'Select menu: 1) conversion 2) union/intersection 3) exit? ')) if n == 3: print("exit the program...")
templateName = inputParameters['templateName'] logging.info(code_srcDir) xsdDir = glob.glob(code_srcDir + '/*.xsd')[0] logging.info(xsdDir) # add code_src to the sys path sys.path.insert(0, code_srcDir) # call the conversion code try: from conversion import conversion except: logging.info(str(traceback.format_exc())) logging.info("conversion begin") try: status, messages = conversion(jobDir, code_srcDir, xsdDir, templateName) logging.info("conversion finished") except: logging.error('exception occurred') logging.error('exception: ' + str(str(traceback.format_exc()))) status = 'failure' messages = ['[Conversion Error] Oops! The conversion cannot be finished! Please contact the administrator.'] logging.info("CONVERSION RESULT: " + status) for message in messages: logging.info("message: " + message) # example sending error template (rough cut) # for now the email just goes into the rest server log file: nanomine/rest/nanomine.log.gz (log file name will get fixed soon) # templates are in rest/config/emailtemplates/JOBTYPE/TEMPLATENAME.etf (etf extension is required, but implied in POST data) try:
def test_conversion(test_case): conversion.conversion(mask, test_case['n_horizontal'], test_case['m_vertical'], test_case['datastruct']) assert np.all( np.array(test_case['datastruct'].load_g(mask, 'gCuns')) == test_case['to_assert'])
async def root(amount: float, from_to: str, to: str, rate: float): return conversion(amount, from_to, to, rate)