Merge branch 'master' of https://git.wmi.amu.edu.pl/s473558/profun
This commit is contained in:
commit
642bab0ba2
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/dist-newstyle
|
@ -11,3 +11,8 @@ This project makes use of the following dependencies (specified in `profun.cabal
|
|||||||
* http-client-tls (for API requests)
|
* http-client-tls (for API requests)
|
||||||
* http-conduit (for API requests)
|
* http-conduit (for API requests)
|
||||||
* aeson (JSON parsing)
|
* aeson (JSON parsing)
|
||||||
|
* http-client
|
||||||
|
* http-client-tls
|
||||||
|
* http-conduit
|
||||||
|
* Chart
|
||||||
|
* Chart-diagrams
|
||||||
|
@ -1,12 +1,15 @@
|
|||||||
{-# LANGUAGE OverloadedStrings #-} --needed for ByteString arguments
|
{-# LANGUAGE OverloadedStrings #-} --needed for ByteString arguments
|
||||||
import Network.HTTP.Simple
|
import Network.HTTP.Simple
|
||||||
import System.Environment (lookupEnv)
|
import System.Environment (lookupEnv)
|
||||||
|
import Plot
|
||||||
|
|
||||||
|
|
||||||
main :: IO ()
|
main :: IO ()
|
||||||
main = do
|
main = do
|
||||||
apiKey <- getWeatherKey
|
apiKey <- getWeatherKey
|
||||||
let todayRequest = apiRequestBuilder apiKey "today"
|
let todayRequest = apiRequestBuilder apiKey "today"
|
||||||
response <- httpJSON todayRequest :: IO (Response ())
|
response <- httpJSON todayRequest :: IO (Response ())
|
||||||
|
generatePlot 20 30 25 --example
|
||||||
putStrLn $ show todayRequest
|
putStrLn $ show todayRequest
|
||||||
putStrLn $ show $ getResponseStatusCode response
|
putStrLn $ show $ getResponseStatusCode response
|
||||||
--apiResponse <- httpJSON "http://httpbin.org/get" :: IO (Response ()) -- specifying type as httpJSON return value is ambigious
|
--apiResponse <- httpJSON "http://httpbin.org/get" :: IO (Response ()) -- specifying type as httpJSON return value is ambigious
|
||||||
|
15
app/Plot.hs
Normal file
15
app/Plot.hs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
module Plot where
|
||||||
|
import Graphics.Rendering.Chart.Easy
|
||||||
|
import Graphics.Rendering.Chart.Backend.Diagrams
|
||||||
|
|
||||||
|
|
||||||
|
formatData :: Double -> Double -> Double -> [(Int, Double)]
|
||||||
|
formatData yday tday tmrw = [(0, yday), (1, tday), (2, tmrw)]
|
||||||
|
|
||||||
|
|
||||||
|
generatePlot :: Double -> Double -> Double -> IO ()
|
||||||
|
generatePlot yday tday tmrw = toFile def "plot/weather.svg" $ do
|
||||||
|
layout_title .= "Yesterday, Today, and Tomorrow's Temperatures"
|
||||||
|
layout_margin .= 30
|
||||||
|
layout_x_axis . laxis_generate .= autoIndexAxis ["Yesterday", "Today", "Tomorrow"]
|
||||||
|
plot $ line "Degrees Celsius" [formatData yday tday tmrw]
|
3
plot/weather.svg
Normal file
3
plot/weather.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 103 KiB |
@ -58,7 +58,7 @@ executable profun
|
|||||||
main-is: Main.hs
|
main-is: Main.hs
|
||||||
|
|
||||||
-- Modules included in this executable, other than Main.
|
-- Modules included in this executable, other than Main.
|
||||||
-- other-modules:
|
other-modules: Plot
|
||||||
|
|
||||||
-- LANGUAGE extensions used by modules in this package.
|
-- LANGUAGE extensions used by modules in this package.
|
||||||
-- other-extensions:
|
-- other-extensions:
|
||||||
@ -68,6 +68,8 @@ executable profun
|
|||||||
http-client ^>=0.7.17,
|
http-client ^>=0.7.17,
|
||||||
http-client-tls ^>=0.3.6.3,
|
http-client-tls ^>=0.3.6.3,
|
||||||
http-conduit ^>=2.3.8.3,
|
http-conduit ^>=2.3.8.3,
|
||||||
|
Chart ^>=1.9.5,
|
||||||
|
Chart-diagrams ^>=1.9.5,
|
||||||
aeson ^>=2.2.2.0
|
aeson ^>=2.2.2.0
|
||||||
|
|
||||||
-- Directories containing source files.
|
-- Directories containing source files.
|
||||||
|
Loading…
Reference in New Issue
Block a user