[Eagle API]使用python保存所有文件夹层级信息

2023-10-31

api : https://www.yuque.com/augus-gsjgn/eagle-api/pq0y2y

var requestOptions = {
  method: 'GET',
  redirect: 'follow'
};

fetch("http://localhost:41595/api/folder/list?token=YOUR_API_TOKEN", requestOptions)
  .then(response => response.json())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));

输出成功

在这里插入图片描述
在这里插入图片描述

python代码

import requests
import json
import os

url = "http://localhost:41595/api/folder/list?token=YOUR_API_TOKEN"
output_folder = "Eagle_json"

def traverse_folder_hierarchy(folder, indent_level=0):
    indent = "    " * indent_level
    folder_info = indent + folder["name"] + "\n"
    
    if "children" in folder:
        for child in folder["children"]:
            folder_info += traverse_folder_hierarchy(child, indent_level + 1)
    
    return folder_info

response = requests.get(url)
data = response.json()

if response.status_code == 200 and data["status"] == "success":
    folders = data["data"]
    
    # 构建完整的 JSON
    output_json_full = json.dumps(data, indent=4)
    
    # 创建保存 JSON 的文件夹(如果不存在)
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    # 保存完整的 JSON 到文件中
    output_file_full = os.path.join(output_folder, "folder_hierarchy_full.json")
    with open(output_file_full, "w") as file:
        file.write(output_json_full)
    
    print("Folder hierarchy saved to", output_file_full)
    
    # 构建缩略信息的 JSON 和文本内容
    folder_hierarchy_data = {
        "folder_names": []
    }
    folder_hierarchy_text = ""
    
    for folder in folders:
        folder_hierarchy_data["folder_names"].append(folder["name"])
        folder_hierarchy_text += folder["name"] + "\n"
        
        if "children" in folder:
            for child in folder["children"]:
                folder_hierarchy_data["folder_names"].append("    " + child["name"])
                folder_hierarchy_text += "    " + child["name"] + "\n"
    
    # 保存缩略信息的 JSON 到文件中
    output_json_thumbnail = json.dumps(folder_hierarchy_data, indent=4)
    output_file_thumbnail = os.path.join(output_folder, "folder_hierarchy_thumbnail.json")
    with open(output_file_thumbnail, "w") as file:
        file.write(output_json_thumbnail)
    
    print("Folder hierarchy thumbnail saved to", output_file_thumbnail)
    
    # 保存缩略信息的文本文件
    output_file_text = os.path.join(output_folder, "folder_hierarchy_thumbnail.txt")
    with open(output_file_text, "w") as file:
        file.write(folder_hierarchy_text)
    
    print("Folder hierarchy thumbnail saved to", output_file_text)
else:
    print("Error occurred:", data)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Eagle API]使用python保存所有文件夹层级信息 的相关文章

随机推荐

  • Android之RecyclerView线性列表、网格列表实现滑动到指定位置并置顶

    文章目录 前言 一 使用步骤 1 LinearLayoutManager 2 GridLayoutManager 3 LinearSmoothScroller 4 使用 总结 前言 在日常开发中 我们经常会遇到选择事物的需求 例如单选多选
  • Alibaba开源框架COLA的个人心得--COLA框架各层职责

    COLA框架各层职责 1 官网定义 1 适配层 Adapter Layer 负责对前端展示 web wireless wap 的路由和适配 对于传统B S系统而言 adapter就相当于MVC中的controller 2 应用层 Appli
  • 快速排序,快速选择排序,选择排序的区别

    选择排序是对整体序列进行排序 快速排序也是对整体序列进行排序 快速选择算法是快速在未排序的数组中寻找第k小 大的元素 快速选择算法和快速排序的思想是找基准点 在基准点左边的都比他小 然后在基准点右边的都比大这样 但是这两个算法的目的不同 所
  • 硬币系列二

    最近搞了一些稀奇硬币 老潘把他们都用手机拍了下来 但是由于手机镜头焦距所限 并不能让硬币充满整个画面 所以很自然的想法就是 把硬币从图片中裁剪出来 一个正常人的做法是 把需要拍摄特写的物品放在纯净颜色的背景上 这种做法其实也有利于后期的抠图
  • STM32--CAN ID过滤器分析

    1 前言 在CAN协议里 报文的标识符不代表节点的地址 而是跟报文的内容相关的 因此 发送者以广播的形式把报文发送给所有的接收者 节点在接收报文时 根据标识符 CAN ID 的值决定软件是否需要该报文 如果需要 就拷贝到SRAM里 如果不需
  • 配合插件flatten-maven-plugin及${revision}属性在maven多模块项目中可进行全局版本号管理

    父pom
  • 【原创】基于FPGA的数码管按键显示(two_key)

    文档说明 一 背景介绍 心理一直有个疙瘩 总感觉不把数码管玩的溜些 觉得少了些什么东西 念头不通畅 说什么也要拿下 于是 有了这篇文档的产生 二 项目需求 选用开发板上的2个按键 当s1按下后 key cnt计数加2 当s2按下后 key
  • 函数printf()的格式转换

    知识点自用 c语言程序设计p43
  • C# 简介(详细)

    C 是一个现代的 通用的 面向对象的编程语言 它是由微软 Microsoft 开发的 由 Ecma 和 ISO 核准认可的 C 是由 Anders Hejlsberg 和他的团队在 Net 框架开发期间开发的 C 是专为公共语言基础结构 C
  • Android Framework学习(七)之Thread类以及常用同步类

    前言 Thread类是Android为线程操作而做的一个封装 代码在Thread cpp中 其中还封装了一些与线程同步相关的类 本篇博客 我们一起学习Thread类以及常用同步类 Thread类 Thread类的构造函数中的有一个canCa
  • 漫画:什么是服务熔断?

    点击上方 程序员小灰 选择 置顶公众号 有趣有内涵的文章第一时间送达 小灰的答题策略 是遇到难题不断思考 不断思考 一直到考试结束为止 可以用下面这张图流程图来表示 大黄的答题策略 是遇到难题先尝试几次思考 如果尝试一定次数不成功 则果断放
  • vcruntime140_1.dll文件下载及安装方法,详细修复方案

    最近在玩游戏跟打开ps的时候 电脑莫名出现上出现了一个名为vcruntime140 1 dll的错误提示 这个错误提示让我无法正常运行一些软件和游戏 给我的电脑使用带来了很大的困扰 第一时间我就在网上翻阅各种关于vcruntime140 1
  • Python机器视觉--OpenCV进阶(核心)--滤波器之卷积介绍

    滤波器之卷积介绍 1 卷积 1 1 什么是图片卷积 图像卷积就是卷积核在图像上按行滑动遍历像素时不断的相乘求和的过程 1 2 卷积步长 步长就是卷积核在图像上移动的步幅 上面例子中卷积核每次移动一个像素步长的结果 如果将这个步长修改为2 结
  • 根据指定时间获取时间(日,周,月,季度,年)

    package Test import java text ParseException import java text SimpleDateFormat import java util TODO author biao date 20
  • linux下安装使用libuuid

    UUID简介 UUID含义是通用唯一识别码 Universally Unique Identifier 这 是一个软件建构的标准 也是被开源软件基金会 Open Software Foundation OSF 的组织应用在分布式计算环境 D
  • 基于python的socket通信

    准备阶段 需要导入socket库和threading库 如没有请自行安装 本次任务是在python3 9的编译器下运行 版本可自己选择 并不需要相同 关于socket socket 的典型应用就是 Web 服务器和浏览器 浏览器获取用户输入
  • 01 shell脚本中常用命令

    shell 常用命令 数据检索命令 过滤 grep egrep 字符串检索 cut tr 数据处理命令 数据排序 sort 数据去重 uniq 文本数据合并 paste 数据输出 tee 数据处理 xargs 1 grep 负责从数据源中检
  • Python logging 模块

    Python logging 模块 给大家剖析下Python的logging模块 logging模块是Python内置的一个强大易用的日志模块 简单到你只需要两行代码就能输出一些东西来 import logging logging warn
  • 【SDG精读与代码复现】More Control for Free Image Synthesis with Semantic Diffusion Guidance【SDG】

    SDG精读与代码复现 More Control for Free Image Synthesis with Semantic Diffusion Guidance SDG 一 前言 二 论文介绍 1 文章主旨思想背景介绍 2 方法 3 实验
  • [Eagle API]使用python保存所有文件夹层级信息

    api https www yuque com augus gsjgn eagle api pq0y2y var requestOptions method GET redirect follow fetch http localhost