rating-chgk-info: Client for rating.chgk.info API and CSV tables (documentation in Russian)
Клиент для REST API сайта рейтинга (rating.chgk.info) и функциональности, которой нет в REST API, но которая доступна через экспорт CSV. Также содержит REST-сервер для дополнительной функциональности, доступной через CSV
Документация по типам параметров и возвращаемых значений находится в RatingChgkInfo.Types
Документация по функциям для работы с REST API находится в RatingChgkInfo.Api
Документация по функциям для работы с CSV находится в RatingChgkInfo.NoApi
Примеры работы с библиотекой находятся в папке examples
В следующем большом релизе планируется заменить в части типов для REST API списки значений на множества (Set), например, для составов команд и т.п. Это должно повысить безопасность библиотеки, и не должно ухудшить возможности работы.
Пример использования:
-- Наша библиотека import RatingChgkInfo -- И немного стандартных библиотек import Control.Monad (forM, void) import Control.Monad.IO.Class (liftIO) import Data.List (nub) import Data.Time (LocalTime(..),fromGregorian,midnight) -- Точка входа в приложение main :: IO () main = void $ runRatingApi $ do -- Получим список всех очных турниров -- -- Функция tournaments получает одну страницу турниров, а функция getAllItems -- оборачивает подобные функции, чтобы пройтись по всем страницам. -- Далее из этого списка выбираются очные турниры 2018 года let s2018 = LocalTime (fromGregorian 2018 1 1) midnight e2018 = LocalTime (fromGregorian 2019 1 1) midnight tourns <- filter (\t -> trs_typeName t == Casual && trs_dateStart t >= s2018 && trs_dateEnd t <= e2018) <$> getAllItems tournaments -- Проходимся по полученному списку ts <- forM tourns $ \t -> do let ident = trs_idtournament t -- Получаем результаты турнира res <- tournamentResults ident -- Возвращаем названия команд-участниц pure (map tr_current_name res) -- Выводим, сколько уникальных названий было по всем турнирам liftIO (print (length (nub ts)))
[Skip to Readme]
Modules
[Index] [Quick Jump]
Downloads
- rating-chgk-info-0.3.6.5.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.3.6.3, 0.3.6.4, 0.3.6.5 |
---|---|
Change log | CHANGELOG.md |
Dependencies | aeson (>=1.4), base-noprelude (>=4.11), bytestring (>=0.10), cassava (>=0.5), containers (>=0.5), directory, http-client (>=0.5), http-client-tls (>=0.3), iconv (>=0.4), lens (>=4.17), network (>=2.8), optparse-generic (>=1.3), rating-chgk-info, relude (>=0.4.0), servant (>=0.16), servant-client (>=0.16), servant-js (>=0.9), servant-server (>=0.16), servant-swagger (>=1.1), swagger2 (>=2.2), tagsoup (>=0.14), text (>=1.2), time (>=1.8), vector (>=0.12), wai (>=3.2), warp (>=3.2), wreq (>=0.5) [details] |
Tested with | ghc ==8.4.3 |
License | BSD-3-Clause |
Copyright | 2018-2019 Mansur Ziiatdinov |
Author | Mansur Ziiatdinov |
Maintainer | gltronred@gmail.com |
Category | Utility |
Uploaded | by MZiatdinov at 2019-07-08T15:23:04Z |
Distributions | |
Executables | calendar-rating, extra-rating-api, example2, example1 |
Downloads | 1626 total (14 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2019-07-08 [all 1 reports] |