""" DO NOT MODIFY This file is used to validate your publish settings. """ from __future__ import print_function import os import sys import importlib components_package = 'dash_player' components_lib = importlib.import_module(components_package) missing_dist_msg = 'Warning {} was not found in `{}.__init__.{}`!!!' missing_manifest_msg = ''' Warning {} was not found in `MANIFEST.in`! It will not be included in the build! ''' with open('MANIFEST.in', 'r') as f: manifest = f.read() def check_dist(dist, filename): # Support the dev bundle. if filename.endswith('dev.js'): return True return any( filename in x for d in dist for x in ( [d.get('relative_package_path')] if not isinstance(d.get('relative_package_path'), list) else d.get('relative_package_path') ) ) def check_manifest(filename): return filename in manifest def check_file(dist, filename): if not check_dist(dist, filename): print( missing_dist_msg.format(filename, components_package, '_js_dist'), file=sys.stderr ) if not check_manifest(filename): print(missing_manifest_msg.format(filename), file=sys.stderr) for cur, _, files in os.walk(components_package): for f in files: if f.endswith('js'): # noinspection PyProtectedMember check_file(components_lib._js_dist, f) elif f.endswith('css'): # noinspection PyProtectedMember check_file(components_lib._css_dist, f) elif not f.endswith('py'): check_manifest(f)