def job_quest(keyword): # 잡퀘 job_npcs = funcs.read_json(JOB_NPC_FILE) if keyword in job_npcs: name = job_npcs[keyword]['name'] pos = job_npcs[keyword]['pos'] ret = '**' + keyword + '**의 잡 퀘스트 NPC: ' + name + ' (' + pos + ')' else: ret = '그런 잡을 찾지 못했어요. :sweat_smile:' return ret
def test_read_json(): """ Test procedure for the function read_json() """ print('Testing read_json()') # Access the file relative to this one, not the user's terminal parent = os.path.split(__file__)[0] # First test fpath = os.path.join(parent,'files','readjson1.json') data = funcs.read_json(fpath) introcs.assert_equals(type(data), dict) introcs.assert_equals(data, FILE1) # Second test fpath = os.path.join(parent,'files','readjson2.json') data = funcs.read_json(fpath) introcs.assert_equals(type(data), list) introcs.assert_equals(data, FILE2)
def elite(keyword): # 마물 elites = funcs.read_json(ELITE_FILE) if keyword in elites: elite = elites[keyword] title = '마물 **' + keyword + '**' footer = '자료: 파이널 판타지 14 인벤' img = elite['img'] ret = funcs.make_embed(title=title, by_me=True, footer=footer, img=img) ret.add_field(name='등급', value=elite['grade']) ret.add_field(name='지역', value=elite['location']) ret.add_field(name='출현 주기', value=elite['period']) ret.add_field(name='소환 조건', value=elite['condition']) else: ret = NO_RESULT_MESSAGE return ret
def hunting(keyword): # 토벌 huntings = funcs.read_json(HUNTING_FILE) if keyword in huntings: pos = huntings[keyword]['pos'] href = huntings[keyword]['href'] img = huntings[keyword]['img'] title = '**' + keyword + '** 출현 장소' desc = '[' + pos + '](' + href + ')' footer = '자료: 파이널판타지 14 인벤' ret = funcs.make_embed(title=title, desc=desc, footer=footer, img=img) else: ret = NO_RESULT_MESSAGE return ret
def guild_quest(level, job='mercernary'): # 의뢰 guild_quests = funcs.read_json(GUILD_QUEST_FILE) ret = '길드 의뢰를 찾지 못했어요.' for lvl in range(level, 0, -1): lvl = str(lvl) if lvl in guild_quests: quest_type = '용병업' if job == 'mercernary' else '채집·제작업' title = '**' + lvl + '**레벨 ' + quest_type + ' 의뢰 수주 장소' desc = '' for loc in guild_quests[lvl][job]: desc += f':white_small_square: {loc}\n' ret = funcs.make_embed(title=title, desc=desc, by_me=True) break return ret
def entry(): data = [] if request.method == 'POST': if get_check_psw(): data = read_json('data.json') return render_template('entry.html', data=data)
def tool(job, level): # 장비 tools = funcs.read_json(TOOL_FILE) gatherer_equipments = funcs.read_json(GATHERER_EQUIPMENT_FILE) if job in tools: value_main_tool = value_sub_tool = value_head = value_armor = \ value_glove = value_waist = value_leg = value_boot = '?' has_found_main_tool = has_found_sub_tool = has_found_head = \ has_found_armor = has_found_glove = has_found_waist = \ has_found_leg = has_found_boot = False for lvl in range(level, 0, -1): lvl = str(lvl) if not has_found_main_tool and lvl in tools[job]['main']: value_main_tool = lvl main_tool = tools[job]['main'][lvl] value_main_tool += ' ' + main_tool['name'] has_found_main_tool = True if not has_found_sub_tool and lvl in tools[job]['sub']: value_sub_tool = lvl sub_tool = tools[job]['sub'][lvl] if job != '어부': value_sub_tool += sub_tool['name'] else: value_sub_tool += ', '.join(sub_tool['name']) has_found_sub_tool = True if job in GATHERERS: if not has_found_head and lvl in gatherer_equipments['head']: value_head = lvl head = gatherer_equipments['head'][lvl] value_head += ' ' + head['name'] has_found_head = True if not has_found_armor and lvl in gatherer_equipments['armor']: value_armor = lvl armor = gatherer_equipments['armor'][lvl] value_armor += ' ' + armor['name'] has_found_armor = True if not has_found_glove and lvl in gatherer_equipments['glove']: value_glove = lvl glove = gatherer_equipments['glove'][lvl] value_glove += ' ' + glove['name'] has_found_glove = True if not has_found_waist and lvl in gatherer_equipments['waist']: value_waist = lvl waist = gatherer_equipments['waist'][lvl] value_waist += ' ' + waist['name'] has_found_waist = True if not has_found_leg and lvl in gatherer_equipments['leg']: value_leg = lvl leg = gatherer_equipments['leg'][lvl] value_leg += ' ' + leg['name'] has_found_leg = True if not has_found_boot and lvl in gatherer_equipments['boot']: value_boot = lvl boot = gatherer_equipments['boot'][lvl] value_boot += ' ' + boot['name'] has_found_boot = True title = '**' + job + '**의 ' + str(level) + '레벨 장비' name_main = '주 도구' if job != '어부' else '낚싯대' name_sub = '보조 도구' if job != '어부' else '미끼' ret = funcs.make_embed(title=title, by_me=True) ret.add_field(name=name_main, value=value_main_tool) ret.add_field(name=name_sub, value=value_sub_tool) ret.add_field(name='머리', value=value_head) ret.add_field(name='갑옷', value=value_armor) ret.add_field(name='장갑', value=value_glove) ret.add_field(name='허리', value=value_waist) ret.add_field(name='다리', value=value_leg) ret.add_field(name='신발', value=value_boot) else: ret = '그런 잡을 찾지 못했어요. :sweat_smile:' return ret