From 0b274e62186ce93738e906ef3e4a6692dd3a40fe Mon Sep 17 00:00:00 2001
From: Holger Nahrstaedt <holger@nahrstaedt.de>
Date: Tue, 8 May 2018 07:22:16 +0200
Subject: [PATCH] Fix missing websocket dir for py36

---
 beempy-onedir.spec  | 13 +++++++++++--
 beempy-onefile.spec | 14 ++++++++++++--
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/beempy-onedir.spec b/beempy-onedir.spec
index e7c89089..e6f8516a 100644
--- a/beempy-onedir.spec
+++ b/beempy-onedir.spec
@@ -4,17 +4,26 @@ import os
 import glob
 import platform
 from PyInstaller.utils.hooks import exec_statement
+import websocket
+from os.path import join, dirname, basename
 
 block_cipher = None
 os_name = platform.system()
 binaries = []
 
-data_files = []
+websocket_lib_path = dirname(websocket.__file__)
+websocket_cacert_file_path = join(websocket_lib_path, 'cacert.pem')
+analysis_data = [
+    # For websocket library to find "cacert.pem" file, it must be in websocket
+    # directory inside of distribution directory.
+    # This line can be removed once PyInstaller adds hook-websocket.py
+    (websocket_cacert_file_path, join('.', basename(websocket_lib_path)))
+]
 
 a = Analysis(['beem/cli.py'],
              pathex=['beem'],
              binaries=binaries,
-             datas=data_files,
+             datas=analysis_data,
              hiddenimports=['scrypt', 'websocket'],
              hookspath=[],
              runtime_hooks=[],
diff --git a/beempy-onefile.spec b/beempy-onefile.spec
index f1aa69ad..53c0dcd5 100644
--- a/beempy-onefile.spec
+++ b/beempy-onefile.spec
@@ -4,17 +4,27 @@ import os
 import glob
 import platform
 from PyInstaller.utils.hooks import exec_statement
+import websocket
+from os.path import join, dirname, basename
 
 block_cipher = None
 os_name = platform.system()
 binaries = []
 
-data_files = []
+websocket_lib_path = dirname(websocket.__file__)
+websocket_cacert_file_path = join(websocket_lib_path, 'cacert.pem')
+analysis_data = [
+    # For websocket library to find "cacert.pem" file, it must be in websocket
+    # directory inside of distribution directory.
+    # This line can be removed once PyInstaller adds hook-websocket.py
+    (websocket_cacert_file_path, join('.', basename(websocket_lib_path)))
+]
+
 
 a = Analysis(['beem/cli.py'],
              pathex=['beem'],
              binaries=binaries,
-             datas=data_files,
+             datas=analysis_data,
              hiddenimports=['scrypt', 'websocket'],
              hookspath=[],
              runtime_hooks=[],
-- 
GitLab