Commit Graph

12 Commits

Author SHA1 Message Date
Senis
70628dd938
Update ZTEG and HWTC API implementations and logging changes
This commit updates ZTEG and HWTC implementation with refreshed logic around handling channels and EPGs data. It also includes minor changes in logging information for clarity. Deleted 'config.example.yaml' file. Additionally, implemented new test cases to validate these changes.
2024-01-21 12:23:39 +08:00
Senis
e4c79cd316
Refactor API structure and split IPTV providers
The project structure has been refactored to separate each IPTV provider into its individual module. Also, created a clear interface for the API client. This greatly improves code readability and maintainability by separating concerns based on the provider. Now, it is easier to add or modify a provider. Additionally, the API client interface ensures a standard way to interact with different providers.

Refactor GitHub workflow and add snapshot workflow

In the `release.yml` workflow, `workflow_dispatch` has been removed as it's redundant. Meanwhile, a new file `snapshot.yml` has been added to handle the creation and uploading of snapshots. This workflow includes steps for setup, go releaser and uploading the assets.
2024-01-19 17:46:28 +08:00
Senis
8d6eeb4b79
Update release files 2024-01-16 11:05:39 +08:00
Senis
b874888414
Implement GoReleaser for project distribution
Added a '.goreleaser.yml' configuration file to automate the build process across different OS: Linux, Windows, and Darwin. Also, adjusted 'ci.yml' in GitHub Actions for compatibility with GoReleaser. Moreover, made changes to '.gitignore' for ignoring created distributions and altered the Dockerfile. Version information now includes build date and has been incorporated into the .goreleaser.yml configuration.
2024-01-16 00:10:58 +08:00
Senis
d1923d9708
Update controller concurrency and Dockerfile, provide detailed version info
Enhanced the 'controller.go' file to enforce a maximum concurrency limit of 16. Also made changes in Dockerfile including setting a new repository mirror, adding git for using git commit hash at build which can be displayed through 'version.go'. This commit leads to an improved application performance, more streamlined build process and detailed version information.

Update CI/CD workflow in GitHub Actions

Changed the 'ci.yml' configuration file to trigger build process on each push event for any tag. This change optimizes the workflow to ensure code is tested and integrated on every version increment without waiting for a pull request.
2024-01-15 20:02:31 +08:00
Senis
89e6fd6ac0
Refactor controller logic, update Dockerfile and version visuals
Revised the condition statement in 'controller.go' to ensure maximum concurrency doesn't exceed 16. Adjusted the Dockerfile to change the repository mirror, add git, and include the git commit in the build. Updated 'version.go' to present the commit version and enhance the descriptor's detail. These changes aim to optimize the application's operation, build process, and provide more informative version details.
2024-01-12 16:24:31 +08:00
Senis
480c5733bd
Adjust cron schedule and refactor logging and testing code
Adjusted cron job schedule in 'config.example.yaml' from every minute to every 12 hours to optimize performance. Refactored logging field names for consistency in 'server.go'. Improved unit tests in 'server_test.go' and changed variable names from 'handler' to 'server' for better readability and understanding of the role. Also included middleware for data compression by implementing gzip.
2024-01-10 06:48:36 +08:00
Senis
9b243c5dde
Refactor 'handler' to 'server' and enhance version log
Renamed 'handler' package to 'server' to better reflect its role. Improved version logging by changing it to a string return function, enabling more flexible use of version information. Added version details to the start of the Controller's Start() method.
2024-01-08 20:41:58 +08:00
Senis
e06e2e7aec
Update EPG filtering and improve time parsing
This commit refactors EPG filtering methods to be contained within the EPG struct, enhancing code organization and readability. Additionally, time parsing has been centralized through an infra package enhancing functionality and promoting code reuse. This restructuring ultimately optimizes maintainability and usage.
2024-01-07 19:28:07 +08:00
Senis
86c44e913b
Refactor EPG filtering and time parsing functions
This commit includes the refactoring of EPG filtering function inside the EPG struct instead of being stand-alone. It also changes the time parsing to use a centralized function from the newly introduced infra package. The transformation optimizes code maintenance and usage by localizing related functions and promoting code reusability.
2024-01-06 22:16:20 +08:00
Senis
fe53df21b7
Update EPG model and parsing mechanisms
This commit revises the EPG model's struct tag to include mapstructure along with json. It also includes an implementation switch from goquery and otto to mapstructure for data parsing. This removes dependencies on PuerkitoBio/goquery and robertkrimen/otto. The commit also includes some minor code refactors for the more efficient handling of EPG data along with a version bump to 0.0.3.
2024-01-05 23:25:33 +08:00
Senis
8b3020e086
Initial commit 2024-01-05 08:47:10 +08:00