Skip to content

NatLee/Eagle-Wrapper

Repository files navigation

Eagle Wrapper

Eagle Wrapper - A wrapper for Eagle API

PyPI pyversions PyPI implementation

Test Release

PyPI status PyPI license

PyPI version fury.io

PyPI download month PyPI download week PyPI download day

forthebadge made-with-python


This is a python wrapper for a image and design management software named Eagle.

Its official website is https://eagle.cool/.

API Reference

This wrapper is reference from Eagle Official API documentation

List APIs are available in this wrapper.

Applications

  • /api/application/info -> get_application_info

Folder

  • /api/folder/create -> create_folder
  • /api/folder/rename -> rename_folder
  • /api/folder/update -> update_folder
  • /api/folder/list -> list_folders
  • /api/folder/listRecent -> get_recent_folders

Item

  • /api/item/addFromURL -> add_from_url
  • /api/item/addFromURLs -> add_from_urls
  • /api/item/addFromPath -> add_from_path
  • /api/item/addFromPaths -> add_from_paths
  • /api/item/addBookmark -> add_bookmark
  • /api/item/info -> get_item_info
  • /api/item/thumbnail -> get_thumbnail_path
  • /api/item/list -> list_items
  • /api/item/moveToTrash -> move_to_trash
  • /api/item/refreshPalette -> refresh_palette
  • /api/item/refreshThumbnail -> refresh_thumbnail
  • /api/item/update -> update_item

Library

  • /api/library/info -> get_library_info
  • /api/library/history -> get_library_history
  • /api/library/switch -> switch_library

Usage

pip install EagleWrapper

Notice: You need open Eagle when using this wrapper or it cannot find your host of Eagle.

Method

  • get_img_info_from_lib_path

This is a method of searching file metadata.json of images from directly library folder, so it will fast than using get_img_list_info.

from eaglewrapper import Eagle
eagle = Eagle()
source_path = '/my/lib/path/example/測試.library' # your library path
name_start_filters = ['example', 'ぼ'] # your filters with the image name
image_info = eagle.get_img_info_from_lib_path(source_path, name_start_filters)
  • add_from_url
from eaglewrapper import Eagle
eagle = Eagle()
url = 'https://s.yimg.com/ny/api/res/1.2/1ui_Mvv4s2Gtmr4uZdP.mA--/YXBwaWQ9aGlnaGxhbmRlcjt3PTk2MDtoPTY4NDtjZj13ZWJw/https://s.yimg.com/os/creatr-uploaded-images/2022-11/1f7132d0-5e6a-11ed-b7bd-ba3b4a3aed4f'
name = 'ぼっち・ざ・ろっく!'
tags = ['ぼっち', 'ろっく']
website = 'https://tw.news.yahoo.com/bocchi-the-rock-071607480.html'
annotation = 'This is an example ;)'
eagle.add_from_url(url, name, tags, website, annotation)

This output will show in Eagle:

add-from-url

  • get_img_list_info

List image INFO which name starting with in limit 10.

from eaglewrapper import Eagle
eagle = Eagle()
max_image_number = 10 # maximum number of images for searching
name_start_filter = 'ぼ' # search filters
image_list_info = eagle.get_img_list_info(max_image_number, name_start_filter)

The output is:

[{
    "id": "LG3YCGZW5QH1B",
    "name": "ぼっち・ざ・ろっく!",
    "size": 219336,
    "btime": 1680715050765,
    "mtime": 1680715050880,
    "ext": "jpg",
    "tags": ["ぼっち", "ろっく"],
    "folders": [],
    "isDeleted": false,
    "url": "https://tw.news.yahoo.com/bocchi-the-rock-071607480.html",
    "annotation": "This is an example ;)",
    "modificationTime": 1680715050761,
    "height": 684,
    "width": 960,
    "noThumbnail": true,
    "palettes": [
        {
            "color": [196, 172, 154],
            "ratio": 33,
            "$$hashKey": "object:1775"
        },
        {
            "color": [48, 43, 43],
            "ratio": 26,
            "$$hashKey": "object:1776"
        },
        ...
        {
            "color": [225, 204, 205],
            "ratio": 2.66,
            "$$hashKey": "object:1783"
        }
    ]
}]

Contributor

Nat Lee
Nat Lee

License

MIT