nodiscc / hecat

Generic automation tool around data stored as plaintext YAML files
GNU General Public License v3.0
29 stars 5 forks source link

Use GitHub GraphQL for Metadata fetching (with new metadata fields) #138

Open Rabenherz112 opened 4 months ago

Rabenherz112 commented 4 months ago

I am currently trying to implement https://github.com/awesome-selfhosted/awesome-selfhosted-data/issues/84, as well as some other nice-to-have metadata (which I personally would like to see, such as the current release and release date), which means fetching the metadata over the GrapSQL API instead of the Python package used.

I don't to anything normally with python so I happy enough that the current code seems to work? There will probably still be a lot to re-write and change. Sorry in advance for the quality of the code.

I didn't get the Batch to be 100 as GitHub already returns an error with 75 or more (I have no clue why).

New metadata preview:

name: Paperless-ngx
website_url: https://docs.paperless-ngx.com/
description: Scan, index, and archive all of your paper documents with an improved interface (fork of Paperless).
licenses:
  - GPL-3.0
platforms:
  - Python
  - Docker
tags:
  - Document Management
source_code_url: https://github.com/paperless-ngx/paperless-ngx
demo_url: https://demo.paperless-ngx.com/
stargazers_count: 17058
updated_at: '2024-05-07'
archived: false
current_release:
  tag: v2.8.1
  published_at: '2024-05-07'
commit_history:
  2024-05: 46

Edit: There are probably still things that need to be done, like tests. I also created a bug that I can't seem to fix? Currently, the metadata is assigned to the wrong file, but I don't understand why.

nodiscc commented 4 months ago

Thank you. I will review this and https://github.com/nodiscc/hecat/pull/133 when I get some time, it might take a while, I will do it eventually but don't know when.

Rabenherz112 commented 4 months ago

Pending Issues have been fixed, and a test has been done by running a full metadata processing on the awesome-selfhosted-data repository.

Some things in the code still have open Questions; see comments marked with TODO:.