Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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$'}
Ejemplo n.º 5
0
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": '$'}
Ejemplo n.º 6
0
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:
Ejemplo n.º 7
0
#!/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...")
Ejemplo n.º 8
0
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:
Ejemplo n.º 9
0
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'])
Ejemplo n.º 10
0
async def root(amount: float, from_to: str, to: str, rate: float):
    return conversion(amount, from_to, to, rate)