hsautogui-0.1.0: src/AutoGUI/Run.hs
module AutoGUI.Run
( runAutoGUI
, AutoGUIT(..)
, AutoGUI(..)
)
where
import Control.Monad
import Control.Monad.IO.Class
import Control.Monad.Reader
import qualified CPython as Py
import qualified CPython.Constants as Py
import qualified CPython.Protocols.Object as Py
import qualified CPython.Types as Py
import qualified CPython.Types.Module as Py
newtype AutoGUIT m a =
AutoGUIT { unAutoGUI :: ReaderT Py.Module m a }
deriving (Functor, Applicative, Monad, MonadIO, MonadReader Py.Module)
type AutoGUI = AutoGUIT IO
runAutoGUI :: AutoGUI a -> IO a
runAutoGUI autogui = do
Py.initialize
autoguiModule <- Py.importModule "pyautogui"
runReaderT (unAutoGUI autogui) autoguiModule