From 6ae40aa511e307d0a3340983ca13a2b17f56ea5f Mon Sep 17 00:00:00 2001
From: Ellis Percival <flyte@failcode.co.uk>
Date: Wed, 26 Jul 2017 11:28:21 +0100
Subject: [PATCH] Include config.schema.yml in package and load it from
 installed location. Closes #13

---
 MANIFEST.in            | 2 +-
 pi_mqtt_gpio/server.py | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/MANIFEST.in b/MANIFEST.in
index 266105e..6c5f1f9 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,3 @@
 # http://packages.python.org/distribute/setuptools.html#including-data-files
 include *requirements.txt
-recursive-include *.yml
+recursive-include . *.yml
diff --git a/pi_mqtt_gpio/server.py b/pi_mqtt_gpio/server.py
index 64552bb..6ced67b 100644
--- a/pi_mqtt_gpio/server.py
+++ b/pi_mqtt_gpio/server.py
@@ -3,6 +3,7 @@ import logging
 import yaml
 import sys
 import socket
+import os
 from time import sleep, time
 from importlib import import_module
 
@@ -28,8 +29,10 @@ SET_ON_MS_TOPIC = "set_on_ms"
 SET_OFF_MS_TOPIC = "set_off_ms"
 OUTPUT_TOPIC = "output"
 INPUT_TOPIC = "input2"
+
 # @TODO: Don't load this at module level
-with open("config.schema.yml") as schema:
+THIS_DIR = os.path.dirname(os.path.realpath(__file__))
+with open(os.path.join(THIS_DIR, "..", "config.schema.yml")) as schema:
     CONFIG_SCHEMA = yaml.load(schema)
 
 _LOG = logging.getLogger(__name__)
-- 
GitLab