| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- from .tool.func import *
- def api_w(name = 'Test', tool = '', rev = ''):
- with get_db_connect() as conn:
- curs = conn.cursor()
- if flask.request.method == 'POST':
- if tool == '' or tool == 'preview':
- # data_in 말고 data_use_type이랑 data_use_num 추가 예정
- data_org = flask.request.form.get('data', '')
- data_pas = render_set(
- doc_name = name,
- doc_data = data_org,
- data_type = 'api_view'
- )
- return flask.jsonify({
- "data" : data_pas[0],
- "js_data" : data_pas[1]
- })
- elif tool == 'include':
- name_org = flask.request.form.get('name_org', '')
- name_org = name if name_org == '' else name_org
- include_data = flask.request.form.get('name_include', '')
- try:
- include_list = json.loads(flask.request.form.get('include_list', ''))
- except:
- include_list = []
- curs.execute(db_change("select data from data where title = ?"), [name])
- sql_data = curs.fetchall()
- if not sql_data:
- return flask.jsonify({})
- else:
- json_data = sql_data[0][0]
- get_all_change_1 = []
- find_replace_moment = re.findall(r'(@([^=@]+)=([^=@]+)@|@([^=@]+)@)', json_data)
- for i in find_replace_moment:
- if i[1] != '':
- get_all_change_1 += [[i[1], i[2]]]
- json_data = json_data.replace(i[0], '@' + i[1] + '@', 1)
- else:
- json_data = json_data.replace(i[0], '@' + i[3] + '@', 1)
- get_all_change_2 = include_list + get_all_change_1
- for i in get_all_change_2:
- json_data = json_data.replace('@' + i[0] + '@', i[1])
- data_pas = render_set(
- doc_name = name_org,
- doc_data = json_data,
- data_type = 'api_view',
- data_in = include_data
- )
- return flask.jsonify({
- "data" : data_pas[0],
- "js_data" : data_pas[1]
- })
- elif tool == 'exist':
- try:
- title_list = json.loads(flask.request.form.get('title_list', ''))
- title_list = list(set(title_list))
- except:
- title_list = [name]
- data_exist = {}
- for i in title_list:
- curs.execute(db_change("select title from data where title = ?"), [i])
- if curs.fetchall():
- data_exist[i] = '1'
- return flask.jsonify(data_exist)
- return flask.jsonify({})
- else:
- if tool == '' or tool == 'view':
- if acl_check(name, 'render') != 1:
- if number_check(rev) == '':
- curs.execute(db_change("select data from data where title = ?"), [name])
- else:
- curs.execute(db_change("select data from history where title = ? and id = ?"), [name, rev])
- sql_data = curs.fetchall()
- if sql_data:
- data_pas = render_set(
- doc_name = name,
- doc_data = sql_data[0][0],
- data_type = 'api_view'
- )
- return flask.jsonify({
- "data" : data_pas[0],
- "js_data" : data_pas[1]
- })
- return flask.jsonify({})
|