{"id":17252164,"url":"https://github.com/eagletmt/kaede","last_synced_at":"2025-04-14T05:34:39.934Z","repository":{"id":15745512,"uuid":"18484147","full_name":"eagletmt/kaede","owner":"eagletmt","description":"Scheduler for recpt1 recorder using Syoboi Calendar","archived":false,"fork":false,"pushed_at":"2019-05-02T11:49:29.000Z","size":204,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T16:29:53.435Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/eagletmt/kaede","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eagletmt.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-04-06T06:26:17.000Z","updated_at":"2020-01-02T17:47:01.000Z","dependencies_parsed_at":"2022-09-13T18:13:36.595Z","dependency_job_id":null,"html_url":"https://github.com/eagletmt/kaede","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fkaede","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fkaede/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fkaede/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eagletmt%2Fkaede/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eagletmt","download_url":"https://codeload.github.com/eagletmt/kaede/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248828450,"owners_count":21168048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T06:53:13.524Z","updated_at":"2025-04-14T05:34:39.901Z","avatar_url":"https://github.com/eagletmt.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kaede\n[![Gem Version](https://badge.fury.io/rb/kaede.svg)](http://badge.fury.io/rb/kaede)\n[![Build Status](https://api.travis-ci.org/eagletmt/kaede.svg)](https://travis-ci.org/eagletmt/kaede)\n[![Coverage Status](https://coveralls.io/repos/eagletmt/kaede/badge.png)](https://coveralls.io/r/eagletmt/kaede)\n[![Code Climate](https://codeclimate.com/github/eagletmt/kaede.png)](https://codeclimate.com/github/eagletmt/kaede)\n\nScheduler for recpt1 recorder using [Syoboi Calendar](http://cal.syoboi.jp/).\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'kaede'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install kaede\n\n## Usage\n### Requirements\n- SQLite3 or PostgreSQL\n- redis\n- recpt1\n- b25\n- [statvfs](https://github.com/eagletmt/eagletmt-recutils/tree/master/statvfs)\n- [clean-ts](https://github.com/eagletmt/eagletmt-recutils/tree/master/clean-ts)\n- [assdumper](https://github.com/eagletmt/eagletmt-recutils/tree/master/assdumper)\n\nSome of them should be optional, though.\n\n### Setup\n```sh\ngo get -u github.com/eagletmt/kaede/kaede-cli\n\ncp kaede.rb.sample kaede.rb\nvim kaede.rb\ngem install pg  # gem install sqlite3\nkaede db-prepare\n\ncp kaede.service.sample kaede.service\nvim kaede.service\n\nsudo cp kaede.service /etc/systemd/system/kaede.service\nsudo systemctl enable kaede.service\nsudo systemctl start kaede.service\n```\n\nAdd your available channels.\n\n```sh\nkaede-cli add-channel --recorder 16 --syoboi 19 MX\nkaede-cli add-channel --recorder 211 --syoboi 128 BS11\n...\n```\n\nAdd your favorite anime tids.\n\n```sh\nkaede-cli add-tid 3331\n...\n```\n\n### Operations\nUpdate programs and schedules. It supposed to be run periodically (by cron or systemd.timer).\n\n```sh\nkaede-cli update\n```\n\nList schedules.\n\n```sh\nkaede-cli list-programs\n```\n\nReload schedules (usually not needed).\n\n```sh\nkaede-cli reload\n```\n\nStop scheduler. The current scheduler process exits after all the running recorders finish.\n\n```sh\nkaede-cli stop\n```\n\n## What recorder does\n1. Post the earlier tweet (optional).\n2. Record the program into `record_dir` by recpt1.\n    - At the same time, decode into `cache_dir` by b25.\n    - At the same time, dump ass into `cache_dir` by assdumper.\n3. Post the later tweet (optional).\n4. Clean the recorded TS (in `cache_dir`) into `cabinet_dir`.\n5. Move dumped ass (in `cache_dir`) into `cabinet_dir`.\n6. Enqueue the filename into `redis_queue`.\n    - Use it as an encoder queue.\n    - My usage: https://github.com/eagletmt/eagletmt-recutils/tree/master/encoder\n\n## Contributing\n\n1. Fork it ( https://github.com/eagletmt/kaede/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagletmt%2Fkaede","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feagletmt%2Fkaede","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feagletmt%2Fkaede/lists"}