Giter Site home page Giter Site logo

miscord-dev / annict-epgstation-connector Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 234 KB

Annictの「見たい」作品をEPGStationの録画予約ルールへ同期するコマンド

License: Apache License 2.0

Go 95.00% Makefile 0.51% Shell 2.29% Dockerfile 2.20%
annict cli epgstation golang

annict-epgstation-connector's Introduction

annict-epgstation-connector

How to use

$ export ANNICT_API_TOKEN="your-own-annict-api-token"
$ export EPGSTATION_ENDPOINT="http://localhost:8888/api"
$ ./annict-epgstation-connector sync

annict-epgstation-connector's People

Contributors

dependabot[bot] avatar musaprg avatar renovate[bot] avatar tsuzu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

tsuzu

annict-epgstation-connector's Issues

Add daemon mode

cronとかで動かせばいいけど設定が面倒なので

録画データとタイトル・話数の紐付け機能

番組表データは”””人の温もり”””を感じるデータになっており、単純なロジックで番組表のタイトルから正確に話数とタイトル名を抽出するのは難しい。JellyfinやPLEX等で良い感じに表示する場合には、正確にタイトル・話数と録画データを対応づける必要がある。

そこで、Annictのデータをうまいこと使って、録画データとタイトル・話数の紐付けをしたい

全ルールに共通して入れる除外ワード機能

「あっちこっち」や「ぼくらの」といった比較的一般的なタイトルは、子供向け番組の説明欄とマッチして不要な番組が録画されてしまうことがある。(よく録画リストに現れるもの:はなかっぱしまじろうきかんしゃトーマス

これらについてはキーワードで弾くことができるため、全ルールに共通して入れる除外ワードを指定できるようにすることで解決したい。

EPGの仕様に準拠したルールを追加するようにする

EPGの仕様の関係?でタイトルが中途半端なところで切れているケースを確認した。どうやら40文字程度が上限のようなので、検索にちゃんとひっかかるようなルールを作成しないといけない。

Annict側:「真の仲間じゃないと勇者のパーティーを追い出されたので、辺境でスローライフすることにしました2nd」
EPG側:「[新]真の仲間じゃないと勇者のパーティーを追い出されたので、辺境でスローライフするこ」

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

dockerfile
Dockerfile
  • golang 1.22
github-actions
.github/workflows/docker.yml
  • actions/checkout v4
  • docker/setup-qemu-action v3
  • docker/setup-buildx-action v3
  • docker/login-action v3
  • docker/metadata-action v5
  • docker/build-push-action v6
.github/workflows/release.yml
  • actions/checkout v4
  • actions/setup-go v5
  • actions/create-github-app-token v1
  • goreleaser/goreleaser-action v6
.github/workflows/reviewdog.yml
  • actions/checkout v4
  • reviewdog/action-golangci-lint v2
gomod
go.mod
  • go 1.21
  • go 1.22.6
  • github.com/Khan/genqlient v0.7.0
  • github.com/cockroachdb/pebble v1.1.2
  • github.com/getkin/kin-openapi v0.123.0
  • github.com/labstack/echo/v4 v4.11.4
  • github.com/oapi-codegen/runtime v1.1.1
  • github.com/prometheus/client_golang v1.19.1
  • github.com/urfave/cli/v2 v2.27.4
  • go.uber.org/multierr v1.11.0
  • golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842@9bf2ced13842

  • Check this box to trigger a request for Renovate to run again on this repository

リファクタリング

書き殴りにより見るに堪えない状態なのでリファクタリングする(v2?)

v0.3.1でDocker経由だとルールの追加が正常に完了しない

$ docker-compose logs annict-epgstation-connector
Attaching to annict-epgstation-connector
annict-epgstation-connector    | 2024/01/04 18:02:24 INFO start sync in daemon mode interval=3600
annict-epgstation-connector    | 2024/01/04 18:02:24 INFO syncing...
annict-epgstation-connector    | 2024/01/04 18:02:28 INFO finish sync and sleep interval=3600

annict_epgstation_connector_syncer_recording_rule_synced以外のメトリクスは出てるのでなぜかruleの登録だけskipされている?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.