def saveas(savetype): logger.info('Save Type : {0:s} - {1:s}'.format(str(savetype), str(request.method))) logger.debug('JSON : {0:s}'.format(str(request.json))) if request.method == 'POST': try: if savetype == 'template': filename = '{0!s:s}.json'.format(request.json['title'].replace( ' ', '_').lower()) template_type = request.json['template_type'] if len(template_type.strip()) == 0: fullpath = os.path.abspath( os.path.join(bp.static_folder, 'templates', 'uncategorised', filename)) else: typedir = os.path.abspath( os.path.join( bp.static_folder, 'templates', template_type.strip().replace(' ', '_').lower())) if not os.path.exists(typedir): os.makedirs(typedir) fullpath = os.path.abspath(os.path.join(typedir, filename)) logger.info('Template File Name : {0!s:s}'.format(filename)) logger.info('>>>>>> Path to file {0!s:s}'.format(fullpath)) writeJsonFile(request.json, fullpath) return filename except Exception as e: logger.exception(e) return str(e), 500
def processWorkflow(args): logger.info(args) if args["input"] != None: cd3_parser = OkitCd3ExcelParser() result = cd3_parser.parse(args["input"]) writeJsonFile(result["okit_json"], args["output"]) return
def dropdownData(profile): dropdown_dir = os.path.abspath( os.path.join(bp.static_folder, 'json', 'dropdown')) shipped_dropdown_file = os.path.abspath( os.path.join(dropdown_dir, 'dropdown.json')) # shipped_dropdown_file = os.path.abspath(os.path.join(bp.static_folder, 'json', 'dropdown', 'dropdown.json')) profile_dropdown_dir = os.path.abspath( os.path.join(dropdown_dir, 'profiles')) profile_dropdown_file = os.path.abspath( os.path.join(profile_dropdown_dir, f'{profile}.json')) # Check if profile specific dropdown file exists if not use the default if request.method == 'GET': if os.path.exists(profile_dropdown_file): dropdown_file = profile_dropdown_file logger.info(f'Loading Dropdown file {dropdown_file}') dropdown_json = readJsonFile(dropdown_file) else: dropdown_file = shipped_dropdown_file logger.info(f'Loading Dropdown file {dropdown_file}') dropdown_json = readJsonFile(dropdown_file) dropdown_json["shipped"] = True dropdown_json["default"] = True return dropdown_json elif request.method == 'POST': logger.info(f'Saving Dropdown file {profile_dropdown_file}') writeJsonFile(request.json, profile_dropdown_file) return request.json else: return 'Unknown Method', 500
def template_save(): if request.method == 'POST': instance_path = current_app.instance_path root_dir = request.json["root_dir"].strip('/') template_filename = request.json["template_file"].strip('/') okit_json = request.json["okit_json"] git = request.json.get('git', False) git_commit_msg = request.json.get('git_commit_msg', '') logger.info(f'Save Template : {root_dir}') template_dir = os.path.dirname(template_filename) full_dir = os.path.join(instance_path, root_dir, template_dir) full_filename = os.path.join(full_dir, os.path.basename(template_filename)) full_filename = os.path.join(instance_path, root_dir, template_filename) if not os.path.exists(full_dir): os.makedirs(full_dir, exist_ok=True) writeJsonFile(okit_json, full_filename) if git: top_dir = os.path.normpath( os.path.dirname(template_filename)).split(os.sep) git_repo_dir = os.path.join(instance_path, root_dir, top_dir[0], top_dir[1]) # while top_dir != '': # git_repo_dir = os.path.join(instance_path, root_dir, top_dir) # logger.info(f'Top Dir : {top_dir}') # top_dir = os.path.dirname(top_dir) logger.info(f'Git Root Dir : {git_repo_dir}') repo = Repo(git_repo_dir) repo.index.add(full_filename) repo.index.commit("commit changes from okit:" + git_commit_msg) repo.remotes.origin.pull() repo.remotes.origin.push() return template_filename
def dropdownData(): dropdown_file = os.path.abspath(os.path.join(bp.static_folder, 'json', 'dropdown.json')) if request.method == 'GET': dropdown_json = readJsonFile(dropdown_file) return dropdown_json elif request.method == 'POST': writeJsonFile(request.json, dropdown_file) return request.json else: return 'Unknown Method', 500
def saveas(savetype): logger.info('Save Type : {0:s} - {1:s}'.format(str(savetype), str(request.method))) logger.debug('JSON : {0:s}'.format(str(request.json))) if request.method == 'POST': try: filename = '{0!s:s}.json'.format(request.json['title'].replace(' ', '_').lower()) if savetype == 'template': template_type = request.json['template_type'] if len(template_type.strip()) == 0: fullpath = os.path.abspath(os.path.join(bp.static_folder, 'templates', 'uncategorised', filename)) else: typedir = os.path.abspath(os.path.join(bp.static_folder, 'templates', template_type.strip().replace(' ', '_').lower())) if not os.path.exists(typedir): os.makedirs(typedir, exist_ok=True) fullpath = os.path.abspath(os.path.join(typedir, filename)) logger.info('Template File Name : {0!s:s}'.format(filename)) logger.info('>>>>>> Path to file {0!s:s}'.format(fullpath)) writeJsonFile(request.json, fullpath) return filename elif savetype == 'git': git_url, git_branch = request.json['git_repository'].split('*') git_commit_msg = request.json['git_repository_commitmsg'] if request.json['git_repository_filename'] != '': filename = request.json['git_repository_filename'].replace(' ', '_').lower() if not filename.endswith('.json'): filename = '{0!s:s}.json'.format(filename) if request.json['git_repository_directory'] != '': filename = os.path.join(request.json['git_repository_directory'], filename) parsed_git_url = giturlparse.parse(git_url) template_git_dir = os.path.abspath(os.path.join(bp.static_folder, 'templates', 'git')) if not os.path.exists(template_git_dir): os.makedirs(template_git_dir, exist_ok=True) git_repo_dir = os.path.abspath(os.path.join(template_git_dir, parsed_git_url.name)) if os.path.exists(git_repo_dir): repo = Repo(git_repo_dir) repo.remotes.origin.pull() else: repo = Repo.clone_from(git_url, git_repo_dir, branch=git_branch, no_single_branch=True) repo.remotes.origin.pull() fullpath = os.path.abspath(os.path.join(git_repo_dir, filename)) # Remove git info del request.json['git_repository'] del request.json['git_repository_directory'] del request.json['git_repository_filename'] del request.json['git_repository_commitmsg'] writeJsonFile(request.json, fullpath) repo.index.add(fullpath) repo.index.commit("commit changes from okit:" + git_commit_msg) repo.remotes.origin.push(git_branch) return filename except Exception as e: logger.exception(e) return str(e), 500