def __call__(self):
        
        logger.info('Running source code watcher')
        while True:
            app_path = os.path.abspath(self.path)
            
            css_path = os.path.join(app_path, 'static', 'css')
            js_path = os.path.join(app_path, 'static', 'js')

            static_files = [f for f in glob.glob(css_path + '/*') if os.path.isfile(f)]
            static_files += [f for f in glob.glob(css_path + '/**/*') if os.path.isfile(f)]
            static_files += [f for f in glob.glob(js_path + '/*') if os.path.isfile(f)]
            static_files += [f for f in glob.glob(js_path + '/**/*') if os.path.isfile(f)]

            for f in static_files:
                try:
                    mtime = os.path.getmtime(f)
                    if f not in self.statics or mtime > self.statics[f]['mtime']:
                        if f in self.statics and mtime > self.statics[f]['mtime']:
                            logger.debug('Found new file update for: {0}'.format(f))
                        if f.startswith(css_path):
                            data = self.process_css(f)
                        elif f.startswith(js_path):
                            data = self.process_js(f)
                        self.statics[f] = {'mtime': mtime, 'data': data}
                except __HOLE__ as e:
                    # ignoring OS Errors since it could be an editor creating 
                    # scratch files momentarily
                    pass

            time.sleep(1.0)
dataset/ETHPy150Open glennyonemitsu/MarkupHiveSDK/sdklib/wsgi.py/SourceWatcher.__call__